From 16665e7fbd43e40cb25fc1987e7720e9f4295edb Mon Sep 17 00:00:00 2001 From: Artem Baguinski Date: Mon, 21 Apr 2008 20:02:12 +0200 Subject: [PATCH] mutagen for titles and directories on command line --- sync.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/sync.py b/sync.py index cb78192..726dca8 100755 --- a/sync.py +++ b/sync.py @@ -1,10 +1,15 @@ #!/usr/bin/env python import gtk -import os +import os, sys + +try: import mutagen +except ImportError: + sys.path.append(os.path.expanduser("~/src/ql/trunk/mutagen")) + import mutagen SUPPORTED_EXTENSIONS = '.mp3' # list store columns -FILENAME=0 +TITLE=0 BACKGROUND=1 FULLPATH=2 LOCATION=3 @@ -50,7 +55,7 @@ class Sync: text_renderer = gtk.CellRendererText() column = gtk.TreeViewColumn("track", text_renderer) - column.add_attribute(text_renderer, "text", FILENAME) + column.add_attribute(text_renderer, "text", TITLE) column.add_attribute(text_renderer, "background", BACKGROUND) self.main_list.append_column( column ) @@ -76,11 +81,21 @@ class Sync: for row in self.main_list.get_model(): if row[LOCATION] == INCOMING: print "mv %s %s" % (row[FULLPATH], LOC[DEVICE]) - + +def track_title(t): + try: return mutagen.File(t).tags['TIT2'] + except: return os.path.basename(t) + +try: + LOC[DEVICE] = sys.argv[1] + LOC[INCOMING] = sys.argv[2] +except IndexError: + pass + app = Sync() -for entry in [(os.path.basename(t),'#d0d0f0',t,DEVICE) for t in get_device_tracks()]: +for entry in [(track_title(t),'#d0d0f0',t,DEVICE) for t in get_device_tracks()]: app.add_entries([entry]) -for entry in [(os.path.basename(t),'#90ff90',t,INCOMING) for t in get_incoming_tracks()]: +for entry in [(track_title(t),'#90ff90',t,INCOMING) for t in get_incoming_tracks()]: app.add_entries([entry]) gtk.main() -- 2.11.4.GIT