From 795e4d5d1adb8802cc65583f85a73054b3b3f21d Mon Sep 17 00:00:00 2001 From: Evgeny Zinoviev Date: Tue, 4 May 2021 23:37:53 +0300 Subject: initial --- dbpl-util | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 dbpl-util (limited to 'dbpl-util') 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 -- cgit v1.2.3