#1 : 25/01-18 02:22 Andreas Toth
Posts: 5
|
What is wrong with the following script???
function(index, item) // No I don't include this line { // No I don't include this line var date = item.exifToolValue('DateTimeOriginal'); var source; if(date === null) { date = item.createdDate; source = 'FILE'; } else { source = 'EXIF'; } var options = { year: 'numeric', month: '2-digit', day: '2-digit', hour:'2-digit', minute: '2-digit' }; var prefix = new Intl.DateTimeFormat('en-US', options).format(date); return prefix + '_' + source + '_' + item.name; } // No I don't include this line By the way, I really don't want to have to specify a locale at all, but this the only way I know how. P.S. I wish the software had better error feedback. Maybe there is but I haven't found it. All I know is that my script has an error. What the error is I don't know but I wish the software could tell me so that I didn't have to contact support or post to the forum to work out what's wrong. Would speed up things immensely as well. |
#2 : 01/02-18 08:12 Brian Hanlon
Posts: 29
|
Reply to #1:
I don't know just what scripting language you are using, but 'if(date === null)' looks awful suspect to me, I have a gut feeling that it should be 'if(date == null)' - just based on the few scripting languages which I use myself. Hope it helps, Brian. Must have been half asleep when I wrote that, it is JS isn't it? - What is the intended purpose of the script? If it is just to retrieve the EXIF Date/Time from the file, surely the existing AR options handle that quite adequately? OK, after a sleep and a head-scratch, I still feel that the original 'if(date === null)' statement is where the problem lies. the === operator asks "equal value and equal type" and I don't think that you'll have the same type, even when the 'date' is returned as empty. - It is very likely that testing for '>= 0' may solve your problem. |