Author |
Message |
Registered: March 14, 2007 | Reputation: | Posts: 6,742 |
| Posted: | | | | Quoting StaNDarD: Quote: Quoting DJ Doena:
Quote: The biggest part of my code is input checking.
Your found code allows IVIV = 8, IXI = 10, IIII = 4 and so forth Collecting those data from IMDb shouldn't bring any incorrect numbers.
But if you're trying to code it for general purpose, you're totally right. Quoting DJ Doena: Quote: But I already had the roman numeral as a challenge on my plate. My code is including input checking (I probably wouldn't need it on IMDb, but it increased the challenge). | | | Karsten DVD Collectors Online
| | | Last edited: by DJ Doena |
|
Registered: March 31, 2007 | Posts: 662 |
| Posted: | | | | I just ran into a bug: Quote: Geburtsjahr von Crew-Mitglied "Richard Bruno" hat sich geändert. Alt: <Richard> [Bruno] (1924) Neu: <Richard> [Bruno] (1924) Überpüfe deinen DVD Profiler auf Konsistenz. In fact it had changed from (1925) to (1924). Not a big one but maybe you want to put it on a to-do-list. | | | | | | Last edited: by StaNDarD |
|
Registered: March 13, 2007 | Reputation: | Posts: 2,005 |
| Posted: | | | | Quoting DJ Doena: Quote: The biggest part of my code is input checking.
Your found code allows IVIV = 8, IXI = 10, IIII = 4 and so forth I am like you and I like such challenges. I have now written this input check (to be put in the beginning of my convert function): Quote: Regex RegEx = new Regex("^M*((CM)?|D?((CD)?|C{0,3}))((XC)?|L?((XL)?|X{0,3}))((IX)?|V?((IV)?|I{0,3}))$"); if (!RegEx.IsMatch(strRomanValue)) return -1; It worked with the above examples. You have dealed with this issue longer: Do you have further trouble makers I should try to throw at it? Or also positive cases. It may very well be that some are wrongfully rejected. | | |
| | | Last edited: by TomGaines |
|
Registered: March 14, 2007 | Reputation: | Posts: 6,742 |
| Posted: | | | | The rules for roman numerals are this:
The numbers have to be descending. You can substract C only from M and D You can substract X only from C and L You can substract I only from X and V D, L and V can only appear once C, X and I can only appear thrice in a row
Shortcut writing for 999 would be IM, but that would be considered "modern". The proper way is 900+90+9 = CMXCIX
Another false example would be VIV for 9 or LXL for 90. But LIX (59) is valid. | | | Karsten DVD Collectors Online
|
|
Registered: March 13, 2007 | Reputation: | Posts: 2,005 |
| |
Registered: March 14, 2007 | Reputation: | Posts: 6,742 |
| Posted: | | | | XXXIX = 39 is a valid number
(something my code also failed to recognize) | | | Karsten DVD Collectors Online
| | | Last edited: by DJ Doena |
|
Registered: March 13, 2007 | Reputation: | Posts: 2,005 |
| Posted: | | | | Quoting DJ Doena: Quote: XXXIX = 39 is a valid number
(something my code also failed to recognize) I am confused: Should it, or should it not be recognized as a valid number? My code considers it valid. | | |
|
|
Registered: March 14, 2007 | Reputation: | Posts: 6,742 |
| Posted: | | | | It is valid but my code threw it out because there were more than three X. That is, after i implemented the check for VIV. | | | Karsten DVD Collectors Online
|
|
Registered: May 22, 2011 | Posts: 34 |
| Posted: | | | | I do not know if this has been discussed before.
I am a new "Cast/Crew 2 Edit" user and I've stumbled across the following issue:
I've been using the plug-in in order to copy-paste cast-crew information mainly of Foreign movies that I've entered manually in DVD-Profiler. Most of them are Turkish. I noticed that the head-shots file names are saved in Unicode characters (in other way exactly as the appear in IMDB). Unfortunately transferring "cast-crew" indo through copy-paste into the DVD profliler , converts non-ASCII characters into ASCII. ie: Director's "Yilmaz Güney" head-shot is saved as "Yilmaz Güney.jpg" but the Directors name in DVD profliler is saved as "Yilmaz Guney" . When I backup DVD profiler Database it fails with error : Cannot find Yilmaz Guney.jpg. When I rename the jpg from "Yilmaz Güney.jpg" to "Yilmaz Guney.jpg" , I have no error.
I know that DVD profiler does not support Unicode Characters. Actually IMO it is the only drawback of the program .
So would it be possible for the plugin to save all head-shot files in ASCII characters ?
Thanks |
|
Registered: March 14, 2007 | Reputation: | Posts: 6,742 |
| |
Registered: May 22, 2011 | Posts: 34 |
| Posted: | | | | ok Let me be more specific
I've uploaded 3 files in http://www.ekoliniol.com/friends/public/Desktop.rar 1. I Downloaded info of Vizontele Tuuba http://www.imdb.com/title/tt0399854/ I see this : "Bülent Inal" on "Cast&Crew Edit 2". I click the "Generate Cast Information XML" I Paste it in an notepad and all characters are retained as they should be
See file :test.xml
2. Then I Open Cast & Crew Edit Plugin on DVD Profiler and I Select "Append Data From Clipboard" All Info is pasted correctly
See file : test.jpg
3. I click the "OK" button and then I see test2.jpg
As you can see the actor's name has changed into Bulent Inal
Obviously something is going wrong here.
Please bear in mind that I'm using Windows XP English and I've not Installed Turkish Language. |
|
Registered: March 14, 2007 | Reputation: | Posts: 6,742 |
| |
Registered: March 13, 2007 | Reputation: | Posts: 2,005 |
| |
Registered: May 22, 2011 | Posts: 34 |
| Posted: | | | | I think that notepad++ changed the character when I saved it as xml
Download http://www.ekoliniol.com/friends/public/Desktop2.rar see : new 1.txt You should see : <Actor FirstName="Bülent" MiddleName="" LastName="Inal" BirthYear="0" Role="Mahmut Duran" CreditedAs="" Voice="false" Uncredited="false" />
Anyway I know that information is copied correctly on clipboard, because I see it correcty when I paste in in the Cast & Crew Edit plugin , but DVP Profiler does not accept some characters.
See image 1.jpg
On the right is Bülent on notepad ++ with copy - paste On the left is the same word when I copy paste it in DVD Profiler !!! |
|
Registered: March 14, 2007 | Reputation: | Posts: 6,742 |
| Posted: | | | | I've just released a new version 1.7.0.0. It contains the ability to use the IMDb ID as fake birth year if a real one is not available. I've decided against the use of the roman numerals because - to be honest - I don't trust them to be constant enough for our purposes. Since the numeric range of the DVD Profiler birth year fields allows numbers between 1 and 65536 (64K) I've decided to use the last five digits if possible, else four digits. Here are the release notes from the readme: Quote:
- Bugfix when alerting about a new birth year
- New option to save the Log permanently. The default is OFF.
- New option to use fake birth years. The default is OFF.
If this option is used, all cast and crew member which do not have a birth year of their own (because birth years are generally not read from IMDb or IMDb has none for that particular person) get a fake birth year based on their IMDb ID.
This way you can distinguish between people who appear to be identical from DVD Profiler's point of view (see also the ReadMen of "Check for Duplicates in Cast/Crew Edit 2 Cache" farther down).
Bevor you start using the new fake birth years, you should use the programs "Check for Duplicates in Cast/Crew Edit 2 Cache" and "Compare ProfilerXML and Cast/Crew Edit 2 Cache" to compare the local cache of "Cast/Crew Edit 2" and your local DVD Profiler data and clean it if necessary. - New version of "Compare ProfilerXML and Cast/Crew Edit 2 Cache" (1.2.0.0) which can handle fake birth years. - New version of "Check for Duplicates in Cast/Crew Edit 2 Cache" (1.3.0.0) which can handle fake birth years. ReadMe of "Check for Duplicates in Cast/Crew Edit 2 Cache": Quote:
WARNING: Do NOT run "Check for Duplicates in Cast/Crew Edit 2 Cache" and "Cast/Crew Edit 2" at the same time.
DVD Profiler can distinguish people only by four criteria: Last Name First Name Middle Name Birth Year
If these four things are all IDentical DVD Profiler cannot tell these two people apart.
"Check for Duplicates in Cast/Crew Edit 2 Cache" helps you to find such possible collsions.
In the tab "Everything IDentical" you see all the entries that could be such mismatches.
"Could" because of the introduction of fake birth years, derived from the IMDb ID of the actors/actresses.
The comparison if two actors possibly clash is done under the exclusion of the fake birth year and only looks at the "real" data.
But IMDb is not perfect either. Sometimes they create a new actor page for an actor that already exists.
When they notice their mistake, one of the IDs is forwarded to the other, pretty much transparent to the user (only visible in the URL of the website).
By the time IMDb notices their mistake, you might already have both IDs in your local cache.
Until now this wasn't a problem because of DVD Profiler's concept. It simply merged these two entries again.
With the introduction of fake birth years it might happen that this one person is actually consIDered two different people in your local database.
Here's an example: The actor Benjamin Hoffman was listed under the IDs nm2200880 and nm1887263 in my local database, but both IDs led to the latter one, see: http://www.imdb.com/name/nm2200880/
To find these possibly IDentical people, switch to the "Everything IDentical" tab and check if the pairs are actually only one person. If so, simply remove the outdated ID.
If this outdated ID already has a fake birth year assigned you should check your DVD Profiler database and merge the actors there, too.
Another interesting case was Elizabeth Rodriguez whom I had as nm1879985 and nm3318694 but both IDs led to nm0735300 which I hadn't.
So I saved and closed "Check for Duplicates in Cast/Crew Edit 2 Cache", opened "Cast/Crew Edit 2" and scanned one of her works that has few cast in it (for time-saving purposes), in her case "Beadhead" http://www.imdb.com/title/tt0165634/
Now I had three IDs of hers in my cache and could savely remove the two outdated ones.
| | | Karsten DVD Collectors Online
|
|
Registered: March 31, 2007 | Posts: 662 |
| Posted: | | | | Quoting DJ Doena: Quote: Since the numeric range of the DVD Profiler birth year fields allows numbers between 1 and 65536 (64K) I've decided to use the last five digits if possible, else four digits. If I remember correctly, you're wrong. I think it's a signed small integer, so it's range should be -32768 to 32767. But I'm currently not at home, so I can't check it right now. | | | |
|