Skip to content

Instantly share code, notes, and snippets.

@cengizhancaliskan
Created November 11, 2017 21:57
Show Gist options
  • Save cengizhancaliskan/929c7a3b811da1917f81bfb9318ad2d8 to your computer and use it in GitHub Desktop.
Save cengizhancaliskan/929c7a3b811da1917f81bfb9318ad2d8 to your computer and use it in GitHub Desktop.
python turkish location
import sys
import re
import json
import unidecode
def slugify(text):
text = unidecode.unidecode(text).lower()
return re.sub(r'\W+', '-', text)
if (sys.version_info[0] < 3):
import urllib2
import urllib
import HTMLParser
else:
import html.parser
import urllib.request
import urllib.parse
agent = {'User-Agent':
"Mozilla/4.0 (\
compatible;\
MSIE 6.0;\
Windows NT 5.1;\
SV1;\
.NET CLR 1.1.4322;\
.NET CLR 2.0.50727;\
.NET CLR 3.0.04506.30\
)"}
def unescape(text):
if (sys.version_info[0] < 3):
parser = HTMLParser.HTMLParser()
else:
parser = html.parser.HTMLParser()
return (parser.unescape(text))
def translate(to_translate, to_language="auto", from_language="auto"):
"""Returns the translation using google translate
you must shortcut the language you define
(French = fr, English = en, Spanish = es, etc...)
if not defined it will detect it or use english by default
Example:
print(translate("salut tu vas bien?", "en"))
hello you alright?
"""
base_link = "http://translate.google.com/m?hl=%s&sl=%s&q=%s"
if (sys.version_info[0] < 3):
to_translate = urllib.quote_plus(to_translate)
link = base_link % (to_language, from_language, to_translate)
request = urllib2.Request(link, headers=agent)
raw_data = urllib2.urlopen(request).read()
else:
to_translate = urllib.parse.quote(to_translate)
link = base_link % (to_language, from_language, to_translate)
request = urllib.request.Request(link, headers=agent)
raw_data = urllib.request.urlopen(request).read()
data = raw_data.decode("utf-8")
expr = r'class="t0">(.*?)<'
re_result = re.findall(expr, data)
if (len(re_result) == 0):
result = ""
else:
result = unescape(re_result[0])
return (result)
data = json.loads(
'''
{
"0": {
"name": "",
"name_en": "Argentina",
"code": "ar"
},
"1": {
"name": "",
"name_en": "Australia",
"code": "au"
},
"2": {
"name": "",
"name_en": "Austria",
"code": "at"
},
"3": {
"name": "",
"name_en": "Belgium",
"code": "be"
},
"4": {
"name": "",
"name_en": "Brazil",
"code": "br"
},
"5": {
"name": "",
"name_en": "Bulgaria",
"code": "bg"
},
"6": {
"name": "",
"name_en": "Canada",
"code": "ca"
},
"7": {
"name": "",
"name_en": "China",
"code": "cn"
},
"8": {
"name": "",
"name_en": "Colombia",
"code": "co"
},
"9": {
"name": "",
"name_en": "Costa Rica",
"code": "cr"
},
"10": {
"name": "",
"name_en": "Czech Republic",
"code": "cz"
},
"11": {
"name": "",
"name_en": "Denmark",
"code": "dk"
},
"12": {
"name": "",
"name_en": "Finland",
"code": "fi"
},
"13": {
"name": "",
"name_en": "France",
"code": "fr"
},
"14": {
"name": "",
"name_en": "Germany",
"code": "de"
},
"15": {
"name": "",
"name_en": "Greece",
"code": "gr"
},
"16": {
"name": "",
"name_en": "Hong Kong",
"code": "hk"
},
"17": {
"name": "",
"name_en": "Hungary",
"code": "hu"
},
"18": {
"name": "",
"name_en": "Iceland",
"code": "is"
},
"19": {
"name": "",
"name_en": "India",
"code": "in"
},
"20": {
"name": "",
"name_en": "Iran",
"code": "ir"
},
"21": {
"name": "",
"name_en": "Ireland",
"code": "ie"
},
"22": {
"name": "",
"name_en": "Italy",
"code": "it"
},
"23": {
"name": "",
"name_en": "Japan",
"code": "jp"
},
"24": {
"name": "",
"name_en": "Malaysia",
"code": "my"
},
"25": {
"name": "",
"name_en": "Mexico",
"code": "mx"
},
"26": {
"name": "",
"name_en": "Netherlands",
"code": "nl"
},
"27": {
"name": "",
"name_en": "New Zealand",
"code": "nz"
},
"28": {
"name": "",
"name_en": "Pakistan",
"code": "pk"
},
"29": {
"name": "",
"name_en": "Poland",
"code": "pl"
},
"30": {
"name": "",
"name_en": "Portugal",
"code": "pt"
},
"31": {
"name": "",
"name_en": "Romania",
"code": "ro"
},
"32": {
"name": "",
"name_en": "Russia",
"code": "ru"
},
"33": {
"name": "",
"name_en": "Singapore",
"code": "sg"
},
"34": {
"name": "",
"name_en": "South Africa",
"code": "za"
},
"35": {
"name": "",
"name_en": "Spain",
"code": "es"
},
"36": {
"name": "",
"name_en": "Sweden",
"code": "se"
},
"37": {
"name": "",
"name_en": "Switzerland",
"code": "ch"
},
"38": {
"name": "",
"name_en": "Thailand",
"code": "th"
},
"39": {
"name": "",
"name_en": "United Kingdom",
"code": "gb"
},
"40": {
"name": "",
"name_en": "United States",
"code": "us"
},
"41": {
"name": "",
"name_en": "Afghanistan",
"code": "af"
},
"42": {
"name": "",
"name_en": "Åland Islands",
"code": "ax"
},
"43": {
"name": "",
"name_en": "Albania",
"code": "al"
},
"44": {
"name": "",
"name_en": "Algeria",
"code": "dz"
},
"45": {
"name": "",
"name_en": "American Samoa",
"code": "as"
},
"46": {
"name": "",
"name_en": "Andorra",
"code": "ad"
},
"47": {
"name": "",
"name_en": "Angola",
"code": "ao"
},
"48": {
"name": "",
"name_en": "Anguilla",
"code": "ai"
},
"49": {
"name": "",
"name_en": "Antarctica",
"code": "aq"
},
"50": {
"name": "",
"name_en": "Antigua and Barbuda",
"code": "ag"
},
"51": {
"name": "",
"name_en": "Armenia",
"code": "am"
},
"52": {
"name": "",
"name_en": "Aruba",
"code": "aw"
},
"53": {
"name": "",
"name_en": "Azerbaijan",
"code": "az"
},
"54": {
"name": "",
"name_en": "Bahamas",
"code": "bs"
},
"55": {
"name": "",
"name_en": "Bahrain",
"code": "bh"
},
"56": {
"name": "",
"name_en": "Bangladesh",
"code": "bd"
},
"57": {
"name": "",
"name_en": "Barbados",
"code": "bb"
},
"58": {
"name": "",
"name_en": "Belarus",
"code": "by"
},
"59": {
"name": "",
"name_en": "Belize",
"code": "bz"
},
"60": {
"name": "",
"name_en": "Benin",
"code": "bj"
},
"61": {
"name": "",
"name_en": "Bermuda",
"code": "bm"
},
"62": {
"name": "",
"name_en": "Bhutan",
"code": "bt"
},
"63": {
"name": "",
"name_en": "Bolivia",
"code": "bo"
},
"64": {
"name": "",
"name_en": "Bonaire, Sint Eustatius and Saba",
"code": "bq"
},
"65": {
"name": "",
"name_en": "Bosnia and Herzegovina",
"code": "ba"
},
"66": {
"name": "",
"name_en": "Botswana",
"code": "bw"
},
"67": {
"name": "",
"name_en": "Bouvet Island",
"code": "bv"
},
"68": {
"name": "",
"name_en": "British Indian Ocean Territory",
"code": "io"
},
"69": {
"name": "",
"name_en": "British Virgin Islands",
"code": "vg"
},
"70": {
"name": "",
"name_en": "Brunei Darussalam",
"code": "bn"
},
"71": {
"name": "",
"name_en": "Burkina Faso",
"code": "bf"
},
"72": {
"name": "",
"name_en": "Burma",
"code": "bumm"
},
"73": {
"name": "",
"name_en": "Burundi",
"code": "bi"
},
"74": {
"name": "",
"name_en": "Cambodia",
"code": "kh"
},
"75": {
"name": "",
"name_en": "Cameroon",
"code": "cm"
},
"76": {
"name": "",
"name_en": "Cape Verde",
"code": "cv"
},
"77": {
"name": "",
"name_en": "Cayman Islands",
"code": "ky"
},
"78": {
"name": "",
"name_en": "Central African Republic",
"code": "cf"
},
"79": {
"name": "",
"name_en": "Chad",
"code": "td"
},
"80": {
"name": "",
"name_en": "Chile",
"code": "cl"
},
"81": {
"name": "",
"name_en": "Christmas Island",
"code": "cx"
},
"82": {
"name": "",
"name_en": "Cocos (Keeling) Islands",
"code": "cc"
},
"83": {
"name": "",
"name_en": "Comoros",
"code": "km"
},
"84": {
"name": "",
"name_en": "Congo",
"code": "cg"
},
"85": {
"name": "",
"name_en": "Cook Islands",
"code": "ck"
},
"86": {
"name": "",
"name_en": "Côte d'Ivoire",
"code": "ci"
},
"87": {
"name": "",
"name_en": "Croatia",
"code": "hr"
},
"88": {
"name": "",
"name_en": "Cuba",
"code": "cu"
},
"89": {
"name": "",
"name_en": "Cyprus",
"code": "cy"
},
"90": {
"name": "",
"name_en": "Czechoslovakia",
"code": "cshh"
},
"91": {
"name": "",
"name_en": "Democratic Republic of the Congo",
"code": "cd"
},
"92": {
"name": "",
"name_en": "Djibouti",
"code": "dj"
},
"93": {
"name": "",
"name_en": "Dominica",
"code": "dm"
},
"94": {
"name": "",
"name_en": "Dominican Republic",
"code": "do"
},
"95": {
"name": "",
"name_en": "East Germany",
"code": "ddde"
},
"96": {
"name": "",
"name_en": "Ecuador",
"code": "ec"
},
"97": {
"name": "",
"name_en": "Egypt",
"code": "eg"
},
"98": {
"name": "",
"name_en": "El Salvador",
"code": "sv"
},
"99": {
"name": "",
"name_en": "Equatorial Guinea",
"code": "gq"
},
"100": {
"name": "",
"name_en": "Eritrea",
"code": "er"
},
"101": {
"name": "",
"name_en": "Estonia",
"code": "ee"
},
"102": {
"name": "",
"name_en": "Ethiopia",
"code": "et"
},
"103": {
"name": "",
"name_en": "Falkland Islands",
"code": "fk"
},
"104": {
"name": "",
"name_en": "Faroe Islands",
"code": "fo"
},
"105": {
"name": "",
"name_en": "Federal Republic of Yugoslavia",
"code": "yucs"
},
"106": {
"name": "",
"name_en": "Federated States of Micronesia",
"code": "fm"
},
"107": {
"name": "",
"name_en": "Fiji",
"code": "fj"
},
"108": {
"name": "",
"name_en": "French Guiana",
"code": "gf"
},
"109": {
"name": "",
"name_en": "French Polynesia",
"code": "pf"
},
"110": {
"name": "",
"name_en": "French Southern Territories",
"code": "tf"
},
"111": {
"name": "",
"name_en": "Gabon",
"code": "ga"
},
"112": {
"name": "",
"name_en": "Gambia",
"code": "gm"
},
"113": {
"name": "",
"name_en": "Georgia",
"code": "ge"
},
"114": {
"name": "",
"name_en": "Ghana",
"code": "gh"
},
"115": {
"name": "",
"name_en": "Gibraltar",
"code": "gi"
},
"116": {
"name": "",
"name_en": "Greenland",
"code": "gl"
},
"117": {
"name": "",
"name_en": "Grenada",
"code": "gd"
},
"118": {
"name": "",
"name_en": "Guadeloupe",
"code": "gp"
},
"119": {
"name": "",
"name_en": "Guam",
"code": "gu"
},
"120": {
"name": "",
"name_en": "Guatemala",
"code": "gt"
},
"121": {
"name": "",
"name_en": "Guernsey",
"code": "gg"
},
"122": {
"name": "",
"name_en": "Guinea",
"code": "gn"
},
"123": {
"name": "",
"name_en": "Guinea-Bissau",
"code": "gw"
},
"124": {
"name": "",
"name_en": "Guyana",
"code": "gy"
},
"125": {
"name": "",
"name_en": "Haiti",
"code": "ht"
},
"126": {
"name": "",
"name_en": "Heard Island and McDonald Islands",
"code": "hm"
},
"127": {
"name": "",
"name_en": "Holy See (Vatican City State)",
"code": "va"
},
"128": {
"name": "",
"name_en": "Honduras",
"code": "hn"
},
"129": {
"name": "",
"name_en": "Indonesia",
"code": "id"
},
"130": {
"name": "",
"name_en": "Iraq",
"code": "iq"
},
"131": {
"name": "",
"name_en": "Isle of Man",
"code": "im"
},
"132": {
"name": "",
"name_en": "Israel",
"code": "il"
},
"133": {
"name": "",
"name_en": "Jamaica",
"code": "jm"
},
"134": {
"name": "",
"name_en": "Jersey",
"code": "je"
},
"135": {
"name": "",
"name_en": "Jordan",
"code": "jo"
},
"136": {
"name": "",
"name_en": "Kazakhstan",
"code": "kz"
},
"137": {
"name": "",
"name_en": "Kenya",
"code": "ke"
},
"138": {
"name": "",
"name_en": "Kiribati",
"code": "ki"
},
"139": {
"name": "",
"name_en": "Korea",
"code": "xko"
},
"140": {
"name": "",
"name_en": "Kosovo",
"code": "xkv"
},
"141": {
"name": "",
"name_en": "Kuwait",
"code": "kw"
},
"142": {
"name": "",
"name_en": "Kyrgyzstan",
"code": "kg"
},
"143": {
"name": "",
"name_en": "Laos",
"code": "la"
},
"144": {
"name": "",
"name_en": "Latvia",
"code": "lv"
},
"145": {
"name": "",
"name_en": "Lebanon",
"code": "lb"
},
"146": {
"name": "",
"name_en": "Lesotho",
"code": "ls"
},
"147": {
"name": "",
"name_en": "Liberia",
"code": "lr"
},
"148": {
"name": "",
"name_en": "Libya",
"code": "ly"
},
"149": {
"name": "",
"name_en": "Liechtenstein",
"code": "li"
},
"150": {
"name": "",
"name_en": "Lithuania",
"code": "lt"
},
"151": {
"name": "",
"name_en": "Luxembourg",
"code": "lu"
},
"152": {
"name": "",
"name_en": "Macao",
"code": "mo"
},
"153": {
"name": "",
"name_en": "Madagascar",
"code": "mg"
},
"154": {
"name": "",
"name_en": "Malawi",
"code": "mw"
},
"155": {
"name": "",
"name_en": "Maldives",
"code": "mv"
},
"156": {
"name": "",
"name_en": "Mali",
"code": "ml"
},
"157": {
"name": "",
"name_en": "Malta",
"code": "mt"
},
"158": {
"name": "",
"name_en": "Marshall Islands",
"code": "mh"
},
"159": {
"name": "",
"name_en": "Martinique",
"code": "mq"
},
"160": {
"name": "",
"name_en": "Mauritania",
"code": "mr"
},
"161": {
"name": "",
"name_en": "Mauritius",
"code": "mu"
},
"162": {
"name": "",
"name_en": "Mayotte",
"code": "yt"
},
"163": {
"name": "",
"name_en": "Moldova",
"code": "md"
},
"164": {
"name": "",
"name_en": "Monaco",
"code": "mc"
},
"165": {
"name": "",
"name_en": "Mongolia",
"code": "mn"
},
"166": {
"name": "",
"name_en": "Montenegro",
"code": "me"
},
"167": {
"name": "",
"name_en": "Montserrat",
"code": "ms"
},
"168": {
"name": "",
"name_en": "Morocco",
"code": "ma"
},
"169": {
"name": "",
"name_en": "Mozambique",
"code": "mz"
},
"170": {
"name": "",
"name_en": "Myanmar",
"code": "mm"
},
"171": {
"name": "",
"name_en": "Namibia",
"code": "na"
},
"172": {
"name": "",
"name_en": "Nauru",
"code": "nr"
},
"173": {
"name": "",
"name_en": "Nepal",
"code": "np"
},
"174": {
"name": "",
"name_en": "Netherlands Antilles",
"code": "an"
},
"175": {
"name": "",
"name_en": "New Caledonia",
"code": "nc"
},
"176": {
"name": "",
"name_en": "Nicaragua",
"code": "ni"
},
"177": {
"name": "",
"name_en": "Niger",
"code": "ne"
},
"178": {
"name": "",
"name_en": "Nigeria",
"code": "ng"
},
"179": {
"name": "",
"name_en": "Niue",
"code": "nu"
},
"180": {
"name": "",
"name_en": "Norfolk Island",
"code": "nf"
},
"181": {
"name": "",
"name_en": "North Korea",
"code": "kp"
},
"182": {
"name": "",
"name_en": "North Vietnam",
"code": "vdvn"
},
"183": {
"name": "",
"name_en": "Northern Mariana Islands",
"code": "mp"
},
"184": {
"name": "",
"name_en": "Norway",
"code": "no"
},
"185": {
"name": "",
"name_en": "Oman",
"code": "om"
},
"186": {
"name": "",
"name_en": "Palau",
"code": "pw"
},
"187": {
"name": "",
"name_en": "Palestine",
"code": "xpi"
},
"188": {
"name": "",
"name_en": "Palestinian Territory",
"code": "ps"
},
"189": {
"name": "",
"name_en": "Panama",
"code": "pa"
},
"190": {
"name": "",
"name_en": "Papua New Guinea",
"code": "pg"
},
"191": {
"name": "",
"name_en": "Paraguay",
"code": "py"
},
"192": {
"name": "",
"name_en": "Peru",
"code": "pe"
},
"193": {
"name": "",
"name_en": "Philippines",
"code": "ph"
},
"194": {
"name": "",
"name_en": "Pitcairn",
"code": "pn"
},
"195": {
"name": "",
"name_en": "Puerto Rico",
"code": "pr"
},
"196": {
"name": "",
"name_en": "Qatar",
"code": "qa"
},
"197": {
"name": "",
"name_en": "Republic of Macedonia",
"code": "mk"
},
"198": {
"name": "",
"name_en": "Réunion",
"code": "re"
},
"199": {
"name": "",
"name_en": "Rwanda",
"code": "rw"
},
"200": {
"name": "",
"name_en": "Saint Barthélemy",
"code": "bl"
},
"201": {
"name": "",
"name_en": "Saint Helena",
"code": "sh"
},
"202": {
"name": "",
"name_en": "Saint Kitts and Nevis",
"code": "kn"
},
"203": {
"name": "",
"name_en": "Saint Lucia",
"code": "lc"
},
"204": {
"name": "",
"name_en": "Saint Martin (French part)",
"code": "mf"
},
"205": {
"name": "",
"name_en": "Saint Pierre and Miquelon",
"code": "pm"
},
"206": {
"name": "",
"name_en": "Saint Vincent and the Grenadines",
"code": "vc"
},
"207": {
"name": "",
"name_en": "Samoa",
"code": "ws"
},
"208": {
"name": "",
"name_en": "San Marino",
"code": "sm"
},
"209": {
"name": "",
"name_en": "Sao Tome and Principe",
"code": "st"
},
"210": {
"name": "",
"name_en": "Saudi Arabia",
"code": "sa"
},
"211": {
"name": "",
"name_en": "Senegal",
"code": "sn"
},
"212": {
"name": "",
"name_en": "Serbia",
"code": "rs"
},
"213": {
"name": "",
"name_en": "Serbia and Montenegro",
"code": "csxx"
},
"214": {
"name": "",
"name_en": "Seychelles",
"code": "sc"
},
"215": {
"name": "",
"name_en": "Siam",
"code": "xsi"
},
"216": {
"name": "",
"name_en": "Sierra Leone",
"code": "sl"
},
"217": {
"name": "",
"name_en": "Slovakia",
"code": "sk"
},
"218": {
"name": "",
"name_en": "Slovenia",
"code": "si"
},
"219": {
"name": "",
"name_en": "Solomon Islands",
"code": "sb"
},
"220": {
"name": "",
"name_en": "Somalia",
"code": "so"
},
"221": {
"name": "",
"name_en": "South Georgia and the South Sandwich Islands",
"code": "gs"
},
"222": {
"name": "",
"name_en": "South Korea",
"code": "kr"
},
"223": {
"name": "",
"name_en": "Soviet Union",
"code": "suhh"
},
"224": {
"name": "",
"name_en": "Sri Lanka",
"code": "lk"
},
"225": {
"name": "",
"name_en": "Sudan",
"code": "sd"
},
"226": {
"name": "",
"name_en": "Suriname",
"code": "sr"
},
"227": {
"name": "",
"name_en": "Svalbard and Jan Mayen",
"code": "sj"
},
"228": {
"name": "",
"name_en": "Swaziland",
"code": "sz"
},
"229": {
"name": "",
"name_en": "Syria",
"code": "sy"
},
"230": {
"name": "",
"name_en": "Taiwan",
"code": "tw"
},
"231": {
"name": "",
"name_en": "Tajikistan",
"code": "tj"
},
"232": {
"name": "",
"name_en": "Tanzania",
"code": "tz"
},
"233": {
"name": "",
"name_en": "Timor-Leste",
"code": "tl"
},
"234": {
"name": "",
"name_en": "Togo",
"code": "tg"
},
"235": {
"name": "",
"name_en": "Tokelau",
"code": "tk"
},
"236": {
"name": "",
"name_en": "Tonga",
"code": "to"
},
"237": {
"name": "",
"name_en": "Trinidad and Tobago",
"code": "tt"
},
"238": {
"name": "",
"name_en": "Tunisia",
"code": "tn"
},
"239": {
"name": "",
"name_en": "Turkey",
"code": "tr"
},
"240": {
"name": "",
"name_en": "Turkmenistan",
"code": "tm"
},
"241": {
"name": "",
"name_en": "Turks and Caicos Islands",
"code": "tc"
},
"242": {
"name": "",
"name_en": "Tuvalu",
"code": "tv"
},
"243": {
"name": "",
"name_en": "U.S. Virgin Islands",
"code": "vi"
},
"244": {
"name": "",
"name_en": "Uganda",
"code": "ug"
},
"245": {
"name": "",
"name_en": "Ukraine",
"code": "ua"
},
"246": {
"name": "",
"name_en": "United Arab Emirates",
"code": "ae"
},
"247": {
"name": "",
"name_en": "United States Minor Outlying Islands",
"code": "um"
},
"248": {
"name": "",
"name_en": "Uruguay",
"code": "uy"
},
"249": {
"name": "",
"name_en": "Uzbekistan",
"code": "uz"
},
"250": {
"name": "",
"name_en": "Vanuatu",
"code": "vu"
},
"251": {
"name": "",
"name_en": "Venezuela",
"code": "ve"
},
"252": {
"name": "",
"name_en": "Vietnam",
"code": "vn"
},
"253": {
"name": "",
"name_en": "Wallis and Futuna",
"code": "wf"
},
"254": {
"name": "",
"name_en": "West Germany",
"code": "xwg"
},
"255": {
"name": "",
"name_en": "Western Sahara",
"code": "eh"
},
"256": {
"name": "",
"name_en": "Yemen",
"code": "ye"
},
"257": {
"name": "",
"name_en": "Yugoslavia",
"code": "xyu"
},
"258": {
"name": "",
"name_en": "Zaire",
"code": "zrcd"
},
"259": {
"name": "",
"name_en": "Zambia",
"code": "zm"
},
"260": {
"name": "",
"name_en": "Zimbabwe",
"code": "zw"
}
}
'''
)
for item in data.values():
item['name'] = translate(item['name_en'], 'tr', 'en')
print('("%s", "%s","%s","%s",%s,%s),' % (item['code'], item['name'], item['name_en'], slugify(item['name']), 0, 1))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment