#!/usr/bin/env python """A tiny tool used to test the `convert` plugin. It copies a file and appends a specified text tag. """ import sys import locale # From `beets.util`. def arg_encoding(): try: return locale.getdefaultlocale()[1] or 'utf-8' except ValueError: return 'utf-8' def convert(in_file, out_file, tag): """Copy `in_file` to `out_file` and append the string `tag`. """ # On Python 3, encode the tag argument as bytes. if not isinstance(tag, bytes): tag = tag.encode('utf-8') # On Windows, use Unicode paths. On Python 3, we get the actual, # Unicode filenames. On Python 2, we get them as UTF-8 byes. # if platform.system() == 'Windows' and PY2: # in_file = in_file.decode('utf-8') # out_file = out_file.decode('utf-8') with open(out_file, 'wb') as out_f: with open(in_file, 'rb') as in_f: out_f.write(in_f.read()) out_f.write(tag) if __name__ == '__main__': convert(sys.argv[1], sys.argv[2], sys.argv[3])