Commit graph

5 commits

Author SHA1 Message Date
Félix Baylac Jacqué 156a0b0814 Refactoring: extract processing logic out of main 2023-08-24 19:55:55 +02:00
Félix Baylac Jacqué 2cf564f1c4 Refactoring: simplify exif/mtime logic
Refactor the exif parsing/mtime parsing logic to have two clear
branches.
2023-08-24 18:19:28 +02:00
Félix Baylac Jacqué cec77e8766 Fallback to mtime when no EXIF available
We add some logic to read the file mtime and fallback using that when
there's not enough informations in the EXIF container.
2023-08-24 16:18:35 +02:00
Félix Baylac Jacqué c713e3d5a1 First semi-naive and dirty implementation
We adopt a semi-naive approach. Probably not the best performing and
most robust solution, but at least we have something functional.

We rely on a external scheduler, such as GNU parallel, to concurently
copy the files and use as much cores as possible. It makes the program
composable with the GNU userspace toolchain.

It however comes at a cost: we have to spin-up/tear-down a process for
each file. Scheduling the copy from inside the Rust program by
creating multiple threads (using rayon?) would be likely much more
performant. We'll probably come to it in the future.

The error handling also left to be desired. We're panicking with a
error message every time we encounter something unexpected.

The program is also untested. Might eat your kitten for now.
2023-08-24 13:09:51 +02:00
Félix Baylac Jacqué 456bac2e98 Init 2023-08-24 10:51:58 +02:00