-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/release'
- Loading branch information
1 parent
1c3c131
commit 54f3c76
Showing
21 changed files
with
1,216 additions
and
774 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,181 @@ | ||
# ------------------------------------------------------------------------------ | ||
# Filename: .gitignore / \ | ||
# Project : Installerator | () | | ||
# Date : 10/28/2022 | | | ||
# Author : cyclopticnerve | \____/ | | ||
# License : WTFPLv2 \ / | ||
# ------------------------------------------------------------------------------ | ||
|
||
# shamelessly stolen from | ||
# https://github.com/github/gitignore/blob/main/Python.gitignore | ||
# (and reformatted) | ||
|
||
# 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 | ||
|
||
# poetry | ||
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock | ||
# in version control. | ||
# This is especially recommended for binary packages to ensure | ||
# reproducibility, and is more commonly ignored for libraries. | ||
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control | ||
#poetry.lock | ||
|
||
# pdm | ||
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in | ||
# version control. | ||
#pdm.lock | ||
# pdm stores project-wide configurations in .pdm.toml, but it is recommended | ||
# to not include it in version control. | ||
# https://pdm.fming.dev/#use-with-ide | ||
.pdm.toml | ||
|
||
# PEP 582; used by e.g. | ||
# github.com/David-OConnor/pyflow and github.com/pdm-project/pdm | ||
|
||
__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/ | ||
|
||
# PyCharm | ||
# JetBrains specific template is maintained in a separate JetBrains.gitignore | ||
# that can be found at | ||
# https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore | ||
# and can be added to the global gitignore or merged into this file. For a | ||
# more nuclear option (not recommended) you can uncomment the following to | ||
# ignore the entire idea folder. | ||
#.idea/ | ||
|
||
# -) |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | ||
Version 2, December 2004 | ||
|
||
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> | ||
|
||
Everyone is permitted to copy and distribute verbatim or modified | ||
copies of this license document, and changing it is allowed as long | ||
as the name is changed. | ||
|
||
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE | ||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
|
||
0. You just DO WHAT THE FUCK YOU WANT TO. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# ------------------------------------------------------------------------------ | ||
# Filename: MANIFEST.in / \ | ||
# Project : Installerator | () | | ||
# Date : 10/28/2022 | | | ||
# Author : cyclopticnerve | \____/ | | ||
# License : WTFPLv2 \ / | ||
# ------------------------------------------------------------------------------ | ||
|
||
# -) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
<!-----------------------------------------------------------------------------> | ||
<!-- Filename: README.md / \ --> | ||
<!-- Project : Installerator | () | --> | ||
<!-- Date : 10/31/2022 | | --> | ||
<!-- Author : cyclopticnerve | \____/ | --> | ||
<!-- License : WTFPLv2 \ / --> | ||
<!-----------------------------------------------------------------------------> | ||
|
||
# Installerator | ||
|
||
## "It mostly works™" | ||
|
||
[![License: WTFPL](https://img.shields.io/badge/License-WTFPL-brightgreen.svg)](http://www.wtfpl.net/about/) | ||
|
||
A small Python module that makes working with json settings files easier | ||
|
||
## Installing | ||
|
||
You can download the (hopefully stable) | ||
[latest release](https://github.com/cyclopticnerve/installerator/releases/latest) | ||
from the main branch. <br> | ||
Download the Source Code (tar.gz) file. <br> | ||
Then install it using: | ||
```bash | ||
foo@bar:~$ cd Downloads | ||
foo@bar:~/Downloads$ python -m pip install Installerator-X.X.X.tar.gz | ||
``` | ||
|
||
Or you can clone the git repo to get the latest (and often broken) code from the dev branch: | ||
```bash | ||
foo@bar:~$ cd Downloads | ||
foo@bar:~/Downloads$ git clone https://github.com/cyclopticnerve/Installerator | ||
foo@bar:~/Downloads$ cd Installerator | ||
foo@bar:~/Downloads/Installerator$ python -m build | ||
foo@bar:~/Downloads/Installerator$ python -m pip install ./dist/installerator-X.X.X.tar.gz -r ./requirements.txt | ||
``` | ||
|
||
## Requirements | ||
|
||
This package relies on another package, Configurator. | ||
Find out more about this package [here](https://github.com/cyclopticnerve/configurator). | ||
|
||
## Uninstalling | ||
|
||
```python | ||
python -m pip uninstall installerator | ||
``` | ||
|
||
## Usage | ||
|
||
### Install: | ||
```python | ||
# NB: the whole import thing is still hazy to me, but this works 100% | ||
# from <package>.<module> import <Class> | ||
from installerator.installerator import Installerator | ||
|
||
# the user dict | ||
dict_user = { | ||
"general": { | ||
"name": "SpaceOddity" | ||
}, | ||
"py_reqs": [ | ||
"python-crontab" | ||
], | ||
"dirs": [ | ||
"${HOME}/.spaceoddity", | ||
"${HOME}/.config/spaceoddity" | ||
], | ||
"files": { | ||
"${SRC}/spaceoddity.py": "${HOME}/.spaceoddity", | ||
"${SRC}/LICENSE": "${HOME}/.spaceoddity", | ||
"${SRC}/VERSION": "${HOME}/.spaceoddity", | ||
"${SRC}/uninstall.py": "${HOME}/.spaceoddity", | ||
"${SRC}/uninstall.json": "${HOME}/.spaceoddity", | ||
"${SRC}/cron_uninstall.py": "${HOME}/.spaceoddity" | ||
}, | ||
"postflight": [ | ||
"${SRC}/convert_json.py", | ||
"${SRC}/cron_install.py", | ||
"${HOME}/.spaceoddity/spaceoddity.py" | ||
] | ||
} | ||
|
||
# create an instance of the class | ||
inst = Installerator() | ||
|
||
# # run the instance | ||
inst.run(dict_user) | ||
``` | ||
|
||
### Uninstall: | ||
```python | ||
# NB: the whole import thing is still hazy to me, but this works 100% | ||
# from <package>.<moule> import <Class> | ||
from installerator.uninstallerator import Uninstallerator | ||
|
||
dict_user = { | ||
"general": { | ||
"name": "SpaceOddity" | ||
}, | ||
"preflight": [ | ||
"${HOME}/.spaceoddity/cron_uninstall.py" | ||
], | ||
"dirs": [ | ||
"${HOME}/.spaceoddity", | ||
"${HOME}/.config/spaceoddity" | ||
] | ||
} | ||
|
||
# create an instance of the class | ||
uninst = Uninstallerator() | ||
|
||
# # run the instance | ||
uninst.run(dict_user) | ||
``` | ||
|
||
## -) |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.