Home | Blog | Software | Reviews and Features | Forum | Help | Donate | About us
topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • December 08, 2016, 12:15:27 PM
  • Proudly celebrating 10 years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: IDEA: Event/release list maker for chronological listings  (Read 1105 times)

Rev01Yeti

  • Participant
  • Joined in 2013
  • *
  • Posts: 4
    • View Profile
    • Donate to Member
IDEA: Event/release list maker for chronological listings
« on: December 14, 2013, 05:27:37 PM »
Hello coders! I used some DC software since a while, I have to say they can be really handy, especially with these small Snack utilities filling niche needs. I thank you for all of your work.

Though I'm having an idea for a small program that would help me a bit, and others might find it useful too if they do online researching.

It would be basically a list-based program which takes text from the clipboard (preferably by selecting and drag&dropping text too, like as in modern browsers), determines a 1) date and a 2) name from the text snippet, and then puts them into the list, preferably sorted by the date.

For the date, it should recognize common date formats (yyyy-mm-yy, dd/mm/yy etc.), even partial dates (only "July of 1998" or "2013"). This certainly needs regex though, but I think if the dates are at either the front or the end of the selection text it would be easier to find it. It could ask the user with a pop-up message when in doubt about the exact date format in the case it could be multiple ones, for example 11/10/12 could be dd/mm/yy or mm/dd/yy or even yy/mm/dd in some European languages.

As for the name, by default it would be the text which is not the date part (the other half of the selection text). The whole regex process would be easier if the text would be stripped of any leading or trailing whitespace, including CR/LF linebreaks, which are often accidentally copied when people select text hastily.

When the program gets text dropped on it, it should display a window which asks for the correct date and name, prefilling it with it's best guess. Drag and drop isn't crucial, but it would make it more handy to use.

Examples:
" and the third GeekCon was organized by SuperTeam Ltd. in 2001" becomes "2001" and "and the third GeekCon was organized by SuperTeam Ltd. in", and
"12th of August, 1998 - Mad Racer for PlayStation" becomes "1998-08-12" and "- Mad Racer for PlayStation" after parsing, but they will be put into the list with a user-corrected "name" and a possibly user-corrected date scheme. Again, whitespace trimming may help with making things easier and prettier.

I think the date format presented in the list view should be customizable, and the list itself should be savable and loadable in a simple format. It's probably over the top, but an option to export text to the clipboard with MediaWiki-compatible list markup with possibly wikilinking each item name would be sweet.

It might be a bit much to tackle, especially with the date recognition part, but I think it would be quite the useful little tool for some people who want to compile a chronological list of things more easily.

Thank you for any reply!
« Last Edit: December 14, 2013, 06:16:04 PM by Rev01Yeti »

skwire

  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 4,668
    • View Profile
    • Donate to Member
Re: IDEA: Event/release list maker
« Reply #1 on: December 14, 2013, 07:31:58 PM »
Hi, Rev01Yeti, and welcome to the DonationCoder site.  Regarding your request, perhaps it might make more sense if you could provide us with an example of the text you're copying to the clipboard.  Then, show us what you'd expect your list to look like afterward.

Rev01Yeti

  • Participant
  • Joined in 2013
  • *
  • Posts: 4
    • View Profile
    • Donate to Member
Re: IDEA: Event/release list maker for chronological listings
« Reply #2 on: December 14, 2013, 08:47:49 PM »
Thank you. Sorry if it wasn't that clear. I can't really give concrete examples as I'm not doing any project right now to pull out "real" examples from, but there are a few ideas I had/have that would certainly benefit from such an utility. (Compiling a list of vehicles, albums, conventions etc.) My idea for this program is to take short text snippets/lines of text copied from various websites etc. and more or less automatically extract (at least try extracting) a "date" and a "name" from it. Each text snippet would be something like "date - event happened here bla bla" or "title was one of the works released by xy on date", and the point would be to try extracting these and making them into a savable/loadable sorted plain text list more easily and quickly.

But let's describe what I meant in general terms with a made-up example right now. I'll try my best to illustrate the intended logic.

This program would take small text snippets, either from the clipboard (the more usual way, it could monitor it, or it can have an input field), or either by drag-n-dropping, if that's technically feasible. (Browsers support selected text being dragged into the address bar, though that's in-app.)

An example, made-up text snippet: "the second MondoCon was organized on the 7th of July, 2007 "
(This contains both a full date and a name for a convention. Notice the unnecessary whitespace at the end of the string, as they are often get copied when users select a piece of text. Front and end whitespace/CRLF trimming should be employed before parsing anything.)

The text input would be parsed in some way, I guess with regex rules to find a date, which could be in a multitude of date formats (short/long etc.), both with months as numerals or as month names. A bonus would be an ability to detect partial dates (only year and month, or only year present).
In this example "7th of July, 2007" is the date, which happens to be in the format of "dth of MonthName, Year", but this could vary with each text snippet supplied to the program. It would parse the text and find the complete date if available (2007-07-07), or at least a partial date.

The rest of the text snippet (in the example, "the second MondoCon was organized on the ") would be considered the "name" associated with the date (it could be an event's name or an item's title), either if it was in front or after the date part.
Ideally, the name part parsed would be really literally a name for something, but since the user might copy a longer line of text (maybe to insert both the date and the name in one go, which is the point here), the program should offer a pop-up window to correct the date and name (MondoCon), pre-filling the two inputs with it's best guess (well, at least guessing the date from the text snippet and trimming the other, the name part of the text snippet to get rid of any extra whitespace again). It may ask here for the current text snippet's date notation format if it's ambiguous and it can't be decided automatically by looking at individual numbers making at the date. (As it's the case with "12/12/12", both year, month, and day can be 12.)

This date-name pair the program parsed and the user corrected ("2007-07-07" and "MondoCon") would go right into the list view, preferably sorted by the date. Optionally, the list could be sorted by the name part too. Each new text snippet would grow the list of dates and associated names. The list's date notation, as displayed to the user might be customizable with a few pre-set options, if it's feasible. (US/UK/EUR short format, ISO etc. but this is just more of a cosmetic option.)

This list could be saved and reloaded into/from a human-readable plain text file. Maybe a separate export option could write a plain text file using MediaWiki list formatting, optionally with each item's name part wikilinked.

MediaWiki list formatting would look something like this:

* 2007-07-07 MondoCon
* 2007-08-07 MondoCon2
* 2007-09-10 MondoCon3

or with wikilinking:

* 2007-07-07 [[MondoCon]]
* 2007-08-07 [[MondoCon2]]
* 2007-09-10 [[MondoCon3]]

I hope this clears it up a bit, sorry if the request was muddy. If needed, I can give more examples of what wild date formats I think the program would encounter in text snippets. Thanks for replying.
« Last Edit: December 14, 2013, 09:09:36 PM by Rev01Yeti »