Dev-Picayune

picayune: of little value or importance

CFCopy Progress

So far with my compact flash copy program, CFCopy, I have managed to get a ton of things working. I have changed the main list box to use a wxListCtrl instead so that I can show the file name, date, archive bit status, and the camera model. I am pulling the camera model from the exif data imbedded in a jpeg file. I still need to implement .crw (canon raw file) reading at some point but for now I am planning on setting up two option groups. One group is the destination directory based on the exif read camera model. The other option will be a “default” destination for certain file extensions. So I could specify the .crw and .thm files generated by the canon rebel to be put into the same root folder structure as the jpeg files that were generated by that camera. This will be fine for me until I have two different canon model cameras that can produce the raw files.

My current problem is the design of the configuration system for the program. At first, I was just going to do a standard .INI file setup with a couple of groups of options and put them on the config tab of the program. Instead, I decided it would be more fun and “flexible” to make the options a little more dynamic. My current plan is to save and restore the options via XML. The initial plan is to read and display the options in a wxTreeListCtrl… and then I eventually need to make the tree editable…. and then be able to save the options back out to the file. I think the biggest trick I am dealing with right now is how to make accessing the options easy. My current plan for accessing the options is something involving python dictionaries. Essentially, when the system is looking at a file, it needs to decide which root destination it should go in. That means that if it needs to find the destination root for a Canon Rebel Digital model camera it needs to be able to know whether a destination root option exists in Config–>Destination Options–>Camera Specific Destinations–>Canon Rebel Digital. My concern is how to make looking for that data easy or at least straight forward. To some degree it comes down to how much hard coding I want to do… how many temporary or permanent variables I want to setup… whether to write wrapper functions or access the data directly. I’m sure I will choose poorly, but at some point I need to choose in order to get it done.

No comments

No comments yet. Be the first.

Leave a reply

For spam filtering purposes, please copy the number 4320 to the field below: