diff options
Diffstat (limited to 'dbpl-util')
-rwxr-xr-x | dbpl-util | 35 |
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 |