From 801a85da0862a08dbe070fd28757af9a4b359659 Mon Sep 17 00:00:00 2001 From: Alexis Delhaie Date: Sun, 9 Aug 2020 19:00:43 +0200 Subject: [PATCH] v1.0 --- .gitignore | 138 ++++++++++++++++++ .idea/.gitignore | 8 + .../inspectionProfiles/profiles_settings.xml | 6 + .idea/misc.xml | 4 + .idea/modules.xml | 8 + .idea/pythonProject.iml | 10 ++ README.md | 9 ++ app.ico | Bin 0 -> 36932 bytes build.bat | 16 ++ clean.bat | 13 ++ main.py | 123 ++++++++++++++++ requirements.txt | 3 + 12 files changed, 338 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/pythonProject.iml create mode 100644 README.md create mode 100644 app.ico create mode 100644 build.bat create mode 100644 clean.bat create mode 100644 main.py create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5391d87 --- /dev/null +++ b/.gitignore @@ -0,0 +1,138 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..bf736dc --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/../../../../../../:\Users\robof\PycharmProjects\pythonProject\.idea/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..f56ad02 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..e15ec35 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/pythonProject.iml b/.idea/pythonProject.iml new file mode 100644 index 0000000..74d515a --- /dev/null +++ b/.idea/pythonProject.iml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..5ff0ff1 --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# Installer bootstrap +This bootstrap is for Chronos installer ([Github](https://github.com/alexlegarnd/chronos-installer)) but it can be used to bootstrap other software +This installer is developed in Python 3 and packaged to an EXE with PyInstaller + +## Build + +Just run this command: + + ./build.bat diff --git a/app.ico b/app.ico new file mode 100644 index 0000000000000000000000000000000000000000..d74cfc1011fd1c0c1d5650857b75e415299f251f GIT binary patch literal 36932 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