27d28b8eef
The default encoding for source files is UTF-8 since Python 3, so we can drop all encoding headers. While we are at it, just replace them with SPDX headers.
46 lines
1.3 KiB
Python
Executable file
46 lines
1.3 KiB
Python
Executable file
#!/usr/bin/python3
|
|
# SPDX-License-Identifier: MIT
|
|
# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs
|
|
# Copyright (C) 2012-2014 Bastian Kleineidam
|
|
# Copyright (C) 2015-2018 Tobias Gruetzmacher
|
|
'''update languages.py from pycountry'''
|
|
import os
|
|
import sys
|
|
import codecs
|
|
|
|
basepath = os.path.dirname(os.path.dirname(__file__))
|
|
sys.path.insert(0, basepath)
|
|
|
|
from dosagelib.scraper import get_scrapers # noqa
|
|
|
|
|
|
def main():
|
|
"""Update language information in dosagelib/languages.py."""
|
|
fn = os.path.join(basepath, 'dosagelib', 'languages.py')
|
|
with codecs.open(fn, 'w', 'utf-8') as f:
|
|
f.write('# SPDX-License-Identifier: MIT\n')
|
|
f.write('# ISO 693-1 language codes from pycountry\n')
|
|
f.write('# This file is automatically generated, DO NOT EDIT!\n')
|
|
lang = get_used_languages()
|
|
write_languages(f, lang)
|
|
|
|
|
|
def get_used_languages():
|
|
languages = {}
|
|
for scraperobj in get_scrapers():
|
|
lang = scraperobj.lang
|
|
if lang not in languages:
|
|
languages[lang] = scraperobj.language()
|
|
return languages
|
|
|
|
|
|
def write_languages(f, l):
|
|
"""Write language information."""
|
|
f.write("Languages = {%s" % os.linesep)
|
|
for lang in sorted(l):
|
|
f.write(" %r: %r,%s" % (lang, l[lang], os.linesep))
|
|
f.write("}%s" % os.linesep)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main()
|