Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Torrent hook #221

Merged
merged 23 commits into from
Jul 7, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
14c4389
Scaffold for torrent_hook
shaldengeki Jul 7, 2024
44dd8e1
Pause torrent
shaldengeki Jul 7, 2024
58e671e
Run gazelle
shaldengeki Jul 7, 2024
692b263
Restructure args a little
shaldengeki Jul 7, 2024
0cbcc56
Mark as required
shaldengeki Jul 7, 2024
09c1e00
Set up logging
shaldengeki Jul 7, 2024
bb21941
Add script
shaldengeki Jul 7, 2024
b075627
Catch 404 when pausing
shaldengeki Jul 7, 2024
68380c6
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 7, 2024
1775226
Remove plugin
shaldengeki Jul 7, 2024
bcaeb3a
Merge remote-tracking branch 'refs/remotes/origin/torrent-hook' into …
shaldengeki Jul 7, 2024
953bf50
Ignore typing errors in py_proto/test
shaldengeki Jul 7, 2024
589dcfb
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 7, 2024
27acc9c
Fixup remaining errors
shaldengeki Jul 7, 2024
5453c68
Merge remote-tracking branch 'refs/remotes/origin/torrent-hook' into …
shaldengeki Jul 7, 2024
285342c
Fix non-required value
shaldengeki Jul 7, 2024
973d73a
Quote args
shaldengeki Jul 7, 2024
3bbcf35
Set type of pause
shaldengeki Jul 7, 2024
f9e1eb2
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 7, 2024
3abd051
Type and notify
shaldengeki Jul 7, 2024
35123bc
Merge remote-tracking branch 'refs/remotes/origin/torrent-hook' into …
shaldengeki Jul 7, 2024
b3b39d8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jul 7, 2024
43e3463
Fixup tag parsing
shaldengeki Jul 7, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
  • Loading branch information
pre-commit-ci[bot] committed Jul 7, 2024
commit 68380c677587428a82c3698ff035c2e7f93860ea
2 changes: 1 addition & 1 deletion mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ exclude = (?x)(
# a set of SQLAlchemy typestubs that are written for <2.x,
# which introduces spurious type errors when we install them.
[mypy-flask_migrate.*]
ignore_missing_imports = True
ignore_missing_imports = True
15 changes: 10 additions & 5 deletions torrent_hook/torrent_finished.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,15 @@

import argparse
import json

# import requests
import logging

import qbittorrentapi

logger = logging.getLogger(__name__)


def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser()
parser.add_argument("--torrent-name", required=True)
Expand All @@ -27,6 +30,7 @@ def parse_args() -> argparse.Namespace:
parser.add_argument("--pause", type=bool, default=False)
return parser.parse_args()


def write_log(args: argparse.Namespace):
invocation = {
"torrent_name": args.torrent_name,
Expand All @@ -40,7 +44,7 @@ def write_log(args: argparse.Namespace):
"current_tracker": args.current_tracker,
"info_hash_v1": args.info_hash_v1,
"info_hash_v2": args.info_hash_v2,
"torrent_id": args.torrent_id
"torrent_id": args.torrent_id,
}
logger.info(f"Received completed torrent: {json.dumps(invocation)}")

Expand All @@ -57,10 +61,11 @@ def pause_torrent(torrent_id: str) -> None:
except qbittorrentapi.NotFound404Error:
pass


def main() -> int:
args = parse_args()
logging.basicConfig(filename=args.log_file, encoding='utf-8', level=logging.INFO)
logging.basicConfig(filename=args.log_file, encoding="utf-8", level=logging.INFO)

# First, write to logfile.
write_log(args)

Expand All @@ -74,5 +79,5 @@ def main() -> int:
return 0


if __name__ == '__main__':
raise SystemExit(main())
if __name__ == "__main__":
raise SystemExit(main())