-
-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use ExifToolWrapper with stayopen for parsing DirContents #52
Conversation
Issue with Lens and ISO columns - likely SideCar file is not yet respected |
Regarding UTF8 - I had to remove forcing exiftool to interpret internally the image's metadata as UTF8. Only the filename and StdOut is set to use UTF8. Then it worked... |
Build from #48 compared with latest commit shows identical data. For the three nef with lens data, XMP sidecars are in the folder. I've also briefly tested using the editform - works as well. Open:
|
Update - as the order in which the tags were used was wrong for country (XMP was behind IPTC). |
Hi @Urmel just a quick comment.
Can you double check this is still ok in the "model"-based world? |
Hi @nemethviktor, The three mentioned tags are used in SourcesAndAttributes.TagsToAttributesOrder:
So the mapping for "in" (i.e. reading EXIF Tags) did not change? Thanks! |
It's the Does that help? |
Model/DirectoryElementCollection.cs
Outdated
if (_ExifTool == null) | ||
throw new InvalidOperationException($"Cannot scan a folder (currently '{folder}') when the EXIF Tool was not set for the DirectoryElementCollection."); | ||
|
||
if (folder.EndsWith(value: @"\")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any particular reason for introducing this one?
This actually seems to cause a problem. I have a bit of an obscure setup on my computer but the logic is that the app sits on E:\Google Drive\Sajat\Jobs\Nem_Aktualis\Apps\GeoTagNinja\
- this folder (technically all of E:\Google Drive\*.*
) doesn't entirely exist though, it's a junction
based mirror of the G:\
(which is Google Drive, because when Google initially intro'd the then-new version of GD there wasn't an option to keep GD files anywhere other than their own drive letter, so I hacked it) - when we further down call string tmpStrParent = HelperStatic.FsoGetParent(path: folder);
it will try to get the parent of E:
and return a very odd path instead, in particular the debug (!!!) subfolder of the app - E:\Google Drive\Sajat\Jobs\Nem_Aktualis\Apps\GeoTagNinja\bin\Debug\
. So I can't navigate to E:
When we keep the \
[as in E:\
] the app works okay.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I actually just copy-pasted from the previous method HelperStatic.ExifGetExifFromFolder(string folderNameToUse). There, it read:
if (folderNameToUse.EndsWith(value: @"\")) { folderNameToUse = folderNameToUse.Substring(startIndex: 0, length: folderNameToUse.Length - 1); }
I guessed that it should ensure that there is no path used like "E:\folderA"... :)
That d... thing behaves differently - not nice:
But looking at the result C:\Temp\ versus C:\Temp, we should be fine by just removing this removal:
When it just relates to the out part. This should not affect the code in this PR.... |
Regarding your comment on performance:
This is reproducible. The performance is not lost in reading or EXIFing, but in setting up the list view. There is a screen update every item... I solved it by removing the updates while adding items to the list view. The longest time is spent parsing EXIF data, which has no updates to the list view. The actual adding of items then is quite fast if we do not explicitely jump to every item added ;) |
Fixed the Folder Up issue and the long load times of a folders only folder with latest commit... |
Sorry I wasn't clear enough. The "remove data" issue wasn't due to the code in the PR....hence my recent update to the objectmapping sqlite file. |
Vaguely related but I'm thinking since the other issues (tickets, the ones unrelated to stay-open and DE) are solved I could push current Dev branch to master and afterwards merge the pr to Dev? It's probably make your life easier (or harder? Any preference?) |
Hi @nemethviktor, |
I'll move things around tomorrow most likely (aka merge) |
Key changes to other parts of project * Added convenience function AllCompatibleExtensionsExt * Adapted lvwFileList_LoadOrUpdate to support update concept via DirectoryElement and ListView * Moved ParseCurrentDirectoryToDEs to DirectoryElementCollection Signed-off-by: Alexander Behring <alex@behrings.eu>
* First test with "Umlaute" successful * Issue with Lens and ISO - likely SideCar file is not yet respected
* Added property SidecarFile to DirectoryElement * Updated ParseFolderToDEs to handle sidecar files
* Removed doubled file endings * Removed GetExifFromFolder method (obsolete) * Bugfixing (missed DtFileDataSeenInThisSession.Clear, Conversion of Taken, CreatedDate and ExposureTime and other minor ones) * Enabled CheckForVersion again (was commented out for testing) * made AttributeValueContainer internal classes * Code Commenting Signed-off-by: Alexander Behring <alex@behrings.eu>
Signed-off-by: Alexander Behring <alex@behrings.eu>
* EXIFTool now gets started with AppStart and disposed during AppClosing * Reduce Label Updates during parsing (only every 10th for parse, every 20th for display) * Fixed missing "." dot in Filename when WindowsExplorer does not show FileExtensions
Signed-off-by: Alexander Behring <alex@behrings.eu>
* Fixed "up to parent" resulted in "working path of application" when afterwards clicking on c:
Rebased it onto top of current dev branch. |
Current state of work - speed wise it looks promising.
UTF8 thing should be covered via way the ExifWrapper is doing things, but must still be tested + further changes to support all columns ...