Skip to content

Commit e8da5b9

Browse files
author
Antonino Tramontana
committed
added addPackage function
1 parent 7c412e8 commit e8da5b9

File tree

1 file changed

+46
-8
lines changed

1 file changed

+46
-8
lines changed

musicPackages.py

Lines changed: 46 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,14 @@ def getInterfaceName(self):
8080

8181
def getAvaiable(self):
8282
return self.available
83-
83+
8484
def getIcon(self):
8585
return self.icon
8686

8787
class MusicPackageManager:
8888
_instance = None
8989
packages = None
90-
90+
9191
@classmethod
9292
def get_instance(cls):
9393
if cls._instance is None:
@@ -100,7 +100,7 @@ def __init__(self):
100100
with open('./sounds/notes/music_package.json') as json_file:
101101
data = json.load(json_file)
102102
for p in data['packages']:
103-
103+
104104
package = data['packages'][p]
105105
mp = MusicPackage(p,package['category'],package['name_IT'],package['name_EN'],package['version'],package['date'])
106106
for i in package['interface']:
@@ -115,18 +115,21 @@ def __init__(self):
115115

116116
def deletePackage(self, packageName):
117117
if packageName in self.packages:
118-
del self.packages[packageName]
118+
del self.packages[packageName]
119119
self.updatePackages()
120-
else:
120+
else:
121121
print("errore, il pacchetto " + packageName + " non è stato trovato")
122122

123123
if os.path.exists('./sounds/notes/' + packageName):
124-
os.system('rm -rf ./sounds/notes/' + packageName)
124+
os.system('rm -rf ./sounds/notes/' + packageName)
125125

126126

127127
def verifyVersion(self, packageName, version):
128128
print("verifica pacchetto")
129129
#newversionList = version.split('.')
130+
if packageName not in this.packages:
131+
return True
132+
130133
newVersionList = [int(x) for x in version.split('.')]
131134
#for i in ragen(0,len(newversionList) -1):
132135
#newversionList[i] = int(newLversionList[i])
@@ -136,11 +139,46 @@ def verifyVersion(self, packageName, version):
136139

137140
for i in range(0,len(newVersionList) -1):
138141
if(newVersionList[i] > oldVersionList[i] ):
139-
return True
142+
return True
140143
else if(newVersionList[i] < oldVersionList[i] ):
141144
return False
142145

143-
return False;
146+
return False
147+
148+
def addPackage(self, filename):
149+
pkgnames = filename.split('_')
150+
version = pkgnames[1].replace('.zip', '')
151+
pkgname = pkgnames[0]
152+
pkgpath = './sounds/notes/' + pkgname
153+
if not self.verifyVersion(pkgname, version):
154+
if (version == this.package[pkgName]['version']):
155+
return 3
156+
else:
157+
return 2
158+
else:
159+
160+
os.system('unzip -o ' + './updatePackages/' + filename + " -d ./updatePackages")
161+
162+
os.system('mkdir ' + pkgpath)
163+
os.system('mv ./updatePackages/' + pkgname + "/" + 'audio.wav ' + pkgpath + '/')
164+
165+
with open('./updatePackages/' + pkgname + '/' + pkgname + '.json') as json_file:
166+
print("adding " + pkgname + " package")
167+
data = json.load(json_file)
168+
for p in data['packages']:
169+
package = data['packages'][p]
170+
mp = MusicPackage(p,package['category'],package['name_IT'],package['name_EN'],package['version'],package['date'])
171+
for i in package['interface']:
172+
interfaceItem = package['interface'][i]
173+
mpi = MusicPackageInterface(i,interfaceItem['available'],interfaceItem['icon'])
174+
mp.addInterface(mpi)
175+
176+
self.packages[p] = mp
177+
178+
self.updatePackages()
179+
180+
os.system('rm -rf ./updatePackages/' + pkgname)
181+
return 1
144182

145183

146184
def isPackageAvailable(self,namePackage):

0 commit comments

Comments
 (0)