forked from zaclys/searxng
		
	filter langauges
This commit is contained in:
		
							parent
							
								
									149802c569
								
							
						
					
					
						commit
						c677aee58a
					
				
					 4 changed files with 81 additions and 72 deletions
				
			
		|  | @ -40,6 +40,12 @@ url_xpath = './/url' | ||||||
| title_xpath = './/title' | title_xpath = './/title' | ||||||
| content_xpath = './/sum' | content_xpath = './/sum' | ||||||
| 
 | 
 | ||||||
|  | supported_languages = ["en", "fr", "es", "ru", "tr", "ja", "zh-CN", "zh-TW", "ko", "de", | ||||||
|  |                        "nl", "it", "fi", "sv", "no", "pt", "vi", "ar", "he", "id", "el", | ||||||
|  |                        "th", "hi", "bn", "pl", "tl", "la", "eo", "ca", "bg", "tx", "sr", | ||||||
|  |                        "hu", "da", "lt", "cs", "gl", "ka", "gd", "go", "ro", "ga", "lv", | ||||||
|  |                        "hy", "is", "ag", "gv", "io", "fa", "te", "vv", "mg", "ku", "lb", "et"]  | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| # do search-request | # do search-request | ||||||
| def request(query, params): | def request(query, params): | ||||||
|  | @ -48,7 +54,9 @@ def request(query, params): | ||||||
|     if params['language'] == 'all': |     if params['language'] == 'all': | ||||||
|         language = 'xx' |         language = 'xx' | ||||||
|     else: |     else: | ||||||
|         language = params['language'].split('-')[0] |         language = params['language'].replace('-', '_').lower() | ||||||
|  |         if language.split('-')[0] != 'zh': | ||||||
|  |             language = language.split('-')[0] | ||||||
| 
 | 
 | ||||||
|     if params['safesearch'] >= 1: |     if params['safesearch'] >= 1: | ||||||
|         safesearch = 1 |         safesearch = 1 | ||||||
|  |  | ||||||
|  | @ -23,20 +23,20 @@ categories = ['general'] | ||||||
| paging = True | paging = True | ||||||
| language_support = True | language_support = True | ||||||
| use_locale_domain = True | use_locale_domain = True | ||||||
| supported_languages = ['de', 'en', 'es', 'es_419', 'fr', 'hr', 'it', 'nl', 'pl', 'pt-BR', | supported_languages = ["ach", "af", "ak", "az", "ms", "ban", "xx-bork", "bs", "br", "ca", | ||||||
|                        'pt-PT', 'vi', 'tr', 'ru', 'ar', 'th', 'ko', 'zh-CN', 'zh-TW', 'ja', |                        "ceb", "ckb", "cs", "sn", "co", "cy", "da", "de", "yo", "et", | ||||||
|                        'ach', 'af', 'ak', 'az', 'ms', 'ban', 'xx_bork', 'bs', 'br', 'ca', |                        "xx-elmer", "en", "es", "es-419", "eo", "eu", "ee", "tl", "fo", "fr", | ||||||
|                        'ceb', 'ckb', 'cs', 'sn', 'co', 'cy', 'da', 'yo', 'et', 'xx_elmer', |                        "gaa", "ga", "gd", "gl", "gn", "xx-hacker", "ht", "ha", "hr", "haw", | ||||||
|                        'eo', 'eu', 'ee', 'tl', 'fo', 'gaa', 'ga', 'gd', 'gl', 'gn', 'xx_hacker', |                        "bem", "ig", "rn", "id", "ia", "zu", "is", "it", "jw", "rw", "sw", | ||||||
|                        'ht', 'ha', 'haw', 'bem', 'ig', 'rn', 'id', 'ia', 'zu', 'is', 'jw', 'rw', |                        "tlh", "kg", "mfe", "kri", "la", "lv", "to", "lt", "ln", "loz", | ||||||
|                        'sw', 'tlh', 'kg', 'mfe', 'kri', 'la', 'lv', 'to', 'lt', 'ln', 'loz', |                        "lua", "lg", "hu", "mg", "mt", "mi", "nl", "pcm", "no", "nso", | ||||||
|                        'lua', 'lg', 'hu', 'mg', 'mt', 'mi', 'pcm', 'no', 'nso', 'ny', 'nn', |                        "ny", "nn", "uz", "oc", "om", "xx-pirate", "pl", "pt-BR", "pt-PT", | ||||||
|                        'uz', 'oc', 'om', 'xx_pirate', 'pt', 'ro', 'mo', 'rm', 'qu', 'nyn', 'crs', |                        "ro", "rm", "qu", "nyn", "crs", "sq", "sd", "sk", "sl", "so", "st", | ||||||
|                        'sq', 'sd', 'sk', 'sl', 'so', 'st', 'sr_ME', 'sr_Latn', 'su', 'fi', 'sv', |                        "sr-ME", "sr-Latn", "su", "fi", "sv", "tg", "tt", "vi", "tn", "tum", | ||||||
|                        'tg', 'tt', 'tn', 'tum', 'tk', 'tw', 'fy', 'wo', 'xh', 'el', 'be', 'bg', |                        "tr", "tk", "tw", "fy", "wo", "xh", "el", "be", "bg", "ky", "kk", "mk", | ||||||
|                        'ky', 'kk', 'mk', 'mn', 'sr', 'uk', 'ka', 'hy', 'yi', 'iw', 'ug', 'ur', |                        "mn", "ru", "sr", "uk", "ka", "hy", "yi", "iw", "ug", "ur", "ar", "ps", | ||||||
|                        'ps', 'fa', 'ti', 'am', 'ne', 'mr', 'hi', 'bn', 'pa', 'gu', 'or', 'ta', |                        "fa", "ti", "am", "ne", "mr", "hi", "bn", "pa", "gu", "or", "ta", "te", | ||||||
|                        'te', 'kn', 'ml', 'si', 'lo', 'my', 'km', 'chr'] |                        "kn", "ml", "si", "th", "lo", "my", "km", "chr", "ko", "zh-CN", "zh-TW", "ja"] | ||||||
| time_range_support = True | time_range_support = True | ||||||
| 
 | 
 | ||||||
