Я написал код, который сравнивает версию браузера на устройстве и последнюю существующую версию браузера.
Здесь:
import requests
import subprocess
def get_last_version(browser_name):
res = requests.get("https://vergrabber.kingu.pl/vergrabber.json")
last_version = repr(res.json()['latest']['client'][browser_name]['version'])
return last_version[2:-1]
def get_current_version(app_path):
res = subprocess.Popen(
'defaults read /Applications/' + app_path + '/Contents/Info.plist CFBundleShortVersionString',
shell=True, stdout=subprocess.PIPE).stdout
current_version = res.read()
return current_version
def compare_versions(browser_name, app_path):
if get_last_version(browser_name) == get_current_version(app_path):
return True
else:
return False
def main():
get_last_version('Google Chrome')
print get_last_version('Google Chrome')
get_current_version('Google\ Chrome.app')
print get_current_version('Google\ Chrome.app')
print compare_versions('Google Chrome', 'Google\ Chrome.app')
main()
Здесь вывод:
80.0.3987.149
80.0.3987.149
False
Я проверил лен и обнаружил, что это не то же самое:
80.0.3987.149
13
80.0.3987.149
14
False
Перед редактированием у меня было следующее значение:
u'80.0.3987.149'
16
80.0.3987.149
14
False
Я не понимаю, почему я получаю false ??? Можете ли вы сказать мне, в чем проблема?