mirror of https://code.videolan.org/videolan/vlc
35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
#!/usr/bin/env python3
|
|
import os, re, argparse
|
|
|
|
parser = argparse.ArgumentParser()
|
|
# Input files
|
|
parser.add_argument("copying", type=argparse.FileType('r', encoding='UTF-8'))
|
|
parser.add_argument("thanks", type=argparse.FileType('r', encoding='UTF-8'))
|
|
parser.add_argument("authors", type=argparse.FileType('r', encoding='UTF-8'))
|
|
# Output files
|
|
parser.add_argument("output", type=argparse.FileType('w', encoding='UTF-8'))
|
|
args = parser.parse_args()
|
|
|
|
# Regex to remove emails in thanks and authors files
|
|
email_regex = re.compile(r'<.*.>')
|
|
|
|
output_str = '/* Automatically generated file - DO NOT EDIT */\n\n'
|
|
|
|
with args.copying:
|
|
output_str += 'static const char psz_license[] =\n"'
|
|
output_str += args.copying.read().replace('"', '\\"').replace('\r', '').replace('\n', '\\n"\n"')
|
|
output_str += '";\n\n'
|
|
|
|
with args.thanks:
|
|
output_str += 'static const char psz_thanks[] =\n"'
|
|
output_str += email_regex.sub('', args.thanks.read().replace('"', '\\"').replace('\r', '').replace('\n', '\\n"\n"'))
|
|
output_str += '";\n\n'
|
|
|
|
with args.authors:
|
|
output_str += 'static const char psz_authors[] =\n"'
|
|
output_str += email_regex.sub('', args.authors.read().replace('"', '\\"').replace('\r', '').replace('\n', '\\n"\n"'))
|
|
output_str += '";\n\n'
|
|
|
|
with args.output:
|
|
args.output.write(output_str)
|