| # based on https://en.wikipedia.org/wiki/List_of_Google_domains and tests | # based on https://en.wikipedia.org/wiki/List_of_Google_domains and tests | ||||||
|  | @ -181,8 +181,12 @@ def request(query, params): | ||||||
|         language = 'en' |         language = 'en' | ||||||
|         country = 'US' |         country = 'US' | ||||||
|         url_lang = '' |         url_lang = '' | ||||||
|  |     elif params['language'][:2] == 'jv': | ||||||
|  |         language = 'jw' | ||||||
|  |         country = 'ID' | ||||||
|  |         url_lang = 'lang_jw' | ||||||
|     else: |     else: | ||||||
|         language_array = params['language'].lower().split('_') |         language_array = params['language'].lower().split('-') | ||||||
|         if len(language_array) == 2: |         if len(language_array) == 2: | ||||||
|             country = language_array[1] |             country = language_array[1] | ||||||
|         else: |         else: | ||||||
|  |  | ||||||
|  | @ -32,9 +32,7 @@ language_codes = ( | ||||||
|     (u"en-NZ", u"English", u"", u"English"), |     (u"en-NZ", u"English", u"", u"English"), | ||||||
|     (u"got", u"𐌲𐌿𐍄𐌹𐍃𐌺", u"", u"Gothic"), |     (u"got", u"𐌲𐌿𐍄𐌹𐍃𐌺", u"", u"Gothic"), | ||||||
|     (u"vls", u"West-Vlams", u"", u"West Flemish"), |     (u"vls", u"West-Vlams", u"", u"West Flemish"), | ||||||
|     (u"ro", u"Română", u"", u"Romanian"), |  | ||||||
|     (u"bxr", u"Буряад", u"", u"Buryat"), |     (u"bxr", u"Буряад", u"", u"Buryat"), | ||||||
|     (u"fiu-vro", u"Võro", u"", u"Võro"), |  | ||||||
|     (u"diq", u"Zazaki", u"", u"Zazaki"), |     (u"diq", u"Zazaki", u"", u"Zazaki"), | ||||||
|     (u"zh", u"中文", u"", u"Chinese"), |     (u"zh", u"中文", u"", u"Chinese"), | ||||||
|     (u"pms", u"Piemontèis", u"", u"Piedmontese"), |     (u"pms", u"Piemontèis", u"", u"Piedmontese"), | ||||||
|  | @ -42,28 +40,25 @@ language_codes = ( | ||||||
|     (u"zh-HK", u"中文", u"", u"Chinese"), |     (u"zh-HK", u"中文", u"", u"Chinese"), | ||||||
|     (u"zu", u"isiZulu", u"", u"Zulu"), |     (u"zu", u"isiZulu", u"", u"Zulu"), | ||||||
|     (u"tet", u"Tetun", u"", u"Tetum"), |     (u"tet", u"Tetun", u"", u"Tetum"), | ||||||
|     (u"es-PE", u"Español", u"", u"Spanish"), |     (u"zh-CN", u"中文 (简体)", u"", u""), | ||||||
|     (u"new", u"नेपाल भाषा", u"", u"Newar"), |     (u"new", u"नेपाल भाषा", u"", u"Newar"), | ||||||
|  |     (u"ro-RO", u"Română", u"", u"Romanian"), | ||||||
|     (u"lez", u"Лезги чІал (Lezgi č’al)", u"", u"Lezgian"), |     (u"lez", u"Лезги чІал (Lezgi č’al)", u"", u"Lezgian"), | ||||||
|     (u"glk", u"گیلکی", u"", u"Gilaki"), |     (u"glk", u"گیلکی", u"", u"Gilaki"), | ||||||
|     (u"ko-KR", u"한국어", u"", u"Korean"), |     (u"ko-KR", u"한국어", u"", u"Korean"), | ||||||
|     (u"id-ID", u"Bahasa Indonesia", u"", u"Indonesian"), |     (u"id-ID", u"Bahasa Indonesia", u"", u"Indonesian"), | ||||||
|     (u"cho", u"Choctaw", u"", u"Choctaw"), |  | ||||||
|     (u"chr", u"ᏣᎳᎩ", u"", u"Cherokee"), |     (u"chr", u"ᏣᎳᎩ", u"", u"Cherokee"), | ||||||
|     (u"vi", u"Tiếng Việt", u"", u"Vietnamese"), |     (u"vi", u"Tiếng Việt", u"", u"Vietnamese"), | ||||||
|     (u"chy", u"Tsetsêhestâhese", u"", u"Cheyenne"), |     (u"chy", u"Tsetsêhestâhese", u"", u"Cheyenne"), | ||||||
|     (u"is", u"Íslenska", u"", u"Icelandic"), |  | ||||||
|     (u"tk", u"تركمن / Туркмен", u"", u"Turkmen"), |     (u"tk", u"تركمن / Туркмен", u"", u"Turkmen"), | ||||||
|     (u"da-DK", u"Dansk", u"", u"Danish"), |     (u"da-DK", u"Dansk", u"", u"Danish"), | ||||||
|     (u"pfl", u"Pälzisch", u"", u"Palatinate German"), |     (u"pfl", u"Pälzisch", u"", u"Palatinate German"), | ||||||
|     (u"hu-HU", u"Magyar", u"", u"Hungarian"), |     (u"hu-HU", u"Magyar", u"", u"Hungarian"), | ||||||
|     (u"he-IL", u"עברית", u"", u"Hebrew"), |  | ||||||
|     (u"mg", u"Malagasy", u"", u"Malagasy"), |     (u"mg", u"Malagasy", u"", u"Malagasy"), | ||||||
|     (u"ml", u"മലയാളം", u"", u"Malayalam"), |     (u"ml", u"മലയാളം", u"", u"Malayalam"), | ||||||
|     (u"mo", u"Молдовеняскэ", u"", u"Moldovan"), |     (u"mo", u"Молдовеняскэ", u"", u"Moldovan"), | ||||||
|     (u"mn", u"Монгол", u"", u"Mongolian"), |     (u"mn", u"Монгол", u"", u"Mongolian"), | ||||||
|     (u"mi", u"Māori", u"", u"Maori"), |     (u"mi", u"Māori", u"", u"Maori"), | ||||||
|     (u"mh", u"Ebon", u"", u"Marshallese"), |  | ||||||
|     (u"mk", u"Македонски", u"", u"Macedonian"), |     (u"mk", u"Македонски", u"", u"Macedonian"), | ||||||
|     (u"mt", u"Malti", u"", u"Maltese"), |     (u"mt", u"Malti", u"", u"Maltese"), | ||||||
|     (u"ms", u"Bahasa Melayu", u"", u"Malay"), |     (u"ms", u"Bahasa Melayu", u"", u"Malay"), | ||||||
|  | @ -75,7 +70,6 @@ language_codes = ( | ||||||
|     (u"pl-PL", u"Polski", u"", u"Polish"), |     (u"pl-PL", u"Polski", u"", u"Polish"), | ||||||
|     (u"sl-SL", u"Slovenščina", u"", u"Slovenian"), |     (u"sl-SL", u"Slovenščina", u"", u"Slovenian"), | ||||||
|     (u"csb", u"Kaszëbsczi", u"", u"Kashubian"), |     (u"csb", u"Kaszëbsczi", u"", u"Kashubian"), | ||||||
|     (u"cbk-zam", u"Chavacano de Zamboanga", u"", u"Zamboanga Chavacano"), |  | ||||||
|     (u"nyn", u"Runyankore", u"", u""), |     (u"nyn", u"Runyankore", u"", u""), | ||||||
|     (u"ig", u"Igbo", u"", u"Igbo"), |     (u"ig", u"Igbo", u"", u"Igbo"), | ||||||
|     (u"fr", u"Français", u"", u"French"), |     (u"fr", u"Français", u"", u"French"), | ||||||
|  | @ -88,7 +82,7 @@ language_codes = ( | ||||||
|     (u"fj", u"Na Vosa Vakaviti", u"", u"Fijian"), |     (u"fj", u"Na Vosa Vakaviti", u"", u"Fijian"), | ||||||
|     (u"fo", u"Føroyskt", u"", u"Faroese"), |     (u"fo", u"Føroyskt", u"", u"Faroese"), | ||||||
|     (u"ss", u"SiSwati", u"", u"Swati"), |     (u"ss", u"SiSwati", u"", u"Swati"), | ||||||
|     (u"roa-tara", u"Tarandíne", u"", u"Tarantino"), |     (u"sr", u"Српски / Srpski", u"", u"Serbian"), | ||||||
|     (u"sq", u"Shqip", u"", u"Albanian"), |     (u"sq", u"Shqip", u"", u"Albanian"), | ||||||
|     (u"sw", u"Kiswahili", u"", u"Swahili"), |     (u"sw", u"Kiswahili", u"", u"Swahili"), | ||||||
|     (u"sv", u"Svenska", u"", u"Swedish"), |     (u"sv", u"Svenska", u"", u"Swedish"), | ||||||
|  | @ -104,7 +98,7 @@ language_codes = ( | ||||||
|     (u"sc", u"Sardu", u"", u"Sardinian"), |     (u"sc", u"Sardu", u"", u"Sardinian"), | ||||||
|     (u"pt-BR", u"português (Brasil)", u"", u""), |     (u"pt-BR", u"português (Brasil)", u"", u""), | ||||||
|     (u"sa", u"संस्कृतम्", u"", u"Sanskrit"), |     (u"sa", u"संस्कृतम्", u"", u"Sanskrit"), | ||||||
|     (u"sg", u"Sängö", u"", u"Sango"), |     (u"he-IL", u"עברית", u"", u"Hebrew"), | ||||||
|     (u"se", u"Sámegiella", u"", u"Northern Sami"), |     (u"se", u"Sámegiella", u"", u"Northern Sami"), | ||||||
|     (u"sd", u"سنڌي، سندھی ، सिन्ध", u"", u"Sindhi"), |     (u"sd", u"سنڌي، سندھی ، सिन्ध", u"", u"Sindhi"), | ||||||
|     (u"fr-CH", u"Français", u"", u"French"), |     (u"fr-CH", u"Français", u"", u"French"), | ||||||
|  | @ -112,7 +106,6 @@ language_codes = ( | ||||||
|     (u"it-CH", u"Italiano", u"", u"Italian"), |     (u"it-CH", u"Italiano", u"", u"Italian"), | ||||||
|     (u"wuu", u"吴语", u"", u"Wu"), |     (u"wuu", u"吴语", u"", u"Wu"), | ||||||
|     (u"fr-CA", u"Français", u"", u"French"), |     (u"fr-CA", u"Français", u"", u"French"), | ||||||
|     (u"ar-XA", u"العربية", u"", u"Arabic"), |  | ||||||
|     (u"kbd", u"Адыгэбзэ (Adighabze)", u"", u"Kabardian Circassian"), |     (u"kbd", u"Адыгэбзэ (Adighabze)", u"", u"Kabardian Circassian"), | ||||||
|     (u"no-NO", u"Norsk (Bokmål)", u"", u"Norwegian (Bokmål)"), |     (u"no-NO", u"Norsk (Bokmål)", u"", u"Norwegian (Bokmål)"), | ||||||
|     (u"ca-ES", u"Català", u"", u"Catalan"), |     (u"ca-ES", u"Català", u"", u"Catalan"), | ||||||
|  | @ -130,14 +123,13 @@ language_codes = ( | ||||||
|     (u"yi", u"ייִדיש", u"", u"Yiddish"), |     (u"yi", u"ייִדיש", u"", u"Yiddish"), | ||||||
|     (u"ceb", u"Sinugboanong Binisaya", u"", u"Cebuano"), |     (u"ceb", u"Sinugboanong Binisaya", u"", u"Cebuano"), | ||||||
|     (u"yo", u"Yorùbá", u"", u"Yoruba"), |     (u"yo", u"Yorùbá", u"", u"Yoruba"), | ||||||
|     (u"ro-RO", u"Română", u"", u"Romanian"), |     (u"ru-RU", u"Русский", u"", u"Russian"), | ||||||
|     (u"bar", u"Boarisch", u"", u"Bavarian"), |     (u"bar", u"Boarisch", u"", u"Bavarian"), | ||||||
|     (u"nov", u"Novial", u"", u"Novial"), |     (u"nov", u"Novial", u"", u"Novial"), | ||||||
|     (u"sr-ME", u"srpski (Crna Gora)", u"", u""), |     (u"sr-ME", u"srpski (Crna Gora)", u"", u""), | ||||||
|     (u"es-CL", u"Español", u"", u"Spanish"), |     (u"es-CL", u"Español", u"", u"Spanish"), | ||||||
|     (u"es-CO", u"Español", u"", u"Spanish"), |     (u"es-CO", u"Español", u"", u"Spanish"), | ||||||
|     (u"nl-NL", u"Nederlands", u"", u"Dutch"), |     (u"nl-NL", u"Nederlands", u"", u"Dutch"), | ||||||
|     (u"map-bms", u"Basa Banyumasan", u"", u"Banyumasan"), |  | ||||||
|     (u"el", u"Ελληνικά", u"", u"Greek"), |     (u"el", u"Ελληνικά", u"", u"Greek"), | ||||||
|     (u"eo", u"Esperanto", u"", u"Esperanto"), |     (u"eo", u"Esperanto", u"", u"Esperanto"), | ||||||
|     (u"en", u"English", u"", u"English"), |     (u"en", u"English", u"", u"English"), | ||||||
|  | @ -151,7 +143,7 @@ language_codes = ( | ||||||
|     (u"rw", u"Ikinyarwanda", u"", u"Kinyarwanda"), |     (u"rw", u"Ikinyarwanda", u"", u"Kinyarwanda"), | ||||||
|     (u"rm", u"Rumantsch", u"", u"Romansh"), |     (u"rm", u"Rumantsch", u"", u"Romansh"), | ||||||
|     (u"rn", u"Kirundi", u"", u"Kirundi"), |     (u"rn", u"Kirundi", u"", u"Kirundi"), | ||||||
|     (u"es-419", u"español (Latinoamérica)", u"", u""), |     (u"ro", u"Română", u"", u"Romanian"), | ||||||
|     (u"dsb", u"Dolnoserbski", u"", u"Lower Sorbian"), |     (u"dsb", u"Dolnoserbski", u"", u"Lower Sorbian"), | ||||||
|     (u"ast", u"Asturianu", u"", u"Asturian"), |     (u"ast", u"Asturianu", u"", u"Asturian"), | ||||||
|     (u"lmo", u"Lumbaart", u"", u"Lombard"), |     (u"lmo", u"Lumbaart", u"", u"Lombard"), | ||||||
|  | @ -161,17 +153,13 @@ language_codes = ( | ||||||
|     (u"koi", u"Перем Коми (Perem Komi)", u"", u"Komi-Permyak"), |     (u"koi", u"Перем Коми (Perem Komi)", u"", u"Komi-Permyak"), | ||||||
|     (u"tr-TR", u"Türkçe", u"", u"Turkish"), |     (u"tr-TR", u"Türkçe", u"", u"Turkish"), | ||||||
|     (u"pnt", u"Ποντιακά", u"", u"Pontic"), |     (u"pnt", u"Ποντιακά", u"", u"Pontic"), | ||||||
|     (u"es-XL", u"Español", u"", u"Spanish"), |  | ||||||
|     (u"fi-FI", u"Suomi", u"", u"Finnish"), |     (u"fi-FI", u"Suomi", u"", u"Finnish"), | ||||||
|     (u"pnb", u"شاہ مکھی پنجابی (Shāhmukhī Pañjābī)", u"", u"Western Punjabi"), |     (u"pnb", u"شاہ مکھی پنجابی (Shāhmukhī Pañjābī)", u"", u"Western Punjabi"), | ||||||
|     (u"udm", u"Удмурт кыл", u"", u"Udmurt"), |     (u"ar-SA", u"العربية", u"", u"Arabic"), | ||||||
|     (u"bem", u"Ichibemba", u"", u""), |     (u"bem", u"Ichibemba", u"", u""), | ||||||
|     (u"roa-rup", u"Armãneashce", u"", u"Aromanian"), |     (u"en-ZA", u"English", u"", u"English"), | ||||||
|     (u"sr-Latn", u"srpski (latinica)", u"", u""), |  | ||||||
|     (u"stq", u"Seeltersk", u"", u"Saterland Frisian"), |     (u"stq", u"Seeltersk", u"", u"Saterland Frisian"), | ||||||
|     (u"sr", u"Српски / Srpski", u"", u"Serbian"), |  | ||||||
|     (u"ang", u"Englisc", u"", u"Anglo-Saxon"), |     (u"ang", u"Englisc", u"", u"Anglo-Saxon"), | ||||||
|     (u"ru-RU", u"Русский", u"", u"Russian"), |  | ||||||
|     (u"lbe", u"Лакку", u"", u"Lak"), |     (u"lbe", u"Лакку", u"", u"Lak"), | ||||||
|     (u"min", u"Minangkabau", u"", u"Minangkabau"), |     (u"min", u"Minangkabau", u"", u"Minangkabau"), | ||||||
|     (u"es-US", u"Español", u"", u"Spanish"), |     (u"es-US", u"Español", u"", u"Spanish"), | ||||||
|  | @ -184,14 +172,13 @@ language_codes = ( | ||||||
|     (u"kg", u"KiKongo", u"", u"Kongo"), |     (u"kg", u"KiKongo", u"", u"Kongo"), | ||||||
|     (u"ckb", u"Soranî / کوردی", u"", u"Sorani"), |     (u"ckb", u"Soranî / کوردی", u"", u"Sorani"), | ||||||
|     (u"kk", u"Қазақша", u"", u"Kazakh"), |     (u"kk", u"Қазақша", u"", u"Kazakh"), | ||||||
|     (u"kj", u"Kuanyama", u"", u"Kuanyama"), |     (u"sg", u"Sängö", u"", u"Sango"), | ||||||
|     (u"ki", u"Gĩkũyũ", u"", u"Kikuyu"), |     (u"ki", u"Gĩkũyũ", u"", u"Kikuyu"), | ||||||
|     (u"ko", u"한국어", u"", u"Korean"), |     (u"ko", u"한국어", u"", u"Korean"), | ||||||
|     (u"kn", u"ಕನ್ನಡ", u"", u"Kannada"), |     (u"kn", u"ಕನ್ನಡ", u"", u"Kannada"), | ||||||
|     (u"tpi", u"Tok Pisin", u"", u"Tok Pisin"), |     (u"tpi", u"Tok Pisin", u"", u"Tok Pisin"), | ||||||
|     (u"kl", u"Kalaallisut", u"", u"Greenlandic"), |     (u"kl", u"Kalaallisut", u"", u"Greenlandic"), | ||||||
|     (u"ks", u"कश्मीरी / كشميري", u"", u"Kashmiri"), |     (u"ks", u"कश्मीरी / كشميري", u"", u"Kashmiri"), | ||||||
|     (u"kr", u"Kanuri", u"", u"Kanuri"), |  | ||||||
|     (u"ext", u"Estremeñu", u"", u"Extremaduran"), |     (u"ext", u"Estremeñu", u"", u"Extremaduran"), | ||||||
|     (u"kw", u"Kernewek/Karnuack", u"", u"Cornish"), |     (u"kw", u"Kernewek/Karnuack", u"", u"Cornish"), | ||||||
|     (u"kv", u"Коми", u"", u"Komi"), |     (u"kv", u"Коми", u"", u"Komi"), | ||||||
|  | @ -202,7 +189,7 @@ language_codes = ( | ||||||
|     (u"en-GB", u"English", u"", u"English"), |     (u"en-GB", u"English", u"", u"English"), | ||||||
|     (u"xmf", u"მარგალური (Margaluri)", u"", u"Mingrelian"), |     (u"xmf", u"მარგალური (Margaluri)", u"", u"Mingrelian"), | ||||||
|     (u"jam", u"Jamaican Creole English", u"", u"Patois"), |     (u"jam", u"Jamaican Creole English", u"", u"Patois"), | ||||||
|     (u"ar-SA", u"العربية", u"", u"Arabic"), |     (u"udm", u"Удмурт кыл", u"", u"Udmurt"), | ||||||
|     (u"ksh", u"Ripoarisch", u"", u"Ripuarian"), |     (u"ksh", u"Ripoarisch", u"", u"Ripuarian"), | ||||||
|     (u"ms-MY", u"Bahasa Melayu", u"", u"Malay"), |     (u"ms-MY", u"Bahasa Melayu", u"", u"Malay"), | ||||||
|     (u"de", u"Deutsch", u"", u"German"), |     (u"de", u"Deutsch", u"", u"German"), | ||||||
|  | @ -219,13 +206,10 @@ language_codes = ( | ||||||
|     (u"rmy", u"romani - रोमानी", u"", u"Romani"), |     (u"rmy", u"romani - रोमानी", u"", u"Romani"), | ||||||
|     (u"arc", u"ܐܪܡܝܐ", u"", u"Aramaic"), |     (u"arc", u"ܐܪܡܝܐ", u"", u"Aramaic"), | ||||||
|     (u"th-TH", u"ไทย", u"", u"Thai"), |     (u"th-TH", u"ไทย", u"", u"Thai"), | ||||||
|     (u"mus", u"Muskogee", u"", u"Muscogee"), |  | ||||||
|     (u"lua", u"Luba-Lulua", u"", u""), |     (u"lua", u"Luba-Lulua", u"", u""), | ||||||
|     (u"en-ZA", u"English", u"", u"English"), |  | ||||||
|     (u"wa", u"Walon", u"", u"Walloon"), |     (u"wa", u"Walon", u"", u"Walloon"), | ||||||
|     (u"wo", u"Wolof", u"", u"Wolof"), |     (u"wo", u"Wolof", u"", u"Wolof"), | ||||||
|     (u"jv", u"Basa Jawa", u"", u"Javanese"), |     (u"jv", u"Basa Jawa", u"", u"Javanese"), | ||||||
|     (u"jw", u"Javanese", u"", u""), |  | ||||||
|     (u"fr-BE", u"Français", u"", u"French"), |     (u"fr-BE", u"Français", u"", u"French"), | ||||||
|     (u"tum", u"chiTumbuka", u"", u"Tumbuka"), |     (u"tum", u"chiTumbuka", u"", u"Tumbuka"), | ||||||
|     (u"ja", u"日本語", u"", u"Japanese"), |     (u"ja", u"日本語", u"", u"Japanese"), | ||||||
|  | @ -233,12 +217,9 @@ language_codes = ( | ||||||
|     (u"ilo", u"Ilokano", u"", u"Ilokano"), |     (u"ilo", u"Ilokano", u"", u"Ilokano"), | ||||||
|     (u"tlh", u"Klingon", u"", u""), |     (u"tlh", u"Klingon", u"", u""), | ||||||
|     (u"pdc", u"Deitsch", u"", u"Pennsylvania German"), |     (u"pdc", u"Deitsch", u"", u"Pennsylvania German"), | ||||||
|     (u"aa", u"Afar", u"", u"Afar"), |  | ||||||
|     (u"ch", u"Chamoru", u"", u"Chamorro"), |     (u"ch", u"Chamoru", u"", u"Chamorro"), | ||||||
|     (u"co", u"Corsu", u"", u"Corsican"), |     (u"co", u"Corsu", u"", u"Corsican"), | ||||||
|     (u"simple", u"Simple English", u"", u"Simple English"), |  | ||||||
|     (u"ca", u"Català", u"", u"Catalan"), |     (u"ca", u"Català", u"", u"Catalan"), | ||||||
|     (u"xx-pirate", u"Pirate", u"", u""), |  | ||||||
|     (u"ce", u"Нохчийн", u"", u"Chechen"), |     (u"ce", u"Нохчийн", u"", u"Chechen"), | ||||||
|     (u"cy", u"Cymraeg", u"", u"Welsh"), |     (u"cy", u"Cymraeg", u"", u"Welsh"), | ||||||
|     (u"sah", u"Саха тыла (Saxa Tyla)", u"", u"Sakha"), |     (u"sah", u"Саха тыла (Saxa Tyla)", u"", u"Sakha"), | ||||||
|  | @ -254,30 +235,26 @@ language_codes = ( | ||||||
|     (u"frp", u"Arpitan", u"", u"Franco-Provençal"), |     (u"frp", u"Arpitan", u"", u"Franco-Provençal"), | ||||||
|     (u"xal", u"Хальмг", u"", u"Kalmyk"), |     (u"xal", u"Хальмг", u"", u"Kalmyk"), | ||||||
|     (u"pi", u"पाऴि", u"", u"Pali"), |     (u"pi", u"पाऴि", u"", u"Pali"), | ||||||
|     (u"it-IT", u"Italiano", u"", u"Italian"), |     (u"ak", u"Akana", u"", u"Akan"), | ||||||
|     (u"pl", u"Polski", u"", u"Polish"), |     (u"pl", u"Polski", u"", u"Polish"), | ||||||
|     (u"nrm", u"Nouormand/Normaund", u"", u"Norman"), |     (u"nrm", u"Nouormand/Normaund", u"", u"Norman"), | ||||||
|     (u"en-US", u"English", u"", u"English"), |     (u"en-US", u"English", u"", u"English"), | ||||||
|     (u"gan", u"贛語", u"", u"Gan"), |     (u"gan", u"贛語", u"", u"Gan"), | ||||||
|     (u"bat-smg", u"Žemaitėška", u"", u"Samogitian"), |  | ||||||
|     (u"en-UK", u"English", u"", u"English"), |  | ||||||
|     (u"gag", u"Gagauz", u"", u"Gagauz"), |     (u"gag", u"Gagauz", u"", u"Gagauz"), | ||||||
|     (u"an", u"Aragonés", u"", u"Aragonese"), |     (u"an", u"Aragonés", u"", u"Aragonese"), | ||||||
|     (u"gaa", u"Ga", u"", u""), |     (u"gaa", u"Ga", u"", u""), | ||||||
|     (u"fur", u"Furlan", u"", u"Friulian"), |     (u"fur", u"Furlan", u"", u"Friulian"), | ||||||
|     (u"kr-KR", u"Kanuri", u"", u"Kanuri"), |     (u"es-PE", u"Español", u"", u"Spanish"), | ||||||
|     (u"zh-CN", u"中文 (简体)", u"", u""), |  | ||||||
|     (u"tl-PH", u"Tagalog", u"", u"Tagalog"), |     (u"tl-PH", u"Tagalog", u"", u"Tagalog"), | ||||||
|     (u"en-IN", u"English", u"", u"English"), |     (u"en-IN", u"English", u"", u"English"), | ||||||
|     (u"ve", u"Tshivenda", u"", u"Venda"), |     (u"ve", u"Tshivenda", u"", u"Venda"), | ||||||
|     (u"en-ID", u"English", u"", u"English"), |     (u"en-ID", u"English", u"", u"English"), | ||||||
|     (u"en-IE", u"English", u"", u"English"), |     (u"en-IE", u"English", u"", u"English"), | ||||||
|     (u"xx-bork", u"Bork, bork, bork!", u"", u""), |     (u"is", u"Íslenska", u"", u"Icelandic"), | ||||||
|     (u"iu", u"ᐃᓄᒃᑎᑐᑦ", u"", u"Inuktitut"), |     (u"iu", u"ᐃᓄᒃᑎᑐᑦ", u"", u"Inuktitut"), | ||||||
|     (u"it", u"Italiano", u"", u"Italian"), |     (u"it", u"Italiano", u"", u"Italian"), | ||||||
|     (u"iw", u"עברית", u"", u""), |     (u"iw", u"עברית", u"", u""), | ||||||
|     (u"vo", u"Volapük", u"", u"Volapük"), |     (u"vo", u"Volapük", u"", u"Volapük"), | ||||||
|     (u"ii", u"ꆇꉙ", u"", u"Sichuan Yi"), |  | ||||||
|     (u"ik", u"Iñupiak", u"", u"Inupiak"), |     (u"ik", u"Iñupiak", u"", u"Inupiak"), | ||||||
|     (u"io", u"Ido", u"", u"Ido"), |     (u"io", u"Ido", u"", u"Ido"), | ||||||
|     (u"ia", u"Interlingua", u"", u"Interlingua"), |     (u"ia", u"Interlingua", u"", u"Interlingua"), | ||||||
|  | @ -288,7 +265,7 @@ language_codes = ( | ||||||
|     (u"pap", u"Papiamentu", u"", u"Papiamentu"), |     (u"pap", u"Papiamentu", u"", u"Papiamentu"), | ||||||
|     (u"pag", u"Pangasinan", u"", u"Pangasinan"), |     (u"pag", u"Pangasinan", u"", u"Pangasinan"), | ||||||
|     (u"pam", u"Kapampangan", u"", u"Kapampangan"), |     (u"pam", u"Kapampangan", u"", u"Kapampangan"), | ||||||
|     (u"lv-LV", u"Latviešu", u"", u"Latvian"), |     (u"nl", u"Nederlands", u"", u"Dutch"), | ||||||
|     (u"mzn", u"مَزِروني", u"", u"Mazandarani"), |     (u"mzn", u"مَزِروني", u"", u"Mazandarani"), | ||||||
|     (u"nl-BE", u"Nederlands", u"", u"Dutch"), |     (u"nl-BE", u"Nederlands", u"", u"Dutch"), | ||||||
|     (u"sk-SK", u"Slovenčina", u"", u"Slovak"), |     (u"sk-SK", u"Slovenčina", u"", u"Slovak"), | ||||||
|  | @ -297,6 +274,7 @@ language_codes = ( | ||||||
|     (u"de-DE", u"Deutsch", u"", u"German"), |     (u"de-DE", u"Deutsch", u"", u"German"), | ||||||
|     (u"jbo", u"Lojban", u"", u"Lojban"), |     (u"jbo", u"Lojban", u"", u"Lojban"), | ||||||
|     (u"mfe", u"kreol morisien", u"", u""), |     (u"mfe", u"kreol morisien", u"", u""), | ||||||
|  |     (u"tcy", u"Tulu", u"", u"ತುಳು"), | ||||||
|     (u"hak", u"Hak-kâ-fa / 客家話", u"", u"Hakka"), |     (u"hak", u"Hak-kâ-fa / 客家話", u"", u"Hakka"), | ||||||
|     (u"ny", u"Chichewa", u"", u"Chichewa"), |     (u"ny", u"Chichewa", u"", u"Chichewa"), | ||||||
|     (u"ady", u"Адыгэбзэ", u"", u"Adyghe"), |     (u"ady", u"Адыгэбзэ", u"", u"Adyghe"), | ||||||
|  | @ -308,7 +286,6 @@ language_codes = ( | ||||||
|     (u"en-MY", u"English", u"", u"English"), |     (u"en-MY", u"English", u"", u"English"), | ||||||
|     (u"sv-SE", u"Svenska", u"", u"Swedish"), |     (u"sv-SE", u"Svenska", u"", u"Swedish"), | ||||||
|     (u"de-AT", u"Deutsch", u"", u"German"), |     (u"de-AT", u"Deutsch", u"", u"German"), | ||||||
|     (u"xx-elmer", u"Elmer Fudd", u"", u""), |  | ||||||
|     (u"hsb", u"Hornjoserbsce", u"", u"Upper Sorbian"), |     (u"hsb", u"Hornjoserbsce", u"", u"Upper Sorbian"), | ||||||
|     (u"be", u"Беларуская", u"", u"Belarusian"), |     (u"be", u"Беларуская", u"", u"Belarusian"), | ||||||
|     (u"bg", u"Български", u"", u"Bulgarian"), |     (u"bg", u"Български", u"", u"Bulgarian"), | ||||||
|  | @ -328,25 +305,20 @@ language_codes = ( | ||||||
|     (u"ach", u"Acoli", u"", u""), |     (u"ach", u"Acoli", u"", u""), | ||||||
|     (u"oc", u"Occitan", u"", u"Occitan"), |     (u"oc", u"Occitan", u"", u"Occitan"), | ||||||
|     (u"kri", u"Krio (Sierra Leone)", u"", u""), |     (u"kri", u"Krio (Sierra Leone)", u"", u""), | ||||||
|     (u"be-tarask", u"Беларуская (тарашкевіца)", u"", u"Belarusian (Taraškievica)"), |  | ||||||
|     (u"krc", u"Къарачай-Малкъар (Qarachay-Malqar)", u"", u"Karachay-Balkar"), |     (u"krc", u"Къарачай-Малкъар (Qarachay-Malqar)", u"", u"Karachay-Balkar"), | ||||||
|     (u"nds", u"Plattdüütsch", u"", u"Low Saxon"), |     (u"nds", u"Plattdüütsch", u"", u"Low Saxon"), | ||||||
|     (u"os", u"Иронау", u"", u"Ossetian"), |     (u"os", u"Иронау", u"", u"Ossetian"), | ||||||
|     (u"or", u"ଓଡ଼ିଆ", u"", u"Oriya"), |     (u"or", u"ଓଡ଼ିଆ", u"", u"Oriya"), | ||||||
|     (u"nso", u"Sepedi", u"", u"Northern Sotho"), |     (u"nso", u"Sepedi", u"", u"Northern Sotho"), | ||||||
|     (u"bjn", u"Bahasa Banjar", u"", u"Banjar"), |     (u"bjn", u"Bahasa Banjar", u"", u"Banjar"), | ||||||
|     (u"xx-hacker", u"Hacker", u"", u""), |  | ||||||
|     (u"zh-min-nan", u"Bân-lâm-gú", u"", u"Min Nan"), |  | ||||||
|     (u"pa", u"ਪੰਜਾਬੀ", u"", u"Punjabi"), |     (u"pa", u"ਪੰਜਾਬੀ", u"", u"Punjabi"), | ||||||
|     (u"loz", u"Lozi", u"", u""), |     (u"loz", u"Lozi", u"", u""), | ||||||
|     (u"war", u"Winaray", u"", u"Waray-Waray"), |     (u"war", u"Winaray", u"", u"Waray-Waray"), | ||||||
|     (u"hz", u"Otsiherero", u"", u"Herero"), |  | ||||||
|     (u"hy", u"Հայերեն", u"", u"Armenian"), |     (u"hy", u"Հայերեն", u"", u"Armenian"), | ||||||
|     (u"hr", u"Hrvatski", u"", u"Croatian"), |     (u"hr", u"Hrvatski", u"", u"Croatian"), | ||||||
|     (u"ht", u"Krèyol ayisyen", u"", u"Haitian"), |     (u"ht", u"Krèyol ayisyen", u"", u"Haitian"), | ||||||
|     (u"hu", u"Magyar", u"", u"Hungarian"), |     (u"hu", u"Magyar", u"", u"Hungarian"), | ||||||
|     (u"hi", u"हिन्दी", u"", u"Hindi"), |     (u"hi", u"हिन्दी", u"", u"Hindi"), | ||||||
|     (u"ho", u"Hiri Motu", u"", u"Hiri Motu"), |  | ||||||
|     (u"ha", u"هَوُسَ", u"", u"Hausa"), |     (u"ha", u"هَوُسَ", u"", u"Hausa"), | ||||||
|     (u"bug", u"Basa Ugi", u"", u"Buginese"), |     (u"bug", u"Basa Ugi", u"", u"Buginese"), | ||||||
|     (u"he", u"עברית", u"", u"Hebrew"), |     (u"he", u"עברית", u"", u"Hebrew"), | ||||||
|  | @ -359,7 +331,7 @@ language_codes = ( | ||||||
|     (u"pih", u"Norfuk", u"", u"Norfolk"), |     (u"pih", u"Norfuk", u"", u"Norfolk"), | ||||||
|     (u"ab", u"Аҧсуа", u"", u"Abkhazian"), |     (u"ab", u"Аҧсуа", u"", u"Abkhazian"), | ||||||
|     (u"af", u"Afrikaans", u"", u"Afrikaans"), |     (u"af", u"Afrikaans", u"", u"Afrikaans"), | ||||||
|     (u"ak", u"Akana", u"", u"Akan"), |     (u"it-IT", u"Italiano", u"", u"Italian"), | ||||||
|     (u"am", u"አማርኛ", u"", u"Amharic"), |     (u"am", u"አማርኛ", u"", u"Amharic"), | ||||||
|     (u"myv", u"Эрзянь (Erzjanj Kelj)", u"", u"Erzya"), |     (u"myv", u"Эрзянь (Erzjanj Kelj)", u"", u"Erzya"), | ||||||
|     (u"as", u"অসমীয়া", u"", u"Assamese"), |     (u"as", u"অসমীয়া", u"", u"Assamese"), | ||||||
|  | @ -370,21 +342,17 @@ language_codes = ( | ||||||
|     (u"ay", u"Aymar", u"", u"Aymara"), |     (u"ay", u"Aymar", u"", u"Aymara"), | ||||||
|     (u"az", u"Azərbaycanca", u"", u"Azerbaijani"), |     (u"az", u"Azərbaycanca", u"", u"Azerbaijani"), | ||||||
|     (u"es-ES", u"Español", u"", u"Spanish"), |     (u"es-ES", u"Español", u"", u"Spanish"), | ||||||
|     (u"nl", u"Nederlands", u"", u"Dutch"), |     (u"lv-LV", u"Latviešu", u"", u"Latvian"), | ||||||
|     (u"nn", u"Nynorsk", u"", u"Norwegian (Nynorsk)"), |     (u"nn", u"Nynorsk", u"", u"Norwegian (Nynorsk)"), | ||||||
|     (u"no", u"Norsk (Bokmål)", u"", u"Norwegian (Bokmål)"), |     (u"no", u"Norsk (Bokmål)", u"", u"Norwegian (Bokmål)"), | ||||||
|     (u"na", u"dorerin Naoero", u"", u"Nauruan"), |     (u"na", u"dorerin Naoero", u"", u"Nauruan"), | ||||||
|     (u"nah", u"Nāhuatl", u"", u"Nahuatl"), |     (u"nah", u"Nāhuatl", u"", u"Nahuatl"), | ||||||
|     (u"ne", u"नेपाली", u"", u"Nepali"), |     (u"ne", u"नेपाली", u"", u"Nepali"), | ||||||
|     (u"ng", u"Oshiwambo", u"", u"Ndonga"), |  | ||||||
|     (u"en-AU", u"English", u"", u"English"), |     (u"en-AU", u"English", u"", u"English"), | ||||||
|     (u"nap", u"Nnapulitano", u"", u"Neapolitan"), |     (u"nap", u"Nnapulitano", u"", u"Neapolitan"), | ||||||
|     (u"nv", u"Diné bizaad", u"", u"Navajo"), |     (u"nv", u"Diné bizaad", u"", u"Navajo"), | ||||||
|     (u"ku", u"Kurdî / كوردی", u"", u"Kurdish"), |     (u"ku", u"Kurdî / كوردی", u"", u"Kurdish"), | ||||||
|     (u"cs-CZ", u"Čeština", u"", u"Czech"), |     (u"cs-CZ", u"Čeština", u"", u"Czech"), | ||||||
|     (u"zh-yue", u"粵語", u"", u"Cantonese"), |  | ||||||
|     (u"en-SG", u"English", u"", u"English"), |     (u"en-SG", u"English", u"", u"English"), | ||||||
|     (u"zh-classical", u"古文 / 文言文", u"", u"Classical Chinese"), |     (u"bcl", u"Bikol", u"", u"Central Bicolano") | ||||||
|     (u"bcl", u"Bikol", u"", u"Central Bicolano"), |  | ||||||
|     (u"en-XA", u"English", u"", u"English") |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
|  | @ -11,7 +11,7 @@ | ||||||
| 
 | 
 | ||||||
| from requests import get | from requests import get | ||||||
| from re import sub | from re import sub | ||||||
| from lxml.html import fromstring | from lxml.html import fromstring, tostring | ||||||
| from json import loads | from json import loads | ||||||
| from sys import path | from sys import path | ||||||
| path.append('../searx') | path.append('../searx') | ||||||
|  | @ -25,6 +25,28 @@ google_json_name = 'google.preferences.langMap' | ||||||
| 
 | 
 | ||||||
| languages = {} | languages = {} | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | # To filter out invalid codes and dialects. | ||||||
|  | def valid_code(lang_code): | ||||||
|  |     # filter invalid codes | ||||||
|  |     if lang_code[:2] == 'xx'\ | ||||||
|  |        or lang_code == 'jw'\ | ||||||
|  |        or lang_code[-2:] == 'UK'\ | ||||||
|  |        or lang_code[-2:] == 'XA'\ | ||||||
|  |        or lang_code[-2:] == 'XL': | ||||||
|  |         return False | ||||||
|  | 
 | ||||||
|  |     # filter dialects | ||||||
|  |     lang_code = lang_code.split('-') | ||||||
|  |     if len(lang_code) > 2 or len(lang_code[0]) > 3: | ||||||
|  |         return False | ||||||
|  |     if len(lang_code) == 2 and len(lang_code[1]) > 2: | ||||||
|  |         print lang_code | ||||||
|  |         return False | ||||||
|  |          | ||||||
|  |     return True | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| # Get language names from Wikipedia. | # Get language names from Wikipedia. | ||||||
| def get_wikipedia_languages(): | def get_wikipedia_languages(): | ||||||
|     response = get(wiki_languages_url) |     response = get(wiki_languages_url) | ||||||
|  | @ -38,10 +60,13 @@ def get_wikipedia_languages(): | ||||||
|             code = td[3].xpath('./a')[0].text |             code = td[3].xpath('./a')[0].text | ||||||
|             name = td[2].xpath('./a')[0].text |             name = td[2].xpath('./a')[0].text | ||||||
|             english_name = td[1].xpath('./a')[0].text |             english_name = td[1].xpath('./a')[0].text | ||||||
|  |             articles = int(td[4].xpath('./a/b')[0].text.replace(',','')) | ||||||
|              |              | ||||||
|             if code not in languages: |             # exclude languages with few articles and language variants | ||||||
|  |             if code not in languages and articles >= 100 and valid_code(code): | ||||||
|                 languages[code] = (name, '', english_name) |                 languages[code] = (name, '', english_name) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| # Get language names from Google. | # Get language names from Google. | ||||||
| def get_google_languages(): | def get_google_languages(): | ||||||
|     response = get(google_languages_url) |     response = get(google_languages_url) | ||||||
|  | @ -51,25 +76,27 @@ def get_google_languages(): | ||||||
|         code = option.xpath('./@value')[0] |         code = option.xpath('./@value')[0] | ||||||
|         name = option.text[:-1] |         name = option.text[:-1] | ||||||
| 
 | 
 | ||||||
|         if code not in languages: |         if code not in languages and valid_code(code): | ||||||
|             languages[code] = (name, '', '') |             languages[code] = (name, '', '') | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| # Join all language lists. | # Join all language lists. | ||||||
| # iterate all languages supported by each engine | # iterate all languages supported by each engine | ||||||
| def join_language_lists(): | def join_language_lists(): | ||||||
|     for engine_name in engines: |     for engine_name in engines: | ||||||
|         for locale in engines[engine_name].supported_languages: |         for locale in engines[engine_name].supported_languages: | ||||||
|             locale = locale.replace('_', '-') |             locale = locale.replace('_', '-') | ||||||
|             if locale not in languages: |             if locale not in languages and valid_code(locale): | ||||||
|                 # try to get language name |                 # try to get language name | ||||||
|                 language = languages.get(locale.split('-')[0], None) |                 language = languages.get(locale.split('-')[0], None) | ||||||
|                 if language == None: |                 if language == None: | ||||||
|                     print engine_name + ": " + locale |                     # print engine_name + ": " + locale | ||||||
|                     continue |                     continue | ||||||
| 
 | 
 | ||||||
|                 (name, country, english) = language |                 (name, country, english) = language | ||||||
|                 languages[locale] = (name, country, english) |                 languages[locale] = (name, country, english) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| # Write languages.py. | # Write languages.py. | ||||||
| def write_languages_file(): | def write_languages_file(): | ||||||
|     new_file = open('languages.py', 'w') |     new_file = open('languages.py', 'w') | ||||||
|  | @ -81,7 +108,7 @@ def write_languages_file(): | ||||||
|         (name, country, english) = languages[code] |         (name, country, english) = languages[code] | ||||||
|         file_content += '\n    (u"' + code + '"'\ |         file_content += '\n    (u"' + code + '"'\ | ||||||
|                         + ', u"' + name + '"'\ |                         + ', u"' + name + '"'\ | ||||||
|                         + ', u"' + country[1:-1] + '"'\ |                         + ', u"' + country + '"'\ | ||||||
|                         + ', u"' + english + '"),' |                         + ', u"' + english + '"),' | ||||||
|     # remove last comma |     # remove last comma | ||||||
|     file_content = file_content[:-1] |     file_content = file_content[:-1] | ||||||
|  | @ -89,11 +116,13 @@ def write_languages_file(): | ||||||
|     new_file.write(file_content.encode('utf8')) |     new_file.write(file_content.encode('utf8')) | ||||||
|     new_file.close() |     new_file.close() | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| def main(): | def main(): | ||||||
|     get_wikipedia_languages() |     get_wikipedia_languages() | ||||||
|     get_google_languages() |     get_google_languages() | ||||||
|     join_language_lists() |     join_language_lists() | ||||||
|     write_languages_file() |     write_languages_file() | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| if __name__ == "__main__": | if __name__ == "__main__": | ||||||
|     main() |     main() | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 marc
						marc