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 pydoc
from io import StringIO
import pycountry
from dosagelib import events, configuration, singleton, director
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
@ -151,7 +152,7 @@ def displayComicHelp(scraperobj):
try:
out.info(u"URL: " + scraperobj.url)
if scraperobj.lang:
out.info(u"Language: " + getLangName(scraperobj.lang))
out.info(u"Language: " + pycountry.languages.get(alpha2 = scraperobj.lang).name)
if scraperobj.help:
for line in scraperobj.help.splitlines():
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 .output import out
from .configuration import UserAgent, AppName, App, SupportUrl
from .languages import Iso2Language
# Maximum content size for HTML pages
MaxContentBytes = 1024 * 1024 * 2 # 2 MB
@ -564,11 +563,6 @@ def strlimit (s, length=72):
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):
"""Write content to given filename. Checks for zero-sized files.
If encoding is given writes to a codec.open() file."""

View file

@ -1,5 +1,6 @@
# required:
requests
pycountry
# optional:
argcomplete
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 = (
'requests',
'pycountry',
)
)