From d9fa28ea3a51c4efc77683ef950affce83457ef0 Mon Sep 17 00:00:00 2001 From: Furtif Date: Mon, 10 Jan 2022 00:13:44 +0100 Subject: [PATCH] add packs. --- .gitignore | 9 ++++- PYREN.BAT | 4 ++ pack.py | 102 +++++++++++++++++++++++++++++++++++++++++++++++ pyren.sh | 17 ++++++++ wininstaller.iss | 79 ++++++++++++++++++++++++++++++++++++ 5 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 PYREN.BAT create mode 100644 pack.py create mode 100644 pyren.sh create mode 100644 wininstaller.iss diff --git a/.gitignore b/.gitignore index f133d48..e42b6b9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,9 @@ +/.idea/ +/.DS_Store +/EcuDacia/ +/EcuRsm/ +/Output/ +/pyren/*.zip cache/ csv/ dumps/ @@ -29,4 +35,5 @@ pyren/mod_ddt_config.py pyren/parser.out pyren/parsetab.py pyren/scen_appr_4valves.py -pyren/scen_ecri_fap2.py \ No newline at end of file +pyren/scen_ecri_fap2.py + diff --git a/PYREN.BAT b/PYREN.BAT new file mode 100644 index 0000000..84253ac --- /dev/null +++ b/PYREN.BAT @@ -0,0 +1,4 @@ +@echo off +echo Run's app ... +python27\python.exe _pyren_launcher.py +pause \ No newline at end of file diff --git a/pack.py b/pack.py new file mode 100644 index 0000000..dbd78c5 --- /dev/null +++ b/pack.py @@ -0,0 +1,102 @@ +#!/usr/bin/python +import argparse +import glob +import os +import sys +import zipfile + + +def zipdir(dirname, zip): + print("Folder process %s" % dirname) + for root, dirs, files in os.walk(dirname, topdown=False): + for name in files: + filename = os.path.join(root, name) + if ".pyc" in filename or ".DS_Store" in filename: # or ".pyo" in filename: + continue + print("Adding source file %s" % filename) + zip.write(filename) + + +def pack(): + if not os.path.exists("./Output"): + os.mkdir("./Output") + default_file = "pyren.zip" + if sys.platform[:3] == "win": + default_file = "pyren_windows.zip" + else: + print "Please add python in required sources for works." + exit(-1) + # elif sys.platform[:3] == "dar": + # default_file = "pyren_macos.zip" + # elif sys.platform[:3] == "lin": + # default_file = "pyren_linux.zip" + zip = zipfile.ZipFile("./Output/" + default_file, mode="w", compression=zipfile.ZIP_DEFLATED, allowZip64=True) + files = glob.glob("*.py") + for file in files: + print("Adding source file %s" % file) + zip.write(file) + if sys.platform[:3] == "win": + zip.write("./PYREN.BAT") + # else: + # zip.write("./pyren.sh") + ## Unused or almost... + # zipdir("./MTCSAVE", zip) #(auto create) + # zipdir("./BVMEXTRACTION", zip) #(need for doc_maker) + # zipdir("./DocDB_xx", zip) #(need for doc_maker where xx=language) + ## + ## DEPENDS... + # dir_path = os.path.dirname(os.path.realpath(__file__)) + # os.chdir("/") + # zipdir("./Python27", zip) + # os.chdir(dir_path) + # zipdir("./pyren", zip) + # zipdir("./EcuDacia", zip) + # zipdir("./EcuRenault", zip) + # zipdir("./EcuRsm", zip) + # zipdir("./Location", zip) + # zipdir("./NML", zip) + # zipdir("./Params", zip) + # zipdir("./Vehicles", zip) + zip.close() + + +def genddt2000(): + dir_path = os.path.dirname(os.path.realpath(__file__)) + if not os.path.exists("/DDT2000data"): + print ("DDT2000data not found in ROOT /DDT2000data") + exit(-1) + default_file = "DDT2000data.zip" + zip = zipfile.ZipFile("./pyren/" + default_file, mode="w", compression=zipfile.ZIP_DEFLATED, allowZip64=True) + os.chdir("/DDT2000data") + if os.path.exists("./ecus"): + zipdir("./ecus", zip) + if os.path.exists("./images"): + zipdir("./images", zip) + if os.path.exists("./graphics"): + zipdir("./graphics", zip) + if os.path.exists("./FlashingTimeAnalysis"): + zipdir("./FlashingTimeAnalysis", zip) + if os.path.exists("./failures"): + zipdir("./failures", zip) + if os.path.exists("./EDT"): + zipdir("./EDT", zip) + if os.path.exists("./vehicles"): + zipdir("./vehicles", zip) + if os.path.isfile("./parameters.xml"): + zip.write("./parameters.xml") + if os.path.isfile("./default.htm"): + zip.write("./default.htm") + os.chdir(dir_path) + zip.close() + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--pack', action="store_true", default=None, + help="Pack this as zip for runs PYREN.BAT or pyren.sh") + parser.add_argument('--gen_ddt_zip', action="store_true", default=None, help="Convert existant DDT2000data to zip") + args = parser.parse_args() + if args.pack: + pack() + if args.gen_ddt_zip: + genddt2000() diff --git a/pyren.sh b/pyren.sh new file mode 100644 index 0000000..c29944e --- /dev/null +++ b/pyren.sh @@ -0,0 +1,17 @@ +#!/bin/bash +#chmod +x ./venv/bin/activate +#chmod +x ./ddt4all.py +## Linux ubuntu fixes uncomment next lines +#printf "Install new venv ...\n" +#Install venv if not present +#python3 -m venv ./venv +#fix qt platform plugin ubuntu "xcb" +#sudo apt-get install --reinstall libxcb-xinerama0 +## +#printf "Activate venv ...\n" +#./venv/bin/activate +printf "Runs app ...\n" +#./venv/bin/python ./_pyren_launcher.py +python ./_pyren_launcher.py +#printf "Deactivate venv ..." +#./venv/bin/deactivate \ No newline at end of file diff --git a/wininstaller.iss b/wininstaller.iss new file mode 100644 index 0000000..90fad99 --- /dev/null +++ b/wininstaller.iss @@ -0,0 +1,79 @@ +[Setup] +AppName=PyRen +AppVersion=0.9.r +DefaultDirName={pf}\PyRen +DefaultGroupName=Pyren +SetupIconFile=icons\obd.ico +OutputBaseFilename=Pyren_Setup +UsePreviousPrivileges=True + +[Files] +Source: "README.md"; DestDir: "{app}" +Source: "*.py"; DestDir: "{app}" +Source: "\Python27\*"; DestDir: "{app}\Python27"; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: "*.pyc" +Source: "BVMEXTRACTION\*"; DestDir: "{app}\BVMEXTRACTION"; Flags: ignoreversion recursesubdirs +Source: "EcuDacia\*"; DestDir: "{app}\EcuDacia"; Flags: ignoreversion recursesubdirs +Source: "EcuRenault\*"; DestDir: "{app}\EcuRenault"; Flags: ignoreversion recursesubdirs +Source: "EcuRsm\*"; DestDir: "{app}\EcuRsm"; Flags: ignoreversion recursesubdirs +Source: "Location\*"; DestDir: "{app}\Location"; Flags: ignoreversion recursesubdirs +Source: "MTCSAVE\*"; DestDir: "{app}\MTCSAVE"; Flags: ignoreversion recursesubdirs onlyifdoesntexist skipifsourcedoesntexist +Source: "NML\*"; DestDir: "{app}\NML"; Flags: ignoreversion recursesubdirs +Source: "Params\*"; DestDir: "{app}\Params"; Flags: ignoreversion recursesubdirs +Source: "pyren\*"; DestDir: "{app}\pyren"; Flags: ignoreversion recursesubdirs +Source: "Vehicles\*"; DestDir: "{app}\Vehicles"; Flags: ignoreversion recursesubdirs +Source: "icons\*"; DestDir: "{app}\icons"; Flags: ignoreversion recursesubdirs + +[InstallDelete] +Type: filesandordirs; Name: "{app}\importlib" +Type: filesandordirs; Name: "{app}\Python38" + +[Code] +procedure AfterMyProgInstall; +begin + MsgBox(ExpandConstant('{cm:AfterMyProgInstall} {app}'), mbInformation, MB_OK); +end; + +[Dirs] +Name: "{app}"; Permissions: users-full +Name: "{app}\MTCSAVE"; Permissions: users-full + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}";GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Icons] +Name: "{group}\PyRen"; Filename: "{app}\Python27\python.exe"; Parameters: """{app}\_pyren_launcher.py"""; WorkingDir: "{app}"; IconFilename: "{app}\icons\obd.ico" +Name: "{userdesktop}\PyRen"; Filename: "{app}\Python27\python.exe"; Parameters: """{app}\_pyren_launcher.py"""; WorkingDir: "{app}"; IconFilename: "{app}\icons\obd.ico"; Tasks: desktopicon + +[CustomMessages] +en.AfterMyProgInstall=Can-Clip 212 and DTT2000data 2021-6-16 included, remember to keep them up to date. +no.AfterMyProgInstall=Can-Clip 212 og DTT2000data 2021-6-16 inkludert, husk å holde dem oppdatert. +de.AfterMyProgInstall=Can-Clip 212 und DTT2000data 2021-6-16 enthalten, denken Sie daran, sie auf dem neuesten Stand zu halten. +fr.AfterMyProgInstall=Can-Clip 212 et DTT2000data 2021-6-16 inclus, pensez a les tenir à jour. +es.AfterMyProgInstall=Can-Clip 212 y DTT2000data 2021-6-16 incluidos, recuerde mantenerlos actualizados. +it.AfterMyProgInstall=Can-Clip 212 e DTT2000data 2021-6-16 inclusi, ricordati di tenerli aggiornati. +nl.AfterMyProgInstall=Can-Clip 212 en DTT2000data 2021-6-16 inbegrepen, vergeet niet om ze up-to-date te houden. +pl.AfterMyProgInstall=W zestawie Can-Clip 212 i DTT2000data 2021-6-16, pamiętaj o ich aktualizacji. +ptbr.AfterMyProgInstall=Can-Clip 212 e DTT2000data 2021-6-16 incluídos, lembre-se de mantê-los atualizados. +pt.AfterMyProgInstall=Can-Clip 212 e DTT2000data 2021-6-16 incluídos, lembre-se de mantê-los atualizados. +ru.AfterMyProgInstall=Can-Clip 212 и DTT2000data 2021-6-16 включены, не забывайте обновлять их. +am.AfterMyProgInstall=Can-Clip 212 և DTT2000data 2021-6-16 ներառված են, հիշեք, որ դրանք թարմացվեն: +bg.AfterMyProgInstall=Включени са Can-Clip 212 и DTT2000data 2021-6-16, не забравяйте да ги поддържате актуални. +tr.AfterMyProgInstall=Can-Clip 212 ve DTT2000data 2021-6-16 dahildir, güncel tutmayı unutmayın. +ua.AfterMyProgInstall=Can-Clip 212 і DTT2000data 2021-6-16 включені, не забувайте оновлювати їх. + +[Languages] +Name: "en"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Default.isl" +Name: "no"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\Norwegian.isl" +Name: "de"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\German.isl" +Name: "fr"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\French.isl" +Name: "es"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\Spanish.isl" +Name: "it"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\Italian.isl" +Name: "nl"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\Dutch.isl" +Name: "pl"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\Polish.isl" +Name: "ptbr"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\BrazilianPortuguese.isl" +Name: "pt"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\Portuguese.isl" +Name: "ru"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\Russian.isl" +Name: "am"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\Armenian.isl" +Name: "bg"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\Bulgarian.isl" +Name: "tr"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\Turkish.isl" +Name: "ua"; MessagesFile: "C:\Program Files (x86)\Inno Setup 6\Languages\Ukrainian.isl"