Replies: 4 comments 17 replies
-
If I understand correctly, keep a low-level ExifTool class which passes raw parameters to the process, and package up the interesting but "lots of boiler plate arguments" features into a higher-level API that makes interacting a bit friendlier. I'm on board with this. 👍 |
Beta Was this translation helpful? Give feedback.
-
ok @csparker247 , I took your suggestion into account and renamed start() to run(). I like that idea, match what As I've been stepping through different test cases, I've found that when no files are processed, the JSON decode blows up... since it can't decode an empty string. I'm trying to decide... what to return from My idea is...
What do you think? As I went about it, I realized that the original code redirected I'm going to see if I can come up with test cases to look at stderr output... and also test my code on Linux |
Beta Was this translation helpful? Give feedback.
-
It is often good to streamline to make it more maintainable, extensible, and usable. As long as you communicate it clearly (including semantic versioning, documentation) and provide a path for people to easily adapt to the new interface, it should be good. |
Beta Was this translation helpful? Give feedback.
-
Alright, I have a draft PR created #13 to start the discussion with direct looks at the code. Could you take some time to see if PyExifTool is moving in a direction you'd be happy with? 😊 The base The |
Beta Was this translation helpful? Give feedback.
-
I'm planning to roll back some of the PR that I merged really early on from this project. (specifically the commits around 9c15d42)
I'm going to re-design a little bit, and put all "Helper" functions which wrap around raw Exiftool in another class. This should help clean up the code and make it easier to extend later
The original Exiftool class was more of a "raw" class where it had all the Exiftool low level functionality. The addition of methods that made it easier to use into the class will make it harder to maintain over time.
... etc
I believe these should be in a separate class, which either uses Exiftool directly, or extends it. It should make it easier to fork and add functionality, without making the Exiftool class unmanageably big with a bunch of helper functions
In fact, down the line, should be able to make even more streamlined functionality available... say, if you wanted to "rotate a picture by 90 degrees" right now, you have to raw pass into Exiftool class all the parameters to make it happen. Extending a helper class could make it doable in a few lines
What do you all think?
Beta Was this translation helpful? Give feedback.
All reactions