mirror of
https://github.com/FliegendeWurst/googleplay-api.git
synced 2024-11-22 12:54:58 +00:00
Fix #22
Now gpapi checks if the locale retrieved from system or provided by the user is valid. In case it's invalid, default to en_US.
This commit is contained in:
parent
ac2d07a8c9
commit
c61819d00b
@ -3,6 +3,7 @@ from time import time
|
|||||||
from os import path
|
from os import path
|
||||||
from sys import version_info
|
from sys import version_info
|
||||||
from locale import getdefaultlocale
|
from locale import getdefaultlocale
|
||||||
|
from re import match
|
||||||
|
|
||||||
VERSION = version_info[0]
|
VERSION = version_info[0]
|
||||||
if VERSION == 2:
|
if VERSION == 2:
|
||||||
@ -48,11 +49,20 @@ class DeviceBuilder(object):
|
|||||||
|
|
||||||
def __init__(self, device):
|
def __init__(self, device):
|
||||||
self.device = {}
|
self.device = {}
|
||||||
self.locale = getdefaultlocale()[0]
|
|
||||||
self.timezone = "Europe/Berlin"
|
self.timezone = "Europe/Berlin"
|
||||||
for (key, value) in config.items(device):
|
for (key, value) in config.items(device):
|
||||||
self.device[key] = value
|
self.device[key] = value
|
||||||
|
|
||||||
|
def setLocale(self, locale):
|
||||||
|
if locale is None:
|
||||||
|
locale = getdefaultlocale()[0]
|
||||||
|
|
||||||
|
# check if locale matches the structure of a common
|
||||||
|
# value like "en_US"
|
||||||
|
if match(r'[a-z]{2}\_[A-Z]{2}', locale) is None:
|
||||||
|
locale = 'en_US'
|
||||||
|
self.locale = locale
|
||||||
|
|
||||||
def getUserAgent(self):
|
def getUserAgent(self):
|
||||||
return ("Android-Finsky/8.1.72.S-all [6] [PR] 165478484 ("
|
return ("Android-Finsky/8.1.72.S-all [6] [PR] 165478484 ("
|
||||||
"api=3"
|
"api=3"
|
||||||
|
@ -52,8 +52,7 @@ class GooglePlayAPI(object):
|
|||||||
self.gsfId = None
|
self.gsfId = None
|
||||||
self.debug = debug
|
self.debug = debug
|
||||||
self.deviceBuilder = config.DeviceBuilder(device_codename)
|
self.deviceBuilder = config.DeviceBuilder(device_codename)
|
||||||
if locale is not None:
|
self.deviceBuilder.setLocale(locale)
|
||||||
self.deviceBuilder.locale = locale
|
|
||||||
if timezone is not None:
|
if timezone is not None:
|
||||||
self.deviceBuilder.timezone = timezone
|
self.deviceBuilder.timezone = timezone
|
||||||
if sim_operator is not None:
|
if sim_operator is not None:
|
||||||
|
Loading…
Reference in New Issue
Block a user