Re: Organising photos visually

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 01/30/2018 12:45 PM, Cameron Simpson wrote:
> On 30Jan2018 12:01, Patrick O'Callaghan <pocallaghan@xxxxxxxxx> wrote:
>> On Tue, 2018-01-30 at 20:53 +1100, Cameron Simpson wrote:
>>>   cd your-staging-directory
>>>   n=1
>>>   while :
>>>   do
>>>     for f in *.jpg
>>>     do
>>>       [ -s "$f" ] || continue
>>>       while :
>>>       do
>>>         target=$( printf 'your-ordered-directory/%05d-%s' "$n" "$f" )
>>>         [ -e "$target" ] || break
>>>         n=$((n+1))
>>>       done
>>>       mv "$f" "$target"
>>>     done
>>>     sleep 1
>>>   done
>>>
>>> That does a "mv", so give it a good test on copies first to avoid it
>>> eating
>>> your files!
>>
>> On second thoughts, I don't think this is going to work:
>>
>>> Then just drag images into the staging directory in the right order
>>> and the
>>> shell script will move them into the ordered directory with nice numeric
>>> prefixes.
>>
>> Dragging the files 'in the right order' doesn't affect their names. The
>> script loops over the files in lexical order, not in the order I've
>> dragged them, so the final order won't change.
> 
> The idea is that the script picks up the files as fast as you drag them.
> You might need to shrink the "sleep 1" to "sleep 0.1", or perhaps
> better, to not sleep at all _if_ any files were run on that loop. The
> sleep is there to stop your machine spinnning out when idle.

If you need this to be asynchronous, have a look at inotifywait(1) (part
of the inotify-tools RPM) and build your script using that tool. The
script then becomes event-driven rather than using polling.

> Provided the files are picked up suffiently promptly, they are meant to
> each get a nice incrementing numeric prefix as you drag them, thus
> ordering their names in the ordered directory.
> 
>> Sorry if I wasn't clear enough in my initial post.
> 
> I think I understood you. You seem to have missing the numeric profix in
> the new names - the script _depends_ on you interactively dragging files
> to the staging dir in a piecemeal fashion.
> 
> Also note Jons bug report.
> 
> Another untested version with a fix for his bug and a fix for the sleep
> thing:
> 
>   cd your-staging-directory
>   n=1
>   while :
>   do
>     moved=
>     for f in *.jpg
>     do
>       [ -s "$f" ] || continue
>       while :
>       do
>         target=$( printf 'your-ordered-directory/%05d-%s' "$n" "$f" )
>         [ -e "$target" ] || break
>         n=$((n+1))
>       done
>       mv "$f" "$target"
>       n=$((n+1))
>       moved=1
>     done
>     [ $moved ] || sleep 0.1
>   done
> 
> See how that logic feels to you.

If you need this to be asynchronous, have a look at inotifywait(1) and
build your script according to that.
> 
> Cheers,
> Cameron Simpson <cs@xxxxxxxxxx> (formerly cs@xxxxxxxxxx)
> _______________________________________________
> users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx


-- 
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, AllDigital    ricks@xxxxxxxxxxxxxx -
- AIM/Skype: therps2        ICQ: 22643734            Yahoo: origrps2 -
-                                                                    -
-        "More hay, Trigger?" "No thanks, Roy, I'm stuffed!"         -
----------------------------------------------------------------------
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx



[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux