raw files in subfolder?

The first thing we do after downloading is always to move all raw files into ./raw in the job folder. It’s fairly quick using Thunar to select all files matching “*2” and cut and paste, but can Rapid Photo Downloader do this for me? I tried messing with the download name scheme; it seems I can do

2017/2017-11-06_CR2/IMG_blah.CR2
2017/2017-11-06_JPG/IMG_blah.JPG

but is it possible to do

2017/2017-11-06/raw/IMG_blah.CR2
2017/2017-11-06/IMG_blah.JPG

?

It’s currently not possible, basically because I can’t think of a simple and elegant way to represent it in the UI. A decade of building this program has taught me that if the UI is not simple, users get confused. It’s not that I’ve put a lot of thought into into this particular problem that you raise, however, simply because on first glance it strikes me as a “that’s a tough one”, and I don’t think that many users care about it.

Logically, adding an “if-then” rule to the name generation schema is easy enough. But representing that conditional in a UI without confusing the heck out of users (or translators)… that’s an entirely different challenge. To my mind, the current design is, for the lack of a better term, “flat” or “one-dimensional” in that whenever there is a name generation element, it affects the subfolder name :

That one-dimensional space is easy to visualize and easy to represent in the GUI. If we were to imagine a name generation component like you are wondering about, then there are two further problems: its case (upper, lower etc.), and whether that component is always immediately preceded by a subfolder separator or not, or can be preceded or extended by further generating elements or not. Suddenly it’s two-dimensional, and representing that dimensionality in the GUI so that it’s easy for the uninformed user to know what it means at first sight is not easy to imagine. For example, does this make sense to you:

<Image date (YYYY)>/<Image date (YYYY)><Image date (MM)><?RAW:/<Extension (lowercase)>>

Maybe it does make perfect sense to most users, and I’m being overly cautious. Assuming so, there is then the challenge of turning the idea into code. Suddenly the name generation editor has a non-trivial grammar, when means the code to generate color highlighting, respond to key presses etc. becomes quite a bit more complex. Just that part of the code is already 300 or so lines. It’s easy to imagine that doubling in length (or more), and becoming a lot more difficult to maintain. And maintained it must be, because Qt itself changes.

I agree that it ought to be simple. Advanced users could do this without the help of RPD. That said, there is utility in offering an advanced mode if you are up to it @damonlynch. Personally, I don’t use RPD but I am sure some users (@Unhammer) would like that.

OK, I’m now convinced it’d be a bad idea to add support for that, at least in such a general way, and it’d be hard to argue for something less than general :slight_smile:

The other option I see would be support for running a user-defined script after downloading, but perhaps that’s even more of a footgun …

I might be mistaken but I think this is exactly what I have done by including the extension into the destination path for the files. My images end up in /FOTOS/Date-JobTitle/PEF/ and /FOTOS/Date-JobTitle/JPG/ - isn’t that what the OP intended?

The proposed idea was to have files of one type (e.g. raw) go into a special subfolder, while all other files go into the parent folder of that special subfolder. Using your example:

/FOTOS/Date-JobTitle/PEF/
/FOTOS/Date-JobTitle/

I thought about suggesting this feature awhile ago but at the end decided to keep raw and jpeg files in the same folder just to keep things as simple as possible.
Even the choice of uppercase and lowercase extensions confusing a heck out of me. :roll_eyes:

@Andrius I haven’t taken JPGs or RAW+JPGs in a long time. I think that cameras generally save in uppercase. Mainstream apps like Adobe Camera Raw have an option between uppercase and lowercase as well. I personally keep out of camera JPGs’ extensions as uppercase and exported / edited lowercase.

I don’t remember whether extensions are case-sensitive in Linux but my upper- and lowercase naming convention is just for fast visual identification because win7 (and macOS) are case-insensitive.

Linux is case sensitive (at list bash is).I am pretty sure Windows is not though

Indeed, Linux and Unix are case sensitive.

It’s not, but does have some strange quirks. It remembers the case you use for any particular file. You can test it by creating a file, then trying to rename it using the exact same spelling but different case. It will revert to the case you first used when you created it. But the weird thing is, when you go to rename it again, in the moments you are renaming it (e.g. using explorer after hitting F2) it reverts to displaying the case you last used when changing the case, not the case you first used when creating it. But as soon as you finish changing the case and hit enter, when displaying the file name, explorer reverts back to the initial case.

Bash scripts will actually treat name.EXT and name.ext as different files.
I don’t think Windows does the same though.

@Andrius Makes sense that the whole filename is case sensitive in linux / unix.

@damonlynch If you refresh Windows Explorer, you will have the case you set.


Edit: So to clarify my earlier statement, I use *.jpg and *.JPG for aesthetic purposes only. Both filename.jpg and filename.JPG cannot exist in the same folder in Windows.

OK, I understand. Segregating by filetype still is useful, I’ve only been doing it like this for a few weeks but it makes batch processing a lot easier to name but one advantage. But I see that is not what the OP wanted/required, my bad.

I use this for now:
preset_photo_subfolder\1\pref_list=Date time, Image date, YYYY, Text, -, , Metadata, Hyphenated short camera model, UPPERCASE, /, , , Date time, Image date, YY, Date time, Image date, MM, Date time, Image date, DD, Text, -, , Job code, , , /, , , Filename, Extension, Original Case