Compare commits
1 Commits
8b36bf9421
...
6273e833f8
Author | SHA1 | Date | |
---|---|---|---|
6273e833f8 |
15
Makefile
15
Makefile
@ -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
|
|
@ -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
20
tarc.sh
Executable 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
|
@ -1,5 +0,0 @@
|
|||||||
"""
|
|
||||||
tarc - Manage BT archives
|
|
||||||
"""
|
|
||||||
|
|
||||||
from .main import main
|
|
45
tarc/main.py
45
tarc/main.py
@ -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()
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user