|
@@ -20,7 +20,7 @@ app.apk_folder = "/var/www/html/palio.io/dashboardv2/uploads"
|
|
# app.apk_folder = "/Users/easysoft/"
|
|
# app.apk_folder = "/Users/easysoft/"
|
|
app.verbose = True
|
|
app.verbose = True
|
|
app.ssl = (
|
|
app.ssl = (
|
|
-'/etc/ssl/star.newuniverse.io/star.newuniverse.io.crt', '/etc/ssl/star.newuniverse.io/STAR_newuniverse_io.key')
|
|
|
|
|
|
+ '/etc/ssl/star.newuniverse.io/star.newuniverse.io.crt', '/etc/ssl/star.newuniverse.io/STAR_newuniverse_io.key')
|
|
# app.ssl =('/etc/ssl/STAR_palio_io/STAR_palio_io.crt', '/etc/ssl/STAR_palio_io/STAR_palio_io.pem')
|
|
# app.ssl =('/etc/ssl/STAR_palio_io/STAR_palio_io.crt', '/etc/ssl/STAR_palio_io/STAR_palio_io.pem')
|
|
|
|
|
|
# app.ssl = None
|
|
# app.ssl = None
|
|
@@ -35,71 +35,149 @@ def vprint(*data):
|
|
|
|
|
|
|
|
|
|
def create_folder(package_id):
|
|
def create_folder(package_id):
|
|
- path = os.path.join(app.temp_folder, package_id)
|
|
|
|
- if not os.path.exists(path):
|
|
|
|
- os.mkdir(path)
|
|
|
|
- else:
|
|
|
|
- shutil.rmtree(path)
|
|
|
|
- os.mkdir(path)
|
|
|
|
- vprint(path)
|
|
|
|
- path_dest = os.path.join(path, app.base_project_name)
|
|
|
|
- if not os.path.exists(path_dest):
|
|
|
|
- shutil.copytree(app.base_project, path_dest)
|
|
|
|
- code_path = "app/src/main/java/"
|
|
|
|
- orig_code = "com/example/qmeralitesamplecode"
|
|
|
|
- path_package_id = package_id.replace(".", "/")
|
|
|
|
- c_code_path = os.path.join(path_dest, code_path, path_package_id)
|
|
|
|
- orig_code_path = os.path.join(path_dest, code_path, orig_code)
|
|
|
|
- if not os.path.exists(c_code_path):
|
|
|
|
- shutil.copytree(orig_code_path, c_code_path)
|
|
|
|
- shutil.rmtree(orig_code_path)
|
|
|
|
- return path_dest, c_code_path
|
|
|
|
|
|
+ try:
|
|
|
|
+ path = os.path.join(app.temp_folder, package_id)
|
|
|
|
+ if not os.path.exists(path):
|
|
|
|
+ os.mkdir(path)
|
|
|
|
+ else:
|
|
|
|
+ shutil.rmtree(path)
|
|
|
|
+ os.mkdir(path)
|
|
|
|
+ vprint(path)
|
|
|
|
+ path_dest = os.path.join(path, app.base_project_name)
|
|
|
|
+ if not os.path.exists(path_dest):
|
|
|
|
+ shutil.copytree(app.base_project, path_dest)
|
|
|
|
+ code_path = "app/src/main/java/"
|
|
|
|
+ orig_code = "com/example/qmeralitesamplecode"
|
|
|
|
+ path_package_id = package_id.replace(".", "/")
|
|
|
|
+ c_code_path = os.path.join(path_dest, code_path, path_package_id)
|
|
|
|
+ orig_code_path = os.path.join(path_dest, code_path, orig_code)
|
|
|
|
+ if not os.path.exists(c_code_path):
|
|
|
|
+ shutil.copytree(orig_code_path, c_code_path)
|
|
|
|
+ shutil.rmtree(orig_code_path)
|
|
|
|
+ return path_dest, c_code_path
|
|
|
|
+ except:
|
|
|
|
+ raise
|
|
|
|
|
|
|
|
|
|
def change_acc(c_code_path, acc, enable_sms):
|
|
def change_acc(c_code_path, acc, enable_sms):
|
|
- main_activity = os.path.join(c_code_path, "MAB.java")
|
|
|
|
- with open(main_activity, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("***REPLACE***WITH***YOUR***QMERA***ACCOUNT***", acc)
|
|
|
|
- if enable_sms == 1:
|
|
|
|
- replaced = replaced.replace("isEnabledSMS = false", "isEnabledSMS = true")
|
|
|
|
- with open(main_activity, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
|
|
+ try:
|
|
|
|
+ main_activity = os.path.join(c_code_path, "MAB.java")
|
|
|
|
+ with open(main_activity, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("***REPLACE***WITH***YOUR***QMERA***ACCOUNT***", acc)
|
|
|
|
+ if enable_sms == 1:
|
|
|
|
+ replaced = replaced.replace("isEnabledSMS = false", "isEnabledSMS = true")
|
|
|
|
+ with open(main_activity, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ except:
|
|
|
|
+ raise
|
|
|
|
|
|
|
|
|
|
def change_url(c_code_path, url):
|
|
def change_url(c_code_path, url):
|
|
- main_activity = os.path.join(c_code_path, "MAB.java")
|
|
|
|
- with open(main_activity, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("https://www.google.com", url)
|
|
|
|
- with open(main_activity, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
|
|
+ try:
|
|
|
|
+ main_activity = os.path.join(c_code_path, "MAB.java")
|
|
|
|
+ with open(main_activity, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("https://www.google.com", url)
|
|
|
|
+ with open(main_activity, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ except:
|
|
|
|
+ raise
|
|
|
|
|
|
|
|
|
|
def change_name(path_dest, name, enable_sms):
|
|
def change_name(path_dest, name, enable_sms):
|
|
- manifest = os.path.join(path_dest, "app/src/main/AndroidManifest.xml")
|
|
|
|
- string_res = os.path.join(path_dest, "app/src/main/res/values/strings.xml")
|
|
|
|
- with open(manifest, "r") as f:
|
|
|
|
- lines = f.readlines()
|
|
|
|
- # file_source = f.read()
|
|
|
|
- with open(manifest, "w") as f:
|
|
|
|
- for line in lines:
|
|
|
|
- if "NexilisLite" in line:
|
|
|
|
- line = line.replace("NexilisLite", name)
|
|
|
|
- if enable_sms == 0:
|
|
|
|
- if "SMS" not in line:
|
|
|
|
|
|
+ try:
|
|
|
|
+ manifest = os.path.join(path_dest, "app/src/main/AndroidManifest.xml")
|
|
|
|
+ string_res = os.path.join(path_dest, "app/src/main/res/values/strings.xml")
|
|
|
|
+ with open(manifest, "r") as f:
|
|
|
|
+ lines = f.readlines()
|
|
|
|
+ # file_source = f.read()
|
|
|
|
+ with open(manifest, "w") as f:
|
|
|
|
+ for line in lines:
|
|
|
|
+ if "NexilisLite" in line:
|
|
|
|
+ line = line.replace("NexilisLite", name)
|
|
|
|
+ if enable_sms == 0:
|
|
|
|
+ if "SMS" not in line:
|
|
|
|
+ f.write(line)
|
|
|
|
+ else:
|
|
f.write(line)
|
|
f.write(line)
|
|
- else:
|
|
|
|
- f.write(line)
|
|
|
|
- with open(string_res, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("Nexilis Sport", name)
|
|
|
|
- with open(string_res, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
|
|
+ with open(string_res, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("Nexilis Sport", name)
|
|
|
|
+ with open(string_res, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ except:
|
|
|
|
+ raise
|
|
|
|
|
|
|
|
|
|
def change_font(path_dest, font, package):
|
|
def change_font(path_dest, font, package):
|
|
- if font == 1:
|
|
|
|
|
|
+ try:
|
|
|
|
+ if font == 1:
|
|
|
|
+ path_package_id = package.replace(".", "/")
|
|
|
|
+ code_path = "app/src/main/java/"
|
|
|
|
+ code_path = os.path.join(path_dest, code_path, path_package_id)
|
|
|
|
+ res_path = "app/src/main/res/"
|
|
|
|
+ res_path = os.path.join(path_dest, res_path)
|
|
|
|
+ javas = [os.path.join(dp, f) for dp, dn, filenames in os.walk(code_path) for f in filenames]
|
|
|
|
+ res = [os.path.join(dp, f) for dp, dn, filenames in os.walk(res_path) for f in filenames if "xml" in f]
|
|
|
|
+ button_apps_code_path = os.path.join(path_dest, "palio-button-app/src/main/java")
|
|
|
|
+ button_apps_res_path = os.path.join(path_dest, "palio-button-app/src/main/res-pba/")
|
|
|
|
+ lib_javas = [os.path.join(dp, f) for dp, dn, filenames in os.walk(button_apps_code_path) for f in filenames]
|
|
|
|
+ lib_res = [os.path.join(dp, f) for dp, dn, filenames in os.walk(button_apps_res_path) for f in filenames if
|
|
|
|
+ "xml" in f]
|
|
|
|
+ for j in javas:
|
|
|
|
+ print(j)
|
|
|
|
+ if "ForumFragment.java" in j:
|
|
|
|
+ with open(j, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("pb_poppins", "roboto")
|
|
|
|
+ with open(j, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ for j in res:
|
|
|
|
+ print(j)
|
|
|
|
+ with open(j, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("pb_poppins", "roboto")
|
|
|
|
+ with open(j, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ for j in lib_javas:
|
|
|
|
+ print(j)
|
|
|
|
+ with open(j, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("pb_poppins", "roboto")
|
|
|
|
+ with open(j, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ for j in lib_res:
|
|
|
|
+ print(j)
|
|
|
|
+ with open(j, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("pb_poppins", "roboto")
|
|
|
|
+ with open(j, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ except:
|
|
|
|
+ raise
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+def change_package(path_dest, package):
|
|
|
|
+ try:
|
|
|
|
+ build_gradle = os.path.join(path_dest, 'app/build.gradle')
|
|
|
|
+ with open(build_gradle, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("com.example.qmeralitesamplecode", package)
|
|
|
|
+ with open(build_gradle, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ proguard = os.path.join(path_dest, 'app/proguard-rules.pro')
|
|
|
|
+ with open(proguard, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("com.example.qmeralitesamplecode", package)
|
|
|
|
+ with open(proguard, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ manifest = os.path.join(path_dest, "app/src/main/AndroidManifest.xml")
|
|
|
|
+ with open(manifest, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("com.example.qmeralitesamplecode", package)
|
|
|
|
+ with open(manifest, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
path_package_id = package.replace(".", "/")
|
|
path_package_id = package.replace(".", "/")
|
|
code_path = "app/src/main/java/"
|
|
code_path = "app/src/main/java/"
|
|
code_path = os.path.join(path_dest, code_path, path_package_id)
|
|
code_path = os.path.join(path_dest, code_path, path_package_id)
|
|
@@ -107,252 +185,200 @@ def change_font(path_dest, font, package):
|
|
res_path = os.path.join(path_dest, res_path)
|
|
res_path = os.path.join(path_dest, res_path)
|
|
javas = [os.path.join(dp, f) for dp, dn, filenames in os.walk(code_path) for f in filenames]
|
|
javas = [os.path.join(dp, f) for dp, dn, filenames in os.walk(code_path) for f in filenames]
|
|
res = [os.path.join(dp, f) for dp, dn, filenames in os.walk(res_path) for f in filenames if "xml" in f]
|
|
res = [os.path.join(dp, f) for dp, dn, filenames in os.walk(res_path) for f in filenames if "xml" in f]
|
|
- button_apps_code_path = os.path.join(path_dest, "palio-button-app/src/main/java")
|
|
|
|
- button_apps_res_path = os.path.join(path_dest, "palio-button-app/src/main/res-pba/")
|
|
|
|
- lib_javas = [os.path.join(dp, f) for dp, dn, filenames in os.walk(button_apps_code_path) for f in filenames]
|
|
|
|
- lib_res = [os.path.join(dp, f) for dp, dn, filenames in os.walk(button_apps_res_path) for f in filenames if
|
|
|
|
- "xml" in f]
|
|
|
|
for j in javas:
|
|
for j in javas:
|
|
- print(j)
|
|
|
|
- if "ForumFragment.java" in j:
|
|
|
|
- with open(j, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("pb_poppins", "roboto")
|
|
|
|
- with open(j, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
- for j in res:
|
|
|
|
print(j)
|
|
print(j)
|
|
with open(j, "r") as f:
|
|
with open(j, "r") as f:
|
|
file_source = f.read()
|
|
file_source = f.read()
|
|
- replaced = file_source.replace("pb_poppins", "roboto")
|
|
|
|
|
|
+ replaced = file_source.replace("com.example.qmeralitesamplecode", package)
|
|
with open(j, "w") as f:
|
|
with open(j, "w") as f:
|
|
f.write(replaced)
|
|
f.write(replaced)
|
|
- for j in lib_javas:
|
|
|
|
- print(j)
|
|
|
|
- with open(j, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("pb_poppins", "roboto")
|
|
|
|
- with open(j, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
- for j in lib_res:
|
|
|
|
|
|
+ for j in res:
|
|
print(j)
|
|
print(j)
|
|
with open(j, "r") as f:
|
|
with open(j, "r") as f:
|
|
file_source = f.read()
|
|
file_source = f.read()
|
|
- replaced = file_source.replace("pb_poppins", "roboto")
|
|
|
|
|
|
+ replaced = file_source.replace("com.example.qmeralitesamplecode", package)
|
|
with open(j, "w") as f:
|
|
with open(j, "w") as f:
|
|
f.write(replaced)
|
|
f.write(replaced)
|
|
|
|
|
|
-
|
|
|
|
-def change_package(path_dest, package):
|
|
|
|
- build_gradle = os.path.join(path_dest, 'app/build.gradle')
|
|
|
|
- with open(build_gradle, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("com.example.qmeralitesamplecode", package)
|
|
|
|
- with open(build_gradle, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
- proguard = os.path.join(path_dest, 'app/proguard-rules.pro')
|
|
|
|
- with open(proguard, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("com.example.qmeralitesamplecode", package)
|
|
|
|
- with open(proguard, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
- manifest = os.path.join(path_dest, "app/src/main/AndroidManifest.xml")
|
|
|
|
- with open(manifest, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("com.example.qmeralitesamplecode", package)
|
|
|
|
- with open(manifest, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
- path_package_id = package.replace(".", "/")
|
|
|
|
- code_path = "app/src/main/java/"
|
|
|
|
- code_path = os.path.join(path_dest, code_path, path_package_id)
|
|
|
|
- res_path = "app/src/main/res/"
|
|
|
|
- res_path = os.path.join(path_dest, res_path)
|
|
|
|
- javas = [os.path.join(dp, f) for dp, dn, filenames in os.walk(code_path) for f in filenames]
|
|
|
|
- res = [os.path.join(dp, f) for dp, dn, filenames in os.walk(res_path) for f in filenames if "xml" in f]
|
|
|
|
- for j in javas:
|
|
|
|
- print(j)
|
|
|
|
- with open(j, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("com.example.qmeralitesamplecode", package)
|
|
|
|
- with open(j, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
- for j in res:
|
|
|
|
- print(j)
|
|
|
|
- with open(j, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("com.example.qmeralitesamplecode", package)
|
|
|
|
- with open(j, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
-
|
|
|
|
- gradle = os.path.join(path_dest, "app/build.gradle")
|
|
|
|
- with open(gradle, "r") as f:
|
|
|
|
- lines = f.readlines()
|
|
|
|
- # file_source = f.read()
|
|
|
|
- if package == "io.nexilis.digipos" or package == "io.nexilis.digisales":
|
|
|
|
- with open(gradle, "w") as f:
|
|
|
|
- counter = 0
|
|
|
|
- for line in lines:
|
|
|
|
- if counter == 0:
|
|
|
|
- if "forallapps" in line:
|
|
|
|
- counter = 3
|
|
|
|
- continue
|
|
|
|
- if "nexilis-libs" in line:
|
|
|
|
- continue
|
|
|
|
- if "temp-nexilis-client" in line:
|
|
|
|
- continue
|
|
|
|
- if "AP6ZuWCxBVTzLGiUjfacryBiwPQ" in line:
|
|
|
|
- continue
|
|
|
|
|
|
+ gradle = os.path.join(path_dest, "app/build.gradle")
|
|
|
|
+ with open(gradle, "r") as f:
|
|
|
|
+ lines = f.readlines()
|
|
|
|
+ # file_source = f.read()
|
|
|
|
+ if package == "io.nexilis.digipos" or package == "io.nexilis.digisales":
|
|
|
|
+ with open(gradle, "w") as f:
|
|
|
|
+ counter = 0
|
|
|
|
+ for line in lines:
|
|
|
|
+ if counter == 0:
|
|
|
|
+ if "forallapps" in line:
|
|
|
|
+ counter = 3
|
|
|
|
+ continue
|
|
|
|
+ if "nexilis-libs" in line:
|
|
|
|
+ continue
|
|
|
|
+ if "temp-nexilis-client" in line:
|
|
|
|
+ continue
|
|
|
|
+ if "AP6ZuWCxBVTzLGiUjfacryBiwPQ" in line:
|
|
|
|
+ continue
|
|
|
|
+ else:
|
|
|
|
+ f.write(line)
|
|
else:
|
|
else:
|
|
- f.write(line)
|
|
|
|
- else:
|
|
|
|
- counter = counter - 1
|
|
|
|
- else:
|
|
|
|
- with open(gradle, "w") as f:
|
|
|
|
- counter = 0
|
|
|
|
- for line in lines:
|
|
|
|
- if counter == 0:
|
|
|
|
- if "fordigisales" in line:
|
|
|
|
- counter = 3
|
|
|
|
- continue
|
|
|
|
- if "cx-button-libs" in line:
|
|
|
|
- continue
|
|
|
|
- if "cx-tsel-client" in line:
|
|
|
|
- continue
|
|
|
|
- if "AP5NjpoELAt7gHYMtnsrm9hxdGk" in line:
|
|
|
|
- continue
|
|
|
|
|
|
+ counter = counter - 1
|
|
|
|
+ else:
|
|
|
|
+ with open(gradle, "w") as f:
|
|
|
|
+ counter = 0
|
|
|
|
+ for line in lines:
|
|
|
|
+ if counter == 0:
|
|
|
|
+ if "fordigisales" in line:
|
|
|
|
+ counter = 3
|
|
|
|
+ continue
|
|
|
|
+ if "cx-button-libs" in line:
|
|
|
|
+ continue
|
|
|
|
+ if "cx-tsel-client" in line:
|
|
|
|
+ continue
|
|
|
|
+ if "AP5NjpoELAt7gHYMtnsrm9hxdGk" in line:
|
|
|
|
+ continue
|
|
|
|
+ else:
|
|
|
|
+ f.write(line)
|
|
else:
|
|
else:
|
|
- f.write(line)
|
|
|
|
- else:
|
|
|
|
- counter = counter - 1
|
|
|
|
|
|
+ counter = counter - 1
|
|
|
|
|
|
- if package == "com.nexilis.persija" or package == "io.newuniverse.GoToMalls" or package == "io.qmera.mylab":
|
|
|
|
- string_res = os.path.join(path_dest, "app/src/main/res/values/strings.xml")
|
|
|
|
- string_en_res = os.path.join(path_dest, "app/src/main/res/values-en/strings.xml")
|
|
|
|
- string_id_res = os.path.join(path_dest, "app/src/main/res/values-in/strings.xml")
|
|
|
|
- with open(string_res, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("Nexilis", "Qmera")
|
|
|
|
- with open(string_res, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
- with open(string_en_res, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("Nexilis", "Qmera")
|
|
|
|
- with open(string_en_res, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
- with open(string_id_res, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("Nexilis", "Qmera")
|
|
|
|
- with open(string_id_res, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
|
|
+ if package == "com.nexilis.persija" or package == "io.newuniverse.GoToMalls" or package == "io.qmera.mylab":
|
|
|
|
+ string_res = os.path.join(path_dest, "app/src/main/res/values/strings.xml")
|
|
|
|
+ string_en_res = os.path.join(path_dest, "app/src/main/res/values-en/strings.xml")
|
|
|
|
+ string_id_res = os.path.join(path_dest, "app/src/main/res/values-in/strings.xml")
|
|
|
|
+ with open(string_res, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("Nexilis", "Qmera")
|
|
|
|
+ with open(string_res, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ with open(string_en_res, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("Nexilis", "Qmera")
|
|
|
|
+ with open(string_en_res, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ with open(string_id_res, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("Nexilis", "Qmera")
|
|
|
|
+ with open(string_id_res, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
|
|
- old_img_powered = "app/src/main/res/drawable/pb_powered_button.png"
|
|
|
|
- old_img_powered = os.path.join(path_dest, old_img_powered)
|
|
|
|
- old_new_img_powered = "app/src/main/res/drawable/pb_powered_button_temp.png"
|
|
|
|
- old_new_img_powered = os.path.join(path_dest, old_new_img_powered)
|
|
|
|
- shutil.move(old_img_powered, old_new_img_powered)
|
|
|
|
|
|
+ old_img_powered = "app/src/main/res/drawable/pb_powered_button.png"
|
|
|
|
+ old_img_powered = os.path.join(path_dest, old_img_powered)
|
|
|
|
+ old_new_img_powered = "app/src/main/res/drawable/pb_powered_button_temp.png"
|
|
|
|
+ old_new_img_powered = os.path.join(path_dest, old_new_img_powered)
|
|
|
|
+ shutil.move(old_img_powered, old_new_img_powered)
|
|
|
|
|
|
- img_powered = "app/src/main/res/drawable/pb_powered_button1.png"
|
|
|
|
- img_powered = os.path.join(path_dest, img_powered)
|
|
|
|
- new_img_powered = "app/src/main/res/drawable/pb_powered_button.png"
|
|
|
|
- new_img_powered = os.path.join(path_dest, new_img_powered)
|
|
|
|
- shutil.move(img_powered, new_img_powered)
|
|
|
|
|
|
+ img_powered = "app/src/main/res/drawable/pb_powered_button1.png"
|
|
|
|
+ img_powered = os.path.join(path_dest, img_powered)
|
|
|
|
+ new_img_powered = "app/src/main/res/drawable/pb_powered_button.png"
|
|
|
|
+ new_img_powered = os.path.join(path_dest, new_img_powered)
|
|
|
|
+ shutil.move(img_powered, new_img_powered)
|
|
|
|
+ except:
|
|
|
|
+ raise
|
|
|
|
|
|
|
|
|
|
def change_logo(path_dest, logo, logo_float=None):
|
|
def change_logo(path_dest, logo, logo_float=None):
|
|
- img_path = "app/src/main/res/drawable/ic_launcher.png"
|
|
|
|
- img_path = os.path.join(path_dest, img_path)
|
|
|
|
- img_notif = "app/src/main/res/drawable/pb_ball.png"
|
|
|
|
- img_notif = os.path.join(path_dest, img_notif)
|
|
|
|
- img_path_float = "app/src/main/res/drawable/pb_button.png"
|
|
|
|
- img_path_float = os.path.join(path_dest, img_path_float)
|
|
|
|
- if isinstance(logo, str):
|
|
|
|
- logo = requests.get('https://newuniverse.io/dashboardv2/uploads/logo/{}'.format(logo))
|
|
|
|
- with open(img_path, "wb") as f:
|
|
|
|
- f.write(logo.content)
|
|
|
|
- with open(img_path, "rb") as f:
|
|
|
|
- logo = Image.open(f)
|
|
|
|
|
|
+ try:
|
|
|
|
+ img_path = "app/src/main/res/drawable/ic_launcher.png"
|
|
|
|
+ img_path = os.path.join(path_dest, img_path)
|
|
|
|
+ img_notif = "app/src/main/res/drawable/pb_ball.png"
|
|
|
|
+ img_notif = os.path.join(path_dest, img_notif)
|
|
|
|
+ img_path_float = "app/src/main/res/drawable/pb_button.png"
|
|
|
|
+ img_path_float = os.path.join(path_dest, img_path_float)
|
|
|
|
+ if isinstance(logo, str):
|
|
|
|
+ logo = requests.get('https://newuniverse.io/dashboardv2/uploads/logo/{}'.format(logo))
|
|
|
|
+ with open(img_path, "wb") as f:
|
|
|
|
+ f.write(logo.content)
|
|
|
|
+ with open(img_path, "rb") as f:
|
|
|
|
+ logo = Image.open(f)
|
|
|
|
+ logo = logo.resize((512, 512))
|
|
|
|
+ if logo_float:
|
|
|
|
+ logo_float = requests.get('https://newuniverse.io/dashboardv2/uploads/logofloat/{}'.format(logo_float))
|
|
|
|
+ with open(img_path_float, "wb") as f:
|
|
|
|
+ f.write(logo_float.content)
|
|
|
|
+ with open(img_path_float, "rb") as f:
|
|
|
|
+ logo_float = Image.open(f)
|
|
|
|
+ logo_float = logo_float.resize((150, 150))
|
|
|
|
+ else:
|
|
|
|
+ logo = Image.open(logo)
|
|
logo = logo.resize((512, 512))
|
|
logo = logo.resize((512, 512))
|
|
- if logo_float:
|
|
|
|
- logo_float = requests.get('https://newuniverse.io/dashboardv2/uploads/logofloat/{}'.format(logo_float))
|
|
|
|
- with open(img_path_float, "wb") as f:
|
|
|
|
- f.write(logo_float.content)
|
|
|
|
- with open(img_path_float, "rb") as f:
|
|
|
|
- logo_float = Image.open(f)
|
|
|
|
|
|
+ if logo_float:
|
|
|
|
+ logo_float = Image.open(logo_float)
|
|
logo_float = logo_float.resize((150, 150))
|
|
logo_float = logo_float.resize((150, 150))
|
|
- else:
|
|
|
|
- logo = Image.open(logo)
|
|
|
|
- logo = logo.resize((512, 512))
|
|
|
|
|
|
+ logo.save(img_path, "PNG")
|
|
if logo_float:
|
|
if logo_float:
|
|
- logo_float = Image.open(logo_float)
|
|
|
|
- logo_float = logo_float.resize((150, 150))
|
|
|
|
- logo.save(img_path, "PNG")
|
|
|
|
- if logo_float:
|
|
|
|
- logo_float.save(img_path_float, "PNG")
|
|
|
|
- logo_float.save(img_notif, "PNG")
|
|
|
|
|
|
+ logo_float.save(img_path_float, "PNG")
|
|
|
|
+ logo_float.save(img_notif, "PNG")
|
|
|
|
+ except:
|
|
|
|
+ raise
|
|
|
|
|
|
|
|
|
|
def change_tab(path_dest, tabs, tab_icon, package, tab3_mode, tab_amount):
|
|
def change_tab(path_dest, tabs, tab_icon, package, tab3_mode, tab_amount):
|
|
- default_tab_icon = ["tab{}.png".format(x) for x in tabs]
|
|
|
|
- for i, icon in enumerate(default_tab_icon):
|
|
|
|
- if not tab_icon[i]:
|
|
|
|
- continue
|
|
|
|
- img_path = "app/src/main/res/drawable"
|
|
|
|
- img_path = os.path.join(path_dest, img_path, icon)
|
|
|
|
- if isinstance(tab_icon[i], str):
|
|
|
|
- logo = requests.get('https://newuniverse.io/dashboardv2/uploads/tab_icon/{}'.format(tab_icon[i]))
|
|
|
|
- with open(img_path, "wb") as f:
|
|
|
|
- f.write(logo.content)
|
|
|
|
- with open(img_path, "rb") as f:
|
|
|
|
- logo = Image.open(f)
|
|
|
|
|
|
+ try:
|
|
|
|
+ default_tab_icon = ["tab{}.png".format(x) for x in tabs]
|
|
|
|
+ for i, icon in enumerate(default_tab_icon):
|
|
|
|
+ if not tab_icon[i]:
|
|
|
|
+ continue
|
|
|
|
+ img_path = "app/src/main/res/drawable"
|
|
|
|
+ img_path = os.path.join(path_dest, img_path, icon)
|
|
|
|
+ if isinstance(tab_icon[i], str):
|
|
|
|
+ logo = requests.get('https://newuniverse.io/dashboardv2/uploads/tab_icon/{}'.format(tab_icon[i]))
|
|
|
|
+ with open(img_path, "wb") as f:
|
|
|
|
+ f.write(logo.content)
|
|
|
|
+ with open(img_path, "rb") as f:
|
|
|
|
+ logo = Image.open(f)
|
|
|
|
+ logo = logo.resize((150, 150))
|
|
|
|
+ logo.save(img_path, "PNG")
|
|
|
|
+ else:
|
|
|
|
+ logo = Image.open(tab_icon[i])
|
|
logo = logo.resize((150, 150))
|
|
logo = logo.resize((150, 150))
|
|
logo.save(img_path, "PNG")
|
|
logo.save(img_path, "PNG")
|
|
- else:
|
|
|
|
- logo = Image.open(tab_icon[i])
|
|
|
|
- logo = logo.resize((150, 150))
|
|
|
|
- logo.save(img_path, "PNG")
|
|
|
|
- path_package_id = package.replace(".", "/")
|
|
|
|
- code_path = "app/src/main/java/"
|
|
|
|
- sobj_code_path = os.path.join(path_dest, code_path, path_package_id, "SObj.java")
|
|
|
|
- print(sobj_code_path)
|
|
|
|
- with open(sobj_code_path, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("1,2,3,4", ",".join(tabs))
|
|
|
|
- with open(sobj_code_path, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
- main_code_path = os.path.join(path_dest, code_path, path_package_id, "MAB.java")
|
|
|
|
- with open(main_code_path, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace('tab3 = "0"', 'tab3 = "{}"'.format(tab3_mode))
|
|
|
|
- with open(main_code_path, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
- prefs_code_path = os.path.join(path_dest, code_path, path_package_id, "util/PrefsUtil.java")
|
|
|
|
- with open(prefs_code_path, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace('DEFAULT_TAB_AMOUNT = "4"', 'DEFAULT_TAB_AMOUNT = "{}"'.format(tab_amount))
|
|
|
|
- with open(prefs_code_path, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
|
|
+ path_package_id = package.replace(".", "/")
|
|
|
|
+ code_path = "app/src/main/java/"
|
|
|
|
+ sobj_code_path = os.path.join(path_dest, code_path, path_package_id, "SObj.java")
|
|
|
|
+ print(sobj_code_path)
|
|
|
|
+ with open(sobj_code_path, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("1,2,3,4", ",".join(tabs))
|
|
|
|
+ with open(sobj_code_path, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ main_code_path = os.path.join(path_dest, code_path, path_package_id, "MAB.java")
|
|
|
|
+ with open(main_code_path, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace('tab3 = "0"', 'tab3 = "{}"'.format(tab3_mode))
|
|
|
|
+ with open(main_code_path, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ prefs_code_path = os.path.join(path_dest, code_path, path_package_id, "util/PrefsUtil.java")
|
|
|
|
+ with open(prefs_code_path, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace('DEFAULT_TAB_AMOUNT = "4"', 'DEFAULT_TAB_AMOUNT = "{}"'.format(tab_amount))
|
|
|
|
+ with open(prefs_code_path, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ except:
|
|
|
|
+ raise
|
|
|
|
|
|
|
|
|
|
def change_fb(path_dest, fb_icon):
|
|
def change_fb(path_dest, fb_icon):
|
|
- default_fb_icon = ["pb_button_chat.png", "pb_button_call.png", "pb_button_cc.png", "pb_button_stream.png",
|
|
|
|
- "nexilis_fb_04.png"]
|
|
|
|
- for i in range(5):
|
|
|
|
- if not fb_icon[i]:
|
|
|
|
- continue
|
|
|
|
- img_path = "app/src/main/res/drawable-nodpi"
|
|
|
|
- img_path = os.path.join(path_dest, img_path, default_fb_icon[i])
|
|
|
|
- if isinstance(fb_icon[i], str):
|
|
|
|
- logo = requests.get('https://newuniverse.io/dashboardv2/uploads/fb_icon/{}'.format(fb_icon[i]))
|
|
|
|
- with open(img_path, "wb") as f:
|
|
|
|
- f.write(logo.content)
|
|
|
|
- with open(img_path, "rb") as f:
|
|
|
|
- logo = Image.open(f)
|
|
|
|
|
|
+ try:
|
|
|
|
+ default_fb_icon = ["pb_button_chat.png", "pb_button_call.png", "pb_button_cc.png", "pb_button_stream.png",
|
|
|
|
+ "nexilis_fb_04.png"]
|
|
|
|
+ for i in range(5):
|
|
|
|
+ if not fb_icon[i]:
|
|
|
|
+ continue
|
|
|
|
+ img_path = "app/src/main/res/drawable-nodpi"
|
|
|
|
+ img_path = os.path.join(path_dest, img_path, default_fb_icon[i])
|
|
|
|
+ if isinstance(fb_icon[i], str):
|
|
|
|
+ logo = requests.get('https://newuniverse.io/dashboardv2/uploads/fb_icon/{}'.format(fb_icon[i]))
|
|
|
|
+ with open(img_path, "wb") as f:
|
|
|
|
+ f.write(logo.content)
|
|
|
|
+ with open(img_path, "rb") as f:
|
|
|
|
+ logo = Image.open(f)
|
|
|
|
+ logo = logo.resize((150, 150))
|
|
|
|
+ logo.save(img_path, "PNG")
|
|
|
|
+ else:
|
|
|
|
+ logo = Image.open(fb_icon[i])
|
|
logo = logo.resize((150, 150))
|
|
logo = logo.resize((150, 150))
|
|
logo.save(img_path, "PNG")
|
|
logo.save(img_path, "PNG")
|
|
- else:
|
|
|
|
- logo = Image.open(fb_icon[i])
|
|
|
|
- logo = logo.resize((150, 150))
|
|
|
|
- logo.save(img_path, "PNG")
|
|
|
|
|
|
+ except: raise
|
|
|
|
|
|
|
|
|
|
def change_background(path_dest, background):
|
|
def change_background(path_dest, background):
|
|
@@ -378,54 +404,61 @@ def change_background(path_dest, background):
|
|
|
|
|
|
|
|
|
|
def change_access(path_dest, access_model, package):
|
|
def change_access(path_dest, access_model, package):
|
|
- access = ["CPAAS_MODE_FLOATING", "CPAAS_MODE_DOCKED", "CPAAS_MODE_BURGER"]
|
|
|
|
- path_package_id = package.replace(".", "/")
|
|
|
|
- code_path = "app/src/main/java/"
|
|
|
|
- code_path = os.path.join(path_dest, code_path, path_package_id, "util", "PrefsUtil.java")
|
|
|
|
- print(code_path)
|
|
|
|
- with open(code_path, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("= CPAAS_MODE_DOCKED", "= {}".format(access[access_model]))
|
|
|
|
- with open(code_path, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
- pass
|
|
|
|
|
|
+ try:
|
|
|
|
+ access = ["CPAAS_MODE_FLOATING", "CPAAS_MODE_DOCKED", "CPAAS_MODE_BURGER"]
|
|
|
|
+ path_package_id = package.replace(".", "/")
|
|
|
|
+ code_path = "app/src/main/java/"
|
|
|
|
+ code_path = os.path.join(path_dest, code_path, path_package_id, "util", "PrefsUtil.java")
|
|
|
|
+ print(code_path)
|
|
|
|
+ with open(code_path, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("= CPAAS_MODE_DOCKED", "= {}".format(access[access_model]))
|
|
|
|
+ with open(code_path, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ except:
|
|
|
|
+ raise
|
|
|
|
|
|
|
|
|
|
def change_certificate(path_dest, key, keyfile, keytool):
|
|
def change_certificate(path_dest, key, keyfile, keytool):
|
|
- keyfile_name = "{}.keystore".format(key["alias"])
|
|
|
|
- keyfile_path = os.path.join(path_dest, keyfile_name)
|
|
|
|
- if keyfile:
|
|
|
|
- keyfile.save(keyfile_path)
|
|
|
|
- else:
|
|
|
|
- vprint("keytool run")
|
|
|
|
- os.chdir(path_dest)
|
|
|
|
- vprint("current working directory: ", os.getcwd())
|
|
|
|
- dname = "CN={}, OU={}, O={}, L={}, S={}, C={}".format(key["common_name"], key["organization_unit"],
|
|
|
|
- key["organization_name"], key["locality_name"],
|
|
|
|
- key["state_name"], key["country"])
|
|
|
|
- cmd = [keytool, "-genkey", "-v", "-keystore", keyfile_path, "-alias", key["alias"], "-keyalg", "RSA",
|
|
|
|
- "-keysize", "2048",
|
|
|
|
- "-validity", "10000", "-dname", dname, "-storepass", key["store_password"], "-keypass",
|
|
|
|
- key["key_password"]]
|
|
|
|
- vprint(cmd)
|
|
|
|
- subprocess.run(cmd)
|
|
|
|
- vprint("keytool end")
|
|
|
|
- build_gradle = os.path.join(path_dest, 'app/build.gradle')
|
|
|
|
- with open(build_gradle, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("allyourbase", key["store_password"])
|
|
|
|
- replaced = replaced.replace("arebelongto", key["key_password"])
|
|
|
|
- replaced = replaced.replace("key-qmeralite", key["alias"])
|
|
|
|
- with open(build_gradle, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
|
|
+ try:
|
|
|
|
+ keyfile_name = "{}.keystore".format(key["alias"])
|
|
|
|
+ keyfile_path = os.path.join(path_dest, keyfile_name)
|
|
|
|
+ if keyfile:
|
|
|
|
+ keyfile.save(keyfile_path)
|
|
|
|
+ else:
|
|
|
|
+ vprint("keytool run")
|
|
|
|
+ os.chdir(path_dest)
|
|
|
|
+ vprint("current working directory: ", os.getcwd())
|
|
|
|
+ dname = "CN={}, OU={}, O={}, L={}, S={}, C={}".format(key["common_name"], key["organization_unit"],
|
|
|
|
+ key["organization_name"], key["locality_name"],
|
|
|
|
+ key["state_name"], key["country"])
|
|
|
|
+ cmd = [keytool, "-genkey", "-v", "-keystore", keyfile_path, "-alias", key["alias"], "-keyalg", "RSA",
|
|
|
|
+ "-keysize", "2048",
|
|
|
|
+ "-validity", "10000", "-dname", dname, "-storepass", key["store_password"], "-keypass",
|
|
|
|
+ key["key_password"]]
|
|
|
|
+ vprint(cmd)
|
|
|
|
+ subprocess.run(cmd)
|
|
|
|
+ vprint("keytool end")
|
|
|
|
+ build_gradle = os.path.join(path_dest, 'app/build.gradle')
|
|
|
|
+ with open(build_gradle, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("allyourbase", key["store_password"])
|
|
|
|
+ replaced = replaced.replace("arebelongto", key["key_password"])
|
|
|
|
+ replaced = replaced.replace("key-qmeralite", key["alias"])
|
|
|
|
+ with open(build_gradle, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ except:
|
|
|
|
+ raise
|
|
|
|
|
|
|
|
|
|
def run_build(path_dest):
|
|
def run_build(path_dest):
|
|
gradlew = os.path.join(path_dest, "gradlew")
|
|
gradlew = os.path.join(path_dest, "gradlew")
|
|
ret = subprocess.run([gradlew, 'assembleRelease'])
|
|
ret = subprocess.run([gradlew, 'assembleRelease'])
|
|
|
|
+ error = "{}\n".format(ret.stderr.decode())
|
|
if ret.returncode == 0:
|
|
if ret.returncode == 0:
|
|
ret = subprocess.run([gradlew, 'bundleRelease'])
|
|
ret = subprocess.run([gradlew, 'bundleRelease'])
|
|
- return ret.returncode
|
|
|
|
|
|
+ error = "{}{}\n".format(error, ret.stderr.decode())
|
|
|
|
+ return ret.returncode, error
|
|
|
|
|
|
|
|
|
|
def deliver_apk(path_dest, package_id, key, key_exists):
|
|
def deliver_apk(path_dest, package_id, key, key_exists):
|
|
@@ -453,19 +486,22 @@ def deliver_apk(path_dest, package_id, key, key_exists):
|
|
os.remove(new_aab_dir)
|
|
os.remove(new_aab_dir)
|
|
project_path = os.path.join(app.temp_folder, package_id)
|
|
project_path = os.path.join(app.temp_folder, package_id)
|
|
shutil.rmtree(project_path)
|
|
shutil.rmtree(project_path)
|
|
- return {"name": zip_name}
|
|
|
|
|
|
+ return {"status": "0", "name": zip_name}
|
|
except Exception as e:
|
|
except Exception as e:
|
|
- return str(e)
|
|
|
|
|
|
+ return {"status": "4", "message": "Deliver APK & AAB failed\n{}".format(e)}
|
|
|
|
|
|
|
|
|
|
def change_version(path_dest, version_code, version_name):
|
|
def change_version(path_dest, version_code, version_name):
|
|
- build_gradle = os.path.join(path_dest, 'app/build.gradle')
|
|
|
|
- with open(build_gradle, "r") as f:
|
|
|
|
- file_source = f.read()
|
|
|
|
- replaced = file_source.replace("versionCode 3", "versionCode {}".format(version_code))
|
|
|
|
- replaced = replaced.replace('versionName "3.0"', 'versionName "{}"'.format(version_name))
|
|
|
|
- with open(build_gradle, "w") as f:
|
|
|
|
- f.write(replaced)
|
|
|
|
|
|
+ try:
|
|
|
|
+ build_gradle = os.path.join(path_dest, 'app/build.gradle')
|
|
|
|
+ with open(build_gradle, "r") as f:
|
|
|
|
+ file_source = f.read()
|
|
|
|
+ replaced = file_source.replace("versionCode 3", "versionCode {}".format(version_code))
|
|
|
|
+ replaced = replaced.replace('versionName "3.0"', 'versionName "{}"'.format(version_name))
|
|
|
|
+ with open(build_gradle, "w") as f:
|
|
|
|
+ f.write(replaced)
|
|
|
|
+ except:
|
|
|
|
+ raise
|
|
|
|
|
|
|
|
|
|
@app.route('/', methods=["GET", "POST"])
|
|
@app.route('/', methods=["GET", "POST"])
|
|
@@ -494,169 +530,174 @@ def build_apk():
|
|
key = {"alias": "nexilislite", "store_password": "allyourbase", "key_password": "arebelongto",
|
|
key = {"alias": "nexilislite", "store_password": "allyourbase", "key_password": "arebelongto",
|
|
"common_name": "all", "organization_unit": "your",
|
|
"common_name": "all", "organization_unit": "your",
|
|
"organization_name": "base", "locality_name": "are", "state_name": "belong", "country": "to"}
|
|
"organization_name": "base", "locality_name": "are", "state_name": "belong", "country": "to"}
|
|
- if 'logo' in request.files:
|
|
|
|
- logo = request.files['logo']
|
|
|
|
- vprint(type(logo))
|
|
|
|
- elif 'logo' in request.form:
|
|
|
|
- logo = request.form['logo']
|
|
|
|
- vprint(type(logo))
|
|
|
|
- if 'logofloat' in request.files:
|
|
|
|
- logo_float = request.files['logofloat']
|
|
|
|
- vprint(type(logo_float))
|
|
|
|
- elif 'logofloat' in request.form:
|
|
|
|
- logo_float = request.form['logofloat']
|
|
|
|
- vprint(type(logo_float))
|
|
|
|
-
|
|
|
|
- if 'app_name' in request.files:
|
|
|
|
- app_name = request.files['app_name']
|
|
|
|
- vprint(app_name)
|
|
|
|
- elif 'app_name' in request.form:
|
|
|
|
- app_name = request.form['app_name']
|
|
|
|
- vprint(app_name)
|
|
|
|
-
|
|
|
|
- if 'package_id' in request.files:
|
|
|
|
- package_id = request.files['package_id']
|
|
|
|
- vprint(package_id)
|
|
|
|
- elif 'package_id' in request.form:
|
|
|
|
- package_id = request.form['package_id']
|
|
|
|
- vprint(package_id)
|
|
|
|
-
|
|
|
|
- if 'acc' in request.files:
|
|
|
|
- acc = request.files['acc']
|
|
|
|
- vprint(acc)
|
|
|
|
- elif 'acc' in request.form:
|
|
|
|
- acc = request.form['acc']
|
|
|
|
- vprint(acc)
|
|
|
|
-
|
|
|
|
- if 'url' in request.files:
|
|
|
|
- url = request.files['url']
|
|
|
|
- vprint(url)
|
|
|
|
- elif 'url' in request.form:
|
|
|
|
- url = request.form['url']
|
|
|
|
- vprint(url)
|
|
|
|
-
|
|
|
|
- if 'keystore' in request.files:
|
|
|
|
- keystore = request.files['keystore']
|
|
|
|
- key_exists = True
|
|
|
|
- elif 'keystore' in request.form:
|
|
|
|
- keystore = request.form['keystore']
|
|
|
|
- key_exists = True
|
|
|
|
-
|
|
|
|
- if 'alias' in request.form:
|
|
|
|
- if request.form['alias']:
|
|
|
|
- key["alias"] = request.form['alias']
|
|
|
|
- if 'store_password' in request.form:
|
|
|
|
- if request.form['store_password']:
|
|
|
|
- key["store_password"] = request.form['store_password']
|
|
|
|
- if 'key_password' in request.form:
|
|
|
|
- if request.form['key_password']:
|
|
|
|
- key["key_password"] = request.form['key_password']
|
|
|
|
- if keystore:
|
|
|
|
- if 'common_name' in request.form:
|
|
|
|
- if request.form['common_name']:
|
|
|
|
- key["common_name"] = request.form['common_name']
|
|
|
|
- if 'organization_unit' in request.form:
|
|
|
|
- if request.form['organization_unit']:
|
|
|
|
- key["organization_unit"] = request.form['organization_unit']
|
|
|
|
- if 'organization_name' in request.form:
|
|
|
|
- if request.form['organization_name']:
|
|
|
|
- key["organization_name"] = request.form['organization_name']
|
|
|
|
- if 'locality_name' in request.form:
|
|
|
|
- if request.form['locality_name']:
|
|
|
|
- key["locality_name"] = request.form['locality_name']
|
|
|
|
- if 'state_name' in request.form:
|
|
|
|
- if request.form['state_name']:
|
|
|
|
- key["state_name"] = request.form['state_name']
|
|
|
|
- if 'country' in request.form:
|
|
|
|
- if request.form['country']:
|
|
|
|
- key["country"] = request.form['country']
|
|
|
|
- tabs.append(request.form["tab1"])
|
|
|
|
- tabs.append(request.form["tab2"])
|
|
|
|
- if request.form['tab3']:
|
|
|
|
- tabs.append(request.form["tab3"])
|
|
|
|
- if request.form['tab4']:
|
|
|
|
- tabs.append(request.form["tab4"])
|
|
|
|
- if 'tab1_icon' in request.files:
|
|
|
|
- tab_icon[0] = request.files['tab1_icon']
|
|
|
|
- elif 'tab1_icon' in request.form:
|
|
|
|
- tab_icon[0] = request.form['tab1_icon']
|
|
|
|
- if 'tab2_icon' in request.files:
|
|
|
|
- tab_icon[1] = request.files['tab2_icon']
|
|
|
|
- elif 'tab2_icon' in request.form:
|
|
|
|
- tab_icon[1] = request.form['tab2_icon']
|
|
|
|
- if 'tab3_icon' in request.files:
|
|
|
|
- tab_icon[2] = request.files['tab3_icon']
|
|
|
|
- elif 'tab3_icon' in request.form:
|
|
|
|
- tab_icon[2] = request.form['tab3_icon']
|
|
|
|
- if 'tab4_icon' in request.files:
|
|
|
|
- tab_icon[3] = request.files['tab4_icon']
|
|
|
|
- elif 'tab4_icon' in request.form:
|
|
|
|
- tab_icon[3] = request.form['tab4_icon']
|
|
|
|
- if 'fb1_icon' in request.files:
|
|
|
|
- fb_icon[0] = request.files['fb1_icon']
|
|
|
|
- elif 'fb1_icon' in request.form:
|
|
|
|
- fb_icon[0] = request.form['fb1_icon']
|
|
|
|
- if 'fb2_icon' in request.files:
|
|
|
|
- fb_icon[1] = request.files['fb2_icon']
|
|
|
|
- elif 'fb2_icon' in request.form:
|
|
|
|
- fb_icon[1] = request.form['fb2_icon']
|
|
|
|
- if 'fb3_icon' in request.files:
|
|
|
|
- fb_icon[2] = request.files['fb3_icon']
|
|
|
|
- elif 'fb3_icon' in request.form:
|
|
|
|
- fb_icon[2] = request.form['fb3_icon']
|
|
|
|
- if 'fb4_icon' in request.files:
|
|
|
|
- fb_icon[3] = request.files['fb4_icon']
|
|
|
|
- elif 'fb4_icon' in request.form:
|
|
|
|
- fb_icon[3] = request.form['fb4_icon']
|
|
|
|
- if 'fb5_icon' in request.files:
|
|
|
|
- fb_icon[4] = request.files['fb5_icon']
|
|
|
|
- elif 'fb5_icon' in request.form:
|
|
|
|
- fb_icon[4] = request.form['fb5_icon']
|
|
|
|
- vprint("fb_icon: {}".format(fb_icon))
|
|
|
|
- access_model = int(request.form['access_model'])
|
|
|
|
- if 'tab3_mode' in request.form:
|
|
|
|
- tab3_mode = request.form['tab3_mode']
|
|
|
|
- if 'tab_amount' in request.form:
|
|
|
|
- tab_amount = int(request.form['tab_amount'])
|
|
|
|
- if 'font' in request.form:
|
|
|
|
- font = int(request.form['font'])
|
|
|
|
- if 'background' in request.files:
|
|
|
|
- background = request.files['background']
|
|
|
|
- elif 'background' in request.form:
|
|
|
|
- background = request.form['background']
|
|
|
|
- if 'version_code' in request.form:
|
|
|
|
- version_code = request.form['version_code']
|
|
|
|
- if 'version_name' in request.form:
|
|
|
|
- version_name = request.form['version_name']
|
|
|
|
- else:
|
|
|
|
- version_name = "1.0.{}".format(version_code)
|
|
|
|
- if 'enable_sms' in request.form:
|
|
|
|
- enable_sms = int(request.form['enable_sms'])
|
|
|
|
-
|
|
|
|
- path_dest, c_code_path = create_folder(package_id)
|
|
|
|
- vprint("path_dest: " + path_dest)
|
|
|
|
- vprint("c_code_path: " + c_code_path)
|
|
|
|
- if acc:
|
|
|
|
- change_acc(c_code_path, acc, enable_sms)
|
|
|
|
- if url:
|
|
|
|
- change_url(c_code_path, url)
|
|
|
|
- change_name(path_dest, app_name, enable_sms)
|
|
|
|
- change_certificate(path_dest, key, keystore, app.keytool)
|
|
|
|
- change_package(path_dest, package_id)
|
|
|
|
- change_version(path_dest, version_code, version_name)
|
|
|
|
- change_font(path_dest, font, package_id)
|
|
|
|
- if logo:
|
|
|
|
- change_logo(path_dest, logo, logo_float)
|
|
|
|
- if background:
|
|
|
|
- change_background(path_dest, background)
|
|
|
|
- change_fb(path_dest, fb_icon)
|
|
|
|
- change_access(path_dest, access_model, package_id)
|
|
|
|
- change_tab(path_dest, tabs, tab_icon, package_id, tab3_mode, tab_amount)
|
|
|
|
|
|
+ try:
|
|
|
|
+ if 'logo' in request.files:
|
|
|
|
+ logo = request.files['logo']
|
|
|
|
+ vprint(type(logo))
|
|
|
|
+ elif 'logo' in request.form:
|
|
|
|
+ logo = request.form['logo']
|
|
|
|
+ vprint(type(logo))
|
|
|
|
+ if 'logofloat' in request.files:
|
|
|
|
+ logo_float = request.files['logofloat']
|
|
|
|
+ vprint(type(logo_float))
|
|
|
|
+ elif 'logofloat' in request.form:
|
|
|
|
+ logo_float = request.form['logofloat']
|
|
|
|
+ vprint(type(logo_float))
|
|
|
|
+
|
|
|
|
+ if 'app_name' in request.files:
|
|
|
|
+ app_name = request.files['app_name']
|
|
|
|
+ vprint(app_name)
|
|
|
|
+ elif 'app_name' in request.form:
|
|
|
|
+ app_name = request.form['app_name']
|
|
|
|
+ vprint(app_name)
|
|
|
|
+
|
|
|
|
+ if 'package_id' in request.files:
|
|
|
|
+ package_id = request.files['package_id']
|
|
|
|
+ vprint(package_id)
|
|
|
|
+ elif 'package_id' in request.form:
|
|
|
|
+ package_id = request.form['package_id']
|
|
|
|
+ vprint(package_id)
|
|
|
|
+
|
|
|
|
+ if 'acc' in request.files:
|
|
|
|
+ acc = request.files['acc']
|
|
|
|
+ vprint(acc)
|
|
|
|
+ elif 'acc' in request.form:
|
|
|
|
+ acc = request.form['acc']
|
|
|
|
+ vprint(acc)
|
|
|
|
+
|
|
|
|
+ if 'url' in request.files:
|
|
|
|
+ url = request.files['url']
|
|
|
|
+ vprint(url)
|
|
|
|
+ elif 'url' in request.form:
|
|
|
|
+ url = request.form['url']
|
|
|
|
+ vprint(url)
|
|
|
|
+
|
|
|
|
+ if 'keystore' in request.files:
|
|
|
|
+ keystore = request.files['keystore']
|
|
|
|
+ key_exists = True
|
|
|
|
+ elif 'keystore' in request.form:
|
|
|
|
+ keystore = request.form['keystore']
|
|
|
|
+ key_exists = True
|
|
|
|
+
|
|
|
|
+ if 'alias' in request.form:
|
|
|
|
+ if request.form['alias']:
|
|
|
|
+ key["alias"] = request.form['alias']
|
|
|
|
+ if 'store_password' in request.form:
|
|
|
|
+ if request.form['store_password']:
|
|
|
|
+ key["store_password"] = request.form['store_password']
|
|
|
|
+ if 'key_password' in request.form:
|
|
|
|
+ if request.form['key_password']:
|
|
|
|
+ key["key_password"] = request.form['key_password']
|
|
|
|
+ if keystore:
|
|
|
|
+ if 'common_name' in request.form:
|
|
|
|
+ if request.form['common_name']:
|
|
|
|
+ key["common_name"] = request.form['common_name']
|
|
|
|
+ if 'organization_unit' in request.form:
|
|
|
|
+ if request.form['organization_unit']:
|
|
|
|
+ key["organization_unit"] = request.form['organization_unit']
|
|
|
|
+ if 'organization_name' in request.form:
|
|
|
|
+ if request.form['organization_name']:
|
|
|
|
+ key["organization_name"] = request.form['organization_name']
|
|
|
|
+ if 'locality_name' in request.form:
|
|
|
|
+ if request.form['locality_name']:
|
|
|
|
+ key["locality_name"] = request.form['locality_name']
|
|
|
|
+ if 'state_name' in request.form:
|
|
|
|
+ if request.form['state_name']:
|
|
|
|
+ key["state_name"] = request.form['state_name']
|
|
|
|
+ if 'country' in request.form:
|
|
|
|
+ if request.form['country']:
|
|
|
|
+ key["country"] = request.form['country']
|
|
|
|
+ tabs.append(request.form["tab1"])
|
|
|
|
+ tabs.append(request.form["tab2"])
|
|
|
|
+ if request.form['tab3']:
|
|
|
|
+ tabs.append(request.form["tab3"])
|
|
|
|
+ if request.form['tab4']:
|
|
|
|
+ tabs.append(request.form["tab4"])
|
|
|
|
+ if 'tab1_icon' in request.files:
|
|
|
|
+ tab_icon[0] = request.files['tab1_icon']
|
|
|
|
+ elif 'tab1_icon' in request.form:
|
|
|
|
+ tab_icon[0] = request.form['tab1_icon']
|
|
|
|
+ if 'tab2_icon' in request.files:
|
|
|
|
+ tab_icon[1] = request.files['tab2_icon']
|
|
|
|
+ elif 'tab2_icon' in request.form:
|
|
|
|
+ tab_icon[1] = request.form['tab2_icon']
|
|
|
|
+ if 'tab3_icon' in request.files:
|
|
|
|
+ tab_icon[2] = request.files['tab3_icon']
|
|
|
|
+ elif 'tab3_icon' in request.form:
|
|
|
|
+ tab_icon[2] = request.form['tab3_icon']
|
|
|
|
+ if 'tab4_icon' in request.files:
|
|
|
|
+ tab_icon[3] = request.files['tab4_icon']
|
|
|
|
+ elif 'tab4_icon' in request.form:
|
|
|
|
+ tab_icon[3] = request.form['tab4_icon']
|
|
|
|
+ if 'fb1_icon' in request.files:
|
|
|
|
+ fb_icon[0] = request.files['fb1_icon']
|
|
|
|
+ elif 'fb1_icon' in request.form:
|
|
|
|
+ fb_icon[0] = request.form['fb1_icon']
|
|
|
|
+ if 'fb2_icon' in request.files:
|
|
|
|
+ fb_icon[1] = request.files['fb2_icon']
|
|
|
|
+ elif 'fb2_icon' in request.form:
|
|
|
|
+ fb_icon[1] = request.form['fb2_icon']
|
|
|
|
+ if 'fb3_icon' in request.files:
|
|
|
|
+ fb_icon[2] = request.files['fb3_icon']
|
|
|
|
+ elif 'fb3_icon' in request.form:
|
|
|
|
+ fb_icon[2] = request.form['fb3_icon']
|
|
|
|
+ if 'fb4_icon' in request.files:
|
|
|
|
+ fb_icon[3] = request.files['fb4_icon']
|
|
|
|
+ elif 'fb4_icon' in request.form:
|
|
|
|
+ fb_icon[3] = request.form['fb4_icon']
|
|
|
|
+ if 'fb5_icon' in request.files:
|
|
|
|
+ fb_icon[4] = request.files['fb5_icon']
|
|
|
|
+ elif 'fb5_icon' in request.form:
|
|
|
|
+ fb_icon[4] = request.form['fb5_icon']
|
|
|
|
+ vprint("fb_icon: {}".format(fb_icon))
|
|
|
|
+ access_model = int(request.form['access_model'])
|
|
|
|
+ if 'tab3_mode' in request.form:
|
|
|
|
+ tab3_mode = request.form['tab3_mode']
|
|
|
|
+ if 'tab_amount' in request.form:
|
|
|
|
+ tab_amount = int(request.form['tab_amount'])
|
|
|
|
+ if 'font' in request.form:
|
|
|
|
+ font = int(request.form['font'])
|
|
|
|
+ if 'background' in request.files:
|
|
|
|
+ background = request.files['background']
|
|
|
|
+ elif 'background' in request.form:
|
|
|
|
+ background = request.form['background']
|
|
|
|
+ if 'version_code' in request.form:
|
|
|
|
+ version_code = request.form['version_code']
|
|
|
|
+ if 'version_name' in request.form:
|
|
|
|
+ version_name = request.form['version_name']
|
|
|
|
+ else:
|
|
|
|
+ version_name = "1.0.{}".format(version_code)
|
|
|
|
+ if 'enable_sms' in request.form:
|
|
|
|
+ enable_sms = int(request.form['enable_sms'])
|
|
|
|
+ except BaseException as e:
|
|
|
|
+ return {"status": "1", "message": "Parameter mismatch\n{}\n".format(str(e))}
|
|
|
|
+ try:
|
|
|
|
+ path_dest, c_code_path = create_folder(package_id)
|
|
|
|
+ vprint("path_dest: " + path_dest)
|
|
|
|
+ vprint("c_code_path: " + c_code_path)
|
|
|
|
+ if acc:
|
|
|
|
+ change_acc(c_code_path, acc, enable_sms)
|
|
|
|
+ if url:
|
|
|
|
+ change_url(c_code_path, url)
|
|
|
|
+ change_name(path_dest, app_name, enable_sms)
|
|
|
|
+ change_certificate(path_dest, key, keystore, app.keytool)
|
|
|
|
+ change_package(path_dest, package_id)
|
|
|
|
+ change_version(path_dest, version_code, version_name)
|
|
|
|
+ change_font(path_dest, font, package_id)
|
|
|
|
+ if logo:
|
|
|
|
+ change_logo(path_dest, logo, logo_float)
|
|
|
|
+ if background:
|
|
|
|
+ change_background(path_dest, background)
|
|
|
|
+ change_fb(path_dest, fb_icon)
|
|
|
|
+ change_access(path_dest, access_model, package_id)
|
|
|
|
+ change_tab(path_dest, tabs, tab_icon, package_id, tab3_mode, tab_amount)
|
|
|
|
+ except BaseException as e:
|
|
|
|
+ return {"status": "2", "message": "Process failure\n{}\n".format(str(e))}
|
|
os.chdir(path_dest)
|
|
os.chdir(path_dest)
|
|
- return_code = run_build(path_dest)
|
|
|
|
|
|
+ return_code, error = run_build(path_dest)
|
|
if (return_code == 0):
|
|
if (return_code == 0):
|
|
return deliver_apk(path_dest, package_id, key, key_exists)
|
|
return deliver_apk(path_dest, package_id, key, key_exists)
|
|
- return "h"
|
|
|
|
|
|
+ return {"status": "3", "message": "Build failed\n{}".format(str(error))}
|
|
else:
|
|
else:
|
|
if 'e' in request.args:
|
|
if 'e' in request.args:
|
|
return request.args['e']
|
|
return request.args['e']
|