Initial Commit
All checks were successful
/ backend-pylint (push) Successful in 9s

This commit is contained in:
Firq 2024-06-29 14:14:18 +02:00
commit bcafbeb3cf
Signed by: Firq
GPG key ID: 3ACC61C8CEC83C20
12 changed files with 140 additions and 0 deletions

View file

@ -0,0 +1,55 @@
on:
push:
tags:
- '[0-9]+\.[0-9]+\.[0-9]+-c\.[0-9]+'
- '[0-9]+\.[0-9]+\.[0-9]+-a\.[0-9]+'
- '[0-9]+\.[0-9]+\.[0-9]'
jobs:
backend-pylint:
runs-on: docker
container: nikolaik/python-nodejs:python3.11-nodejs21
steps:
- name: Checkout source code
uses: https://code.forgejo.org/actions/checkout@v3
- name: Install packages
run: |
pip install -e . -q
python -m pip list --format=columns --disable-pip-version-check
pip install pylint~=2.17.7 --disable-pip-version-check -q
- name: Run pylint
run: |
pylint --version
pylint **/*.py --exit-zero --rc-file pyproject.toml
build-artifacts:
needs: ["backend-pylint"]
runs-on: docker
container: nikolaik/python-nodejs:python3.11-nodejs21
steps:
- name: Checkout source code
uses: https://code.forgejo.org/actions/checkout@v3
- name: Install packages
run: pip install build
- name: Build package
run: python -m build
- name: Save build artifacts
uses: https://code.forgejo.org/actions/upload-artifact@v3
with:
name: packages
path: dist/*
publish-artifacts:
needs: ["build-artifacts"]
runs-on: docker
container: nikolaik/python-nodejs:python3.11-nodejs21
steps:
- name: Downloading static site artifacts
uses: actions/download-artifact@v3
with:
name: packages
path: dist
- name: Install Dependencies
run: pip install twine
- name: Upload package to registry
run: python -m twine upload --repository-url ${{ secrets.REPOSITORY_URL }} -u ${{ secrets.TWINE_DEPLOY_USER }} -p ${{ secrets.TWINE_DEPLOY_PASSWORD }} dist/*

View file

@ -0,0 +1,20 @@
on:
push:
branches: "**"
jobs:
backend-pylint:
runs-on: docker
container: nikolaik/python-nodejs:python3.11-nodejs21
steps:
- name: Checkout source code
uses: https://code.forgejo.org/actions/checkout@v3
- name: Install packages
run: |
pip install -e . -q
python -m pip list --format=columns --disable-pip-version-check
pip install pylint~=2.17.7 --disable-pip-version-check -q
- name: Run pylint
run: |
pylint --version
pylint **/*.py --exit-zero --rc-file pyproject.toml

6
.gitignore vendored Normal file
View file

@ -0,0 +1,6 @@
.vscode/
# Python stuff
__pycache__/
*venv/
dist/

3
README.md Normal file
View file

@ -0,0 +1,3 @@
# dockge-cli
A simple CLI application written in Python for communicating with Dockge using websockets

1
dockge_cli/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
.temp/*

0
dockge_cli/__init__.py Normal file
View file

0
dockge_cli/__main__.py Normal file
View file

1
dockge_cli/cli.py Normal file
View file

@ -0,0 +1 @@
import argparse

View file

View file

View file

@ -0,0 +1,26 @@
import pathlib
import base64
import yaml
_storagepath = pathlib.Path(__file__).parents[1] / ".temp"
_file = _storagepath / "storage.yaml"
_storagepath.mkdir(exist_ok=True, parents=True)
def set(key: str, value: str):
with open(_file, "w+") as file:
content: dict[str, str] = yaml.load(file, Loader=yaml.SafeLoader) or {}
content.update({ key: base64.b64encode(value.encode()) })
yaml.dump(content, file, Dumper=yaml.SafeDumper)
def get(key: str):
value: str = None
if not _file.exists():
return None
with open(_file, "r") as file:
content: dict[str, str] = yaml.load(file, Loader=yaml.SafeLoader)
value = content.get(key, None)
return base64.b64decode(value).decode() if value is not None else None
def clear():
_file.unlink()

28
pyproject.toml Normal file
View file

@ -0,0 +1,28 @@
[project]
name = "dockge_cli"
version = "0.0.1-a.1"
dependencies = [
"pyyaml~=6.0.1"
]
requires-python = ">= 3.10"
authors = [{name = "Firq", email = "firelp42@gmail.com"}]
maintainers = [{name = "Firq", email = "firelp42@gmail.com"}]
description = "CLi for interacting with dockge"
classifiers = [
"Development Status :: 3 - Alpha",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
[tool.setuptools.packages.find]
where = ["."]
include = ["dockge_cli*"]
[tool.pylint."MAIN"]
disable = [ "line-too-long", "missing-module-docstring" ]
[build-system]
requires = ["setuptools >= 61.0"]
build-backend = "setuptools.build_meta"