# Abhängigkeiten from platform import python_version_tuple as pvt import tarfile, io, shutil, os try: # Python 3 import urllib.request as ulr except: # Python 2 import urllib2 as ulr # Plattform try: # Android import androidhelper platform = "Android" except: try: # iOS import objc_util platform = "iOS" except: # Andere, bisher nicht implementiert print("Velamentum konnte nicht installiert werden.") quit() # Pfade festlegen if platform == "Android": tmpPVSP = "3" if pvt()[0] > 2 else "" archPath = "/sdcard/qpython/scripts" + tmpPVSP + "/tmp" biblPath = "/sdcard/qpython/lib/python" + pvt()[0] + "." + pvt()[1] + "/site-packages" exmpPath = "/sdcard/qpython/scripts" + tmpPVSP + "/Beispiele" elif platform == "iOS": archPath = os.path.expanduser("~/Documents/tmp") biblPath = os.path.expanduser("~/Documents/site-packages") exmpPath = os.path.expanduser("~/Documents/Examples") # Alte Installation löschen shutil.rmtree(exmpPath + "/velamentum", True) shutil.rmtree(biblPath + "/velamentum", True) # Verzeichnisse anlegen if not os.path.exists(archPath): os.makedirs(archPath) if not os.path.exists(biblPath): os.makedirs(biblPath) if not os.path.exists(exmpPath): os.makedirs(exmpPath) # Tarball des GIT-Repos laden arch = tarfile.open(fileobj=io.BytesIO(ulr.urlopen("https://dev.spittank.org/mobile/velamentum/repository/archive.tar.gz?ref=master").read())) # Extrahieren cmid = arch.getnames()[0] arch.extractall(path=archPath) # Installieren vsrcPath = archPath + "/" + cmid + "/source/" shutil.move(vsrcPath + platform, biblPath + '/velamentum') shutil.move(vsrcPath + "Examples", exmpPath + '/velamentum') # Nicht benötigte Dateien löschen shutil.rmtree(archPath, True) print("Die aktuelle Version von Velamentum wurde installiert. Bitte die App neu starten.")