from django.utils.translation import ugettext_lazy as _lazy


# List of (value, name, _lazy(name)) tuples for countries Firefox OS has
# been released in.
# Values are ISO 3166 country codes.
# Names are the country names.
# _lazy(name) causes extract to pick up the name so it can be localized.
FIREFOX_OS_COUNTRIES = [
    (u'CO', 'Colombia', _lazy('Colombia')),
    (u'VE', 'Venezuela', _lazy('Venezuela')),
    (u'PL', 'Poland', _lazy('Poland')),
    (u'ES', 'Spain', _lazy('Spain')),
    (u'BR', 'Brazil', _lazy('Brazil')),
    (u'DE', 'Germany', _lazy('Germany')),
    (u'GR', 'Greece', _lazy('Greece')),
    (u'HU', 'Hungary', _lazy('Hungary')),
    (u'CS', 'Serbia', _lazy('Serbia')),
    (u'CS', 'Montenegro', _lazy('Montenegro')),
    (u'MX', 'Mexico', _lazy('Mexico')),
    (u'PE', 'Peru', _lazy('Peru')),
    (u'UY', 'Uruguay', _lazy('Uruguay')),
]

CODE_TO_COUNTRY = dict([(mem[0], {'English': mem[1], 'native': mem[2]})
                        for mem in FIREFOX_OS_COUNTRIES])


# List of Firefox OS devices that have been released.
FIREFOX_OS_DEVICES = [
    u'ZTE Open',
    u'Alcatel OneTouch Fire',
    u'Geeksphone',
    u'LG Fireweb',
]


ANALYSIS_STOPWORDS = set([
    'a',
    'about',
    'above',
    'across',
    'after',
    'afterwards',
    'again',
    'against',
    'all',
    'almost',
    'alone',
    'along',
    'already',
    'also',
    'although',
    'always',
    'am',
    'among',
    'amongst',
    'amoungst',
    'amount',
    'an',
    'and',
    'another',
    'any',
    'anyhow',
    'anyone',
    'anything',
    'anyway',
    'anywhere',
    'are',
    'around',
    'as',
    'at',
    'b',
    'back',
    'be',
    'became',
    'because',
    'become',
    'becomes',
    'becoming',
    'been',
    'before',
    'beforehand',
    'behind',
    'being',
    'below',
    'beside',
    'besides',
    'between',
    'beyond',
    'bill',
    'both',
    'bottom',
    'but',
    'by',
    'c',
    'call',
    'can',
    'cannot',
    'cant',
    'co',
    'computer',
    'con',
    'could',
    'couldnt',
    'cry',
    'd',
    'de',
    'describe',
    'detail',
    'do',
    'does',
    'don\'t',
    'done',
    'dont',
    'down',
    'due',
    'during',
    'e',
    'each',
    'eg',
    'eight',
    'either',
    'eleven',
    'else',
    'elsewhere',
    'empty',
    'enough',
    'etc',
    'even',
    'ever',
    'every',
    'everyone',
    'everything',
    'everywhere',
    'except',
    'f',
    'few',
    'fifteen',
    'fify',
    'fill',
    'find',
    'fire',
    'firefox',
    'first',
    'five',
    'for',
    'former',
    'formerly',
    'forty',
    'found',
    'four',
    'from',
    'front',
    'full',
    'further',
    'g',
    'get',
    'give',
    'go',
    'h',
    'had',
    'has',
    'hasnt',
    'have',
    'he',
    'hence',
    'her',
    'here',
    'hereafter',
    'hereby',
    'herein',
    'hereupon',
    'hers',
    'herse',
    'him',
    'himse',
    'his',
    'how',
    'however',
    'hundred',
    'i',
    'ie',
    'if',
    'in',
    'inc',
    'indeed',
    'interest',
    'into',
    'is',
    'it',
    'it\'s',
    'its',
    'itse',
    'j',
    'k',
    'keep',
    'l',
    'last',
    'latter',
    'latterly',
    'least',
    'less',
    'ltd',
    'm',
    'made',
    'many',
    'may',
    'me',
    'meanwhile',
    'might',
    'mill',
    'mine',
    'more',
    'moreover',
    'most',
    'mostly',
    'move',
    'much',
    'must',
    'my',
    'myse',
    'n',
    'name',
    'namely',
    'neither',
    'never',
    'nevertheless',
    'next',
    'nine',
    'no',
    'nobody',
    'none',
    'noone',
    'nor',
    'not',
    'nothing',
    'now',
    'nowhere',
    'o',
    'of',
    'off',
    'often',
    'on',
    'once',
    'one',
    'only',
    'onto',
    'or',
    'other',
    'others',
    'otherwise',
    'our',
    'ours',
    'ourselves',
    'out',
    'over',
    'own',
    'p',
    'part',
    'per',
    'perhaps',
    'please',
    'put',
    'q',
    'r',
    'rather',
    're',
    's',
    'same',
    'see',
    'seem',
    'seemed',
    'seeming',
    'seems',
    'serious',
    'several',
    'she',
    'should',
    'show',
    'side',
    'since',
    'sincere',
    'six',
    'sixty',
    'so',
    'some',
    'somehow',
    'someone',
    'something',
    'sometime',
    'sometimes',
    'somewhere',
    'still',
    'such',
    'system',
    't',
    'take',
    'ten',
    'than',
    'that',
    'the',
    'their',
    'them',
    'themselves',
    'then',
    'thence',
    'there',
    'thereafter',
    'thereby',
    'therefore',
    'therein',
    'thereupon',
    'these',
    'they',
    'thick',
    'thin',
    'third',
    'this',
    'those',
    'though',
    'three',
    'through',
    'throughout',
    'thru',
    'thus',
    'to',
    'together',
    'too',
    'top',
    'toward',
    'towards',
    'twelve',
    'twenty',
    'two',
    'u',
    'un',
    'under',
    'until',
    'up',
    'upon',
    'us',
    'v',
    'very',
    'via',
    'w',
    'was',
    'we',
    'well',
    'were',
    'what',
    'whatever',
    'when',
    'whence',
    'whenever',
    'where',
    'whereafter',
    'whereas',
    'whereby',
    'wherein',
    'whereupon',
    'wherever',
    'whether',
    'which',
    'while',
    'whither',
    'who',
    'whoever',
    'whole',
    'whom',
    'whose',
    'why',
    'will',
    'with',
    'within',
    'without',
    'would',
    'x',
    'y',
    'yet',
    'you',
    'you\'re',
    'your',
    'yours',
    'yourself',
    'yourselves',
    'z'
])


# This defines the number of characters the description can have.  We
# do this in code rather than in the db since it makes it easier to
# tweak the value.
TRUNCATE_LENGTH = 10000
