-#!/usr/bin/env python
-from __future__ import unicode_literals
-
+#!/usr/bin/env python3
import io
import optparse
-import re
def main():
- parser = optparse.OptionParser(usage='%prog FILE')
+ parser = optparse.OptionParser(usage='%prog INFILE OUTFILE')
options, args = parser.parse_args()
- if len(args) != 1:
- parser.error('Expected an filename')
+ if len(args) != 2:
+ parser.error('Expected an input and an output filename')
+
+ infile, outfile = args
+
+ with open(infile, encoding='utf-8') as inf:
+ issue_template_tmpl = inf.read()
- with io.open(args[0], encoding='utf-8') as inf:
- issue_template_text = inf.read()
+ # Get the version from yt_dlp/version.py without importing the package
+ exec(compile(open('yt_dlp/version.py').read(),
+ 'yt_dlp/version.py', 'exec'))
- # Get the version from youtube_dl/version.py without importing the package
- exec(compile(open('youtube_dl/version.py').read(),
- 'youtube_dl/version.py', 'exec'))
+ out = issue_template_tmpl % {'version': locals()['__version__']}
- issue_template_text = re.sub(
- r'(?<=\*\*)(?P<version>[0-9\.]+)(?=\*\*)',
- __version__,
- issue_template_text
- )
+ with open(outfile, 'w', encoding='utf-8') as outf:
+ outf.write(out)
- with io.open(args[0], 'w', encoding='utf-8') as outf:
- outf.write(issue_template_text)
if __name__ == '__main__':
main()