except OSError:
pass
-def export_m3u(dry_run, dest, path_prefix, playlist_name, files):
- if dry_run:
+def delete_playlists(dry_run, dest):
+ dest = os.path.join(dest, "-Playlists-")
+ try:
+ filenames = os.listdir(dest)
+ except OSError:
return
+
+ for filename in filenames:
+ if not filename.lower().endswith(".m3u"):
+ continue
+ filename = os.path.join(dest, filename)
+ logging.info("Deleting: " + filename)
+ if not dry_run:
+ try:
+ os.unlink(filename)
+ except OSError:
+ pass
+
+def export_m3u(dry_run, dest, path_prefix, playlist_name, files):
dest = os.path.join(dest, "-Playlists-")
- if not path_prefix:
- try:
- f = open(os.path.join(dest, ".path_prefix"))
- path_prefix = f.read().strip()
- except:
- path_prefix = "../"
+ mkdirhier(dest)
+ playlist_name = playlist_name.replace("/", "-")
playlist_file = os.path.join(dest, playlist_name) + ".m3u"
playlist_file = encode_filename(playlist_file)
- mkdirhier(os.path.dirname(playlist_file))
logging.info("Writing: " + playlist_file)
+
+ if dry_run:
+ return
+
+ sep = "/"
+ if path_prefix.find("\\") > 0:
+ sep = "\\"
+ if path_prefix[-1] != sep:
+ path_prefix += sep
+
f = open(playlist_file, "w")
for filename in files:
- if path_prefix.find("\\") > 0:
+ if sep == "\\":
filename = filename.replace("/", "\\")
filename = encode_filename(filename)
f.write("%s%s\n" % (path_prefix, filename))