diff --git a/setup/setup.py b/setup/setup.py index 66cbbd8..0e84944 100644 --- a/setup/setup.py +++ b/setup/setup.py @@ -1,45 +1,60 @@ +# Abhängigkeiten +from platform import python_version_tuple as pvt import tarfile, io, shutil, os -try: import urllib.request as ulr -except: import urllib2 as ulr - 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: - platform = "other" + # Andere, bisher nicht implementiert quit() +# Pfade festlegen if platform == "Android": - archPath = "/sdcard/qpython/scripts3/tmp" - biblPath = "/sdcard/qpython/lib/python3.2/site-packages" - exmpPath = "/sdcard/qpython/scripts3/Beispiele" + 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.")