summaryrefslogtreecommitdiff
path: root/dbpl-util
diff options
context:
space:
mode:
Diffstat (limited to 'dbpl-util')
-rwxr-xr-xdbpl-util35
1 files changed, 35 insertions, 0 deletions
diff --git a/dbpl-util b/dbpl-util
new file mode 100755
index 0000000..0fe0118
--- /dev/null
+++ b/dbpl-util
@@ -0,0 +1,35 @@
+#!/usr/bin/env python3
+from dbpl import Playlist
+from argparse import ArgumentParser
+from pprint import pprint
+
+
+if __name__ == '__main__':
+ parser = ArgumentParser()
+ parser.add_argument('--input', required=True,
+ help='input file')
+ parser.add_argument('--output',
+ help='output file')
+ parser.add_argument('--dump', action='store_true',
+ help='dump track info')
+ parser.add_argument('--replace-path', nargs=2, type=str, metavar=('SEARCH', 'REPLACE'),
+ help='change path to files (merely performs str.replace(SEARCH, REPLACE) on each track)')
+ args = parser.parse_args()
+
+ # read playlist
+ pl = Playlist(args.input)
+
+ # loop through tracks
+ for t in pl.tracks:
+ if args.dump:
+ pprint(t.__dict__)
+ print()
+
+ if args.replace_path:
+ uri = t.get_uri()
+ uri = uri.replace(args.replace_path[0], args.replace_path[1])
+ t.set_uri(uri)
+
+ # save playlist
+ if args.output:
+ pl.save(args.output) \ No newline at end of file