6

I'd like to be able to determine what emblem a file has from the command line. Is there a way to determine this? Also, is there a way to apply emblems from the command line?

I usually have a cron job that trashes files over 7 days old in my ~/Downloads, but I'd like to be able to only delete files that don't have a particular emblem (my seeding torrents). I've been applying these emblems manually, but if I can automate that as well, that'd be awesome.

My usual cron job is just a simple find command:

find /home/zach/Downloads/ -ctime +7 -exec trash {} \;

Edit:

I solved my own question.

Bonus:

To elaborate on exactly what I'm doing, I use deluge-torrent to manage my downloads. I am now using the execute plugin to run this script on torrent complete:

#!/usr/bin/env bash
# deluge gives the download directory name as the third argument
gvfs-set-attribute -t stringv "$3" metadata::emblems ubuntuone-unsynchronized

I then created my trasher.sh (this requires the trash-cli package):

#!/usr/bin/env bash
[[ "$(gvfs-info -a metadata::emblems $*)" =~ "ubuntuone-unsynchronized" ]] || trash "$*"

Now, I just modify my cron to:

find /home/zach/Downloads/ -maxdepth 1 -ctime +7 -exec /home/zach/Scripts/trasher.sh {} \;

And voila! Now Deluge can manage its downloads, while my cleanup script can safely cleanup old files without interfering with seeding torrents.

dv3500ea
  • 37,204
aperson
  • 1,038

2 Answers2

8

<Juhaz> in ##gnome on freenode got it.

gvfs-info -a metadata::emblems FOLDER

will retrieve the emblem of a folder/file and

gvfs-set-attribute -t stringv FOLDER metadata::emblems EMBLEM

will allow you to set emblem of the folder/file.

aperson
  • 1,038
  • 3
    And metadata is stored on ~/home/.local/share/gvfs-metadata. There is one file per partition/volumen if I understand it right. Binary files. Ugly is you ask me, but likely faster than xml files. – Javier Rivera Sep 01 '10 at 15:15
  • Thats where they first pointed me to when I asked in ##gnome. Lots of binary .log files. I made the mistake of cat *'ing the dir. It also seems that the files there never get cleaned out? – aperson Sep 01 '10 at 15:44
  • 1
    Doesn't work on 12.04. – Fish Monitor Jul 01 '12 at 13:38
0

This post explains how emblem information is stored in a XML file under ~/.nautilus/metafiles. First you'd need to test if the XML related to each download exists, and if so, whether it contains the emblem of your choice.

invert
  • 721
  • 2
    My ~/.nautilus/ folder is 100% empty... – 8128 Sep 01 '10 at 09:18
  • 3
    Old info, this was changed on Lucid. And BTW I will also love to know where does nautilus store them now. – Javier Rivera Sep 01 '10 at 11:13
  • Yeah, I already read that post (sorry, should have specified). But as others have commented, that information is no longer relevant. I even tried searching for .xml files in my ~ and nothing came up other than some things for other programs. – aperson Sep 01 '10 at 13:01