#!/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)