]> code.delx.au - notipod/blobdiff - notipod_cli.py
Ignore tracks not in the library
[notipod] / notipod_cli.py
index 5ded3f09c91ae9c154dbf06885ba697c23c75120..72d2936645c176d56d3801ad2e56cb35d8b4e480 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-VERSION = "1.9"
+VERSION = "1.12"
 
 import logging
 import optparse
@@ -11,7 +11,7 @@ import libnotipod
 
 
 def parse_options():
-       parser = optparse.OptionParser(version="%prog " + VERSION, 
+       parser = optparse.OptionParser(version="%prog " + VERSION,
                description = "Synchronise an iTunes playlist with a directory",
                usage = "%prog destination playlist [playlist ...]"
        )
@@ -62,16 +62,25 @@ def main():
                        logging.fatal("Could not find playlist: " + playlist)
                        sys.exit(1)
 
+       logging.info("Deleting playlists")
+       libnotipod.delete_playlists(opts.dry_run, opts.dest)
+
        logging.info("Loading playlists")
-       all_tracks = []
+       all_filenames = []
        for playlist in opts.playlists:
                tracks = library.get_playlist_name(playlist).tracks
-               all_tracks.extend(tracks)
-               libnotipod.export_m3u(opts.dry_run, opts.dest,
-                       opts.path_prefix, playlist, tracks)
+               filenames = [library.get_track_filename(trackID) for trackID in tracks]
+               all_filenames.extend(filenames)
+               libnotipod.export_m3u(
+                       opts.dry_run,
+                       opts.dest,
+                       opts.path_prefix,
+                       playlist,
+                       filenames
+               )
 
        logging.info("Synchronising")
-       gen = libnotipod.sync(opts.dry_run, library.folder, opts.dest, all_tracks)
+       gen = libnotipod.sync(opts.dry_run, library.folder, opts.dest, all_filenames)
        for msg in gen:
                logging.debug(msg)