version.py
3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# -*- coding: utf-8 -*-
import os.path
import json, zipfile, subprocess,urllib
from os import popen
import Util
import sys , shutil
from threading import Thread
class TVersion(Thread):
"""classe responsável por fornecer as versões do player e do dicionário"""
def __init__(self):
self.api_dict_version_full = '0.0.0_0.0.0'
self.api_dict_version = 000000
self.api_player_version = 000
self.api_player_version_full = '0.0.0'
self.url_download_player = ''
self.url_download_dict = ''
self.local_dict_version_full = '0.0.0_0.0.0'
self.local_dict_version = 000000
self.local_player_version = 000
Thread.__init__(self)
def run(self):
self.loadLocalVersion()
self.loadApiVersion()
## Carrega a versão online do dicionario e do play
def loadApiVersion(self):
try:
if(Util.downladFileApi(Util.URL_REQUEST_API+self.local_dict_version_full+'?type=json')):
with open(Util.JSON_API_VERSION) as data:
json_data = json.load(data)
self.api_dict_version_full = json_data['dictionaryVersion'].encode('utf-8')
self.api_dict_version = int(json_data['dictionaryVersion'].encode('utf-8').replace(".", "").replace("_", ""))
self.api_player_version = int(json_data['playerVersion'].encode('utf-8').replace(".", ""))
self.api_player_version_full = json_data['playerVersion'].encode('utf-8')
self.url_download_player = json_data['playerUrl'].encode('utf-8')
self.url_download_dict = json_data['dictionaryUrl'].encode('utf-8')
else:
print 'Erro ao fazer download do json de versoes'
except:
print 'Erro ao carregar JSON_API_VERSION'
## Carrega a versão local do dicionario e do play
def loadLocalVersion(self):
if os.path.isfile(Util.TXT_DICT_VERSION):
fileDictVersion = open(Util.TXT_DICT_VERSION,'r')
versionLocalDict = fileDictVersion.readline()
fileDictVersion.close()
self.local_dict_version_full = versionLocalDict
self.local_dict_version = int(versionLocalDict.encode('utf-8').replace(".", "").replace("_", ""))
if os.path.isfile(Util.TXT_PLAYER_VERSION):
filePlayerVersion = open(Util.TXT_PLAYER_VERSION,'r')
versionLocalPlayer = filePlayerVersion.readline()
filePlayerVersion.close()
self.local_player_version = int(versionLocalPlayer.encode('utf-8').replace(".", ""))
## Verifica se a vesao local do player é menor que a disponível pra download
def isUpdatePlayer(self):
return self.api_player_version > self.local_player_version
## Verifica se a vesao local do dicionário é menor que a disponível pra download
def isUpdateDict(self):
return self.api_dict_version > self.local_dict_version
## recarrega as versões
def reload(self):
self.loadLocalVersion()
self.loadApiVersion()
"""return (1 = player para átualizar, 2 = dicionario para atualizar, 0 = não existe atualização disponível) """
def checkVersion(self):
self.reload()
if(self.isUpdatePlayer()):
return '1';
elif (self.isUpdateDict()):
return '2'
else:
return '0'
if __name__ == '__main__':
version = TVersion()
version.start()
version.checkVersion();
print'existe novo player: ',version.isUpdatePlayer()
print 'existe novo dicionario: ',version.isUpdateDict()
print 'versao local do dicionario: ',version.local_dict_version
print 'versao api do dicionario: ',version.api_dict_version