Compare commits

..

1 Commits

Author SHA1 Message Date
6273e833f8 testing 2024-10-06 03:23:44 -04:00
5 changed files with 115 additions and 129 deletions

View File

@ -1,15 +0,0 @@
.PHONY: default venv install dev clean
default: dev
venv:
@[ ! -d ./venv ] && python3 -m venv venv || true
require: venv
@bash -c "source venv/bin/activate && pip install -r requirements.txt"
dev: require
@bash -c "source venv/bin/activate && pip install -e ."
clean:
rm -rf venv dist tarc.egg-info

View File

@ -1,7 +1,4 @@
[project] [project]
name = "tarc" name = "tarc"
version = "0.0.1dev3" version = "0.0.1dev2"
description = "Manage BT archives" description = "Manage BT archives"
[project.scripts]
tarc = "tarc:main"

20
tarc.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/bash
# Create a virtual environment if it does not exist
if [ ! -d "venv" ]; then
# shellcheck disable=SC1091
python3 -m venv venv && \
source venv/bin/activate && \
pip install -r requirements.txt && \
deactivate
fi
# Activate the virtual environment
# shellcheck disable=SC1091
source venv/bin/activate
# Run the Python script
python tarc/main.py "$@"
# Deactivate the virtual environment
deactivate

View File

@ -1,5 +0,0 @@
"""
tarc - Manage BT archives
"""
from .main import main

View File

@ -154,32 +154,27 @@ def list_clients(conn):
return rows return rows
def main(): parser = argparse.ArgumentParser(description="Manage BT archives", prog="tarc")
""" subparsers = parser.add_subparsers(
Entrypoint of the program.
"""
parser = argparse.ArgumentParser(description="Manage BT archives", prog="tarc")
subparsers = parser.add_subparsers(
dest="command", required=True, help="Available commands" dest="command", required=True, help="Available commands"
) )
scan_parser = subparsers.add_parser("scan", help="Scan command") scan_parser = subparsers.add_parser("scan", help="Scan command")
scan_parser.add_argument("--debug", action="store_true", help="Enable debug mode") scan_parser.add_argument("--debug", action="store_true", help="Enable debug mode")
scan_parser.add_argument( scan_parser.add_argument(
"--confirm-add", action="store_true", help="Confirm adding a new client" "--confirm-add", action="store_true", help="Confirm adding a new client"
) )
scan_parser.add_argument("-n", "--name", help="Name of client") scan_parser.add_argument("-n", "--name", help="Name of client")
scan_parser.add_argument("-d", "--directory", help="Directory to scan") scan_parser.add_argument("-d", "--directory", help="Directory to scan")
scan_parser.add_argument("-t", "--type", help="Scan type") scan_parser.add_argument("-t", "--type", help="Scan type")
scan_parser.add_argument("-e", "--endpoint", help="Endpoint URL") scan_parser.add_argument("-e", "--endpoint", help="Endpoint URL")
scan_parser.add_argument("-u", "--username", help="Username") scan_parser.add_argument("-u", "--username", help="Username")
scan_parser.add_argument("-p", "--password", help="Password") scan_parser.add_argument("-p", "--password", help="Password")
scan_parser.add_argument("-s", "--storage", help="Path of sqlite3 database") scan_parser.add_argument("-s", "--storage", help="Path of sqlite3 database")
args = parser.parse_args() args = parser.parse_args()
if args.command == "scan": if args.command == "scan":
if args.storage is None: if args.storage is None:
STORAGE = os.path.expanduser("~/.tarch.db") STORAGE = os.path.expanduser("~/.tarch.db")
else: else:
@ -260,14 +255,8 @@ def main():
print(f"[DEBUG]: Tracker {repr(elem)}") print(f"[DEBUG]: Tracker {repr(elem)}")
print("\n", end="") print("\n", end="")
else: else:
print( print(f'[ERROR]: Multiple clients ({len(clients)}) using "{args.endpoint}"')
f'[ERROR]: Multiple clients ({len(clients)}) using "{args.endpoint}"'
)
sys.exit(1) sys.exit(1)
else: else:
print("[ERROR]: Must specify directory OR client endpoint") print("[ERROR]: Must specify directory OR client endpoint")
sys.exit(1) sys.exit(1)
if __name__ == "__main__":
main()