Depend on pycountry directly.

This commit is contained in:
Tobias Gruetzmacher 2015-04-21 21:56:54 +02:00
parent d5e7690419
commit 86b31dc12b
6 changed files with 5 additions and 226 deletions

5
dosage
View file

@ -15,9 +15,10 @@ import os
import argparse import argparse
import pydoc import pydoc
from io import StringIO from io import StringIO
import pycountry
from dosagelib import events, configuration, singleton, director from dosagelib import events, configuration, singleton, director
from dosagelib.output import out from dosagelib.output import out
from dosagelib.util import internal_error, strlimit, getLangName from dosagelib.util import internal_error, strlimit
from dosagelib.ansicolor import get_columns from dosagelib.ansicolor import get_columns
@ -151,7 +152,7 @@ def displayComicHelp(scraperobj):
try: try:
out.info(u"URL: " + scraperobj.url) out.info(u"URL: " + scraperobj.url)
if scraperobj.lang: if scraperobj.lang:
out.info(u"Language: " + getLangName(scraperobj.lang)) out.info(u"Language: " + pycountry.languages.get(alpha2 = scraperobj.lang).name)
if scraperobj.help: if scraperobj.help:
for line in scraperobj.help.splitlines(): for line in scraperobj.help.splitlines():
out.info(line) out.info(line)

View file

@ -1,189 +0,0 @@
# -*- coding: utf-8 -*-
# ISO 693-1 language codes from pycountry
Iso2Language = {
u'aa': u'Afar',
u'ab': u'Abkhazian',
u'af': u'Afrikaans',
u'ak': u'Akan',
u'sq': u'Albanian',
u'am': u'Amharic',
u'ar': u'Arabic',
u'an': u'Aragonese',
u'hy': u'Armenian',
u'as': u'Assamese',
u'av': u'Avaric',
u'ae': u'Avestan',
u'ay': u'Aymara',
u'az': u'Azerbaijani',
u'ba': u'Bashkir',
u'bm': u'Bambara',
u'eu': u'Basque',
u'be': u'Belarusian',
u'bn': u'Bengali',
u'bh': u'Bihari languages',
u'bi': u'Bislama',
u'bs': u'Bosnian',
u'br': u'Breton',
u'bg': u'Bulgarian',
u'my': u'Burmese',
u'ca': u'Catalan; Valencian',
u'ch': u'Chamorro',
u'ce': u'Chechen',
u'zh': u'Chinese',
u'cu': u'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic',
u'cv': u'Chuvash',
u'kw': u'Cornish',
u'co': u'Corsican',
u'cr': u'Cree',
u'cs': u'Czech',
u'da': u'Danish',
u'dv': u'Divehi; Dhivehi; Maldivian',
u'nl': u'Dutch; Flemish',
u'dz': u'Dzongkha',
u'en': u'English',
u'eo': u'Esperanto',
u'et': u'Estonian',
u'ee': u'Ewe',
u'fo': u'Faroese',
u'fj': u'Fijian',
u'fi': u'Finnish',
u'fr': u'French',
u'fy': u'Western Frisian',
u'ff': u'Fulah',
u'ka': u'Georgian',
u'de': u'German',
u'gd': u'Gaelic; Scottish Gaelic',
u'ga': u'Irish',
u'gl': u'Galician',
u'gv': u'Manx',
u'el': u'Greek, Modern (1453-)',
u'gn': u'Guarani',
u'gu': u'Gujarati',
u'ht': u'Haitian; Haitian Creole',
u'ha': u'Hausa',
u'he': u'Hebrew',
u'hz': u'Herero',
u'hi': u'Hindi',
u'ho': u'Hiri Motu',
u'hr': u'Croatian',
u'hu': u'Hungarian',
u'ig': u'Igbo',
u'is': u'Icelandic',
u'io': u'Ido',
u'ii': u'Sichuan Yi; Nuosu',
u'iu': u'Inuktitut',
u'ie': u'Interlingue; Occidental',
u'ia': u'Interlingua (International Auxiliary Language Association)',
u'id': u'Indonesian',
u'ik': u'Inupiaq',
u'it': u'Italian',
u'jv': u'Javanese',
u'ja': u'Japanese',
u'kl': u'Kalaallisut; Greenlandic',
u'kn': u'Kannada',
u'ks': u'Kashmiri',
u'kr': u'Kanuri',
u'kk': u'Kazakh',
u'km': u'Central Khmer',
u'ki': u'Kikuyu; Gikuyu',
u'rw': u'Kinyarwanda',
u'ky': u'Kirghiz; Kyrgyz',
u'kv': u'Komi',
u'kg': u'Kongo',
u'ko': u'Korean',
u'kj': u'Kuanyama; Kwanyama',
u'ku': u'Kurdish',
u'lo': u'Lao',
u'la': u'Latin',
u'lv': u'Latvian',
u'li': u'Limburgan; Limburger; Limburgish',
u'ln': u'Lingala',
u'lt': u'Lithuanian',
u'lb': u'Luxembourgish; Letzeburgesch',
u'lu': u'Luba-Katanga',
u'lg': u'Ganda',
u'mk': u'Macedonian',
u'mh': u'Marshallese',
u'ml': u'Malayalam',
u'mi': u'Maori',
u'mr': u'Marathi',
u'ms': u'Malay',
u'mg': u'Malagasy',
u'mt': u'Maltese',
u'mo': u'Moldavian; Moldovan',
u'mn': u'Mongolian',
u'na': u'Nauru',
u'nv': u'Navajo; Navaho',
u'nr': u'Ndebele, South; South Ndebele',
u'nd': u'Ndebele, North; North Ndebele',
u'ng': u'Ndonga',
u'ne': u'Nepali',
u'nn': u'Norwegian Nynorsk; Nynorsk, Norwegian',
u'nb': u'Bokm\xe5l, Norwegian; Norwegian Bokm\xe5l',
u'no': u'Norwegian',
u'ny': u'Chichewa; Chewa; Nyanja',
u'oc': u'Occitan (post 1500)',
u'oj': u'Ojibwa',
u'or': u'Oriya',
u'om': u'Oromo',
u'os': u'Ossetian; Ossetic',
u'pa': u'Panjabi; Punjabi',
u'fa': u'Persian',
u'pi': u'Pali',
u'pl': u'Polish',
u'pt': u'Portuguese',
u'ps': u'Pushto; Pashto',
u'qu': u'Quechua',
u'rm': u'Romansh',
u'ro': u'Romanian',
u'rn': u'Rundi',
u'ru': u'Russian',
u'sg': u'Sango',
u'sa': u'Sanskrit',
u'si': u'Sinhala; Sinhalese',
u'sk': u'Slovak',
u'sl': u'Slovenian',
u'se': u'Northern Sami',
u'sm': u'Samoan',
u'sn': u'Shona',
u'sd': u'Sindhi',
u'so': u'Somali',
u'st': u'Sotho, Southern',
u'es': u'Spanish; Castilian',
u'sc': u'Sardinian',
u'sr': u'Serbian',
u'ss': u'Swati',
u'su': u'Sundanese',
u'sw': u'Swahili',
u'sv': u'Swedish',
u'ty': u'Tahitian',
u'ta': u'Tamil',
u'tt': u'Tatar',
u'te': u'Telugu',
u'tg': u'Tajik',
u'tl': u'Tagalog',
u'th': u'Thai',
u'bo': u'Tibetan',
u'ti': u'Tigrinya',
u'to': u'Tonga (Tonga Islands)',
u'tn': u'Tswana',
u'ts': u'Tsonga',
u'tk': u'Turkmen',
u'tr': u'Turkish',
u'tw': u'Twi',
u'ug': u'Uighur; Uyghur',
u'uk': u'Ukrainian',
u'ur': u'Urdu',
u'uz': u'Uzbek',
u've': u'Venda',
u'vi': u'Vietnamese',
u'vo': u'Volap\xfck',
u'cy': u'Welsh',
u'wa': u'Walloon',
u'wo': u'Wolof',
u'xh': u'Xhosa',
u'yi': u'Yiddish',
u'yo': u'Yoruba',
u'za': u'Zhuang; Chuang',
u'zu': u'Zulu',
}

View file

@ -30,7 +30,6 @@ except ImportError:
from .decorators import memoized from .decorators import memoized
from .output import out from .output import out
from .configuration import UserAgent, AppName, App, SupportUrl from .configuration import UserAgent, AppName, App, SupportUrl
from .languages import Iso2Language
# Maximum content size for HTML pages # Maximum content size for HTML pages
MaxContentBytes = 1024 * 1024 * 2 # 2 MB MaxContentBytes = 1024 * 1024 * 2 # 2 MB
@ -564,11 +563,6 @@ def strlimit (s, length=72):
return "%s..." % s[:length] return "%s..." % s[:length]
def getLangName(code):
"""Get name of language specified by ISO 693-1 code."""
return Iso2Language[code]
def writeFile(filename, content, encoding=None): def writeFile(filename, content, encoding=None):
"""Write content to given filename. Checks for zero-sized files. """Write content to given filename. Checks for zero-sized files.
If encoding is given writes to a codec.open() file.""" If encoding is given writes to a codec.open() file."""

View file

@ -1,5 +1,6 @@
# required: # required:
requests requests
pycountry
# optional: # optional:
argcomplete argcomplete
lxml lxml

View file

@ -1,29 +0,0 @@
#!/usr/bin/python
# update languages.py from pycountry
import os
import codecs
import pycountry
basepath = os.path.dirname(os.path.dirname(__file__))
def main():
"""Update language information in dosagelib/languages.py."""
fn =os.path.join(basepath, 'dosagelib', 'languages.py')
encoding = 'utf-8'
with codecs.open(fn, 'w', encoding) as f:
f.write('# -*- coding: %s -*-%s' % (encoding, os.linesep))
f.write('# ISO 693-1 language codes from pycountry%s' % os.linesep)
write_languages(f)
def write_languages(f):
"""Write language information."""
f.write("Iso2Language = {%s" % os.linesep)
for language in pycountry.languages:
if hasattr(language, 'alpha2'):
f.write(" %r: %r,%s" % (language.alpha2, language.name, os.linesep))
f.write("}%s" % os.linesep)
if __name__ == '__main__':
main()

View file

@ -457,6 +457,7 @@ args = dict(
), ),
install_requires = ( install_requires = (
'requests', 'requests',
'pycountry',
) )
) )