X-Git-Url: https://code.delx.au/notipod/blobdiff_plain/0807f0abbd2f0c91c43ff97b088cacf34acf6f7c..HEAD:/libnotipod.py diff --git a/libnotipod.py b/libnotipod.py index 30a6a08..2053b74 100644 --- a/libnotipod.py +++ b/libnotipod.py @@ -190,23 +190,44 @@ def mkdirhier(path): 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))