diff --git a/config.json b/config.json new file mode 100644 index 00000000..707667b8 --- /dev/null +++ b/config.json @@ -0,0 +1,6 @@ +{ + "host_ip": "192.168.31.10:8181", + "username": "admin", + "password": "adminadmin", + "savepath": "/downloads/Bangumi" +} \ No newline at end of file diff --git a/rss_ruleset.sh b/rss_ruleset.sh new file mode 100644 index 00000000..3984febf --- /dev/null +++ b/rss_ruleset.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +BangumiName=$1 + +python3 /path/rule_set.py --name $BangumiName diff --git a/rule_set.py b/rule_set.py new file mode 100644 index 00000000..2798e5dd --- /dev/null +++ b/rule_set.py @@ -0,0 +1,46 @@ +# utf-8 +import qbittorrentapi +import json +import argparse +import os + + +def rule_set(): + f = open("config.json") + server_info = json.load(f) + + host_ip = "http://"+server_info['host_ip'] + user_name = server_info['username'] + password = server_info['password'] + save_path = server_info['savepath'] + + qbt_client = qbittorrentapi.Client(host=host_ip, username=user_name, password=password) + try: + qbt_client.auth_log_in() + except qbittorrentapi.LoginFailed as e: + print(e) + + parser = argparse.ArgumentParser(description='Set RSS download rule.') + parser.add_argument('--name', default='', + help='Bangumi Name') + args = parser.parse_args() + bangumi_name = args.name + rule = {'enable':True, + 'mustContain': bangumi_name, + 'mustNotContain': '720', + 'useRegx': True, + 'episodeFilter': '', + 'smartFilter': False, + 'previouslyMatchedEpisodes': [], + 'affectedFeeds': [], + 'ignoreDays': 0, + 'lastMatch': '', + 'addPaused': False, + 'assignedCategory': 'Bangumi', + 'savePath': os.path.join(save_path, bangumi_name) + } + qbt_client.rss_set_rule(rule_name=bangumi_name, rule_def=rule) + + +if __name__ == "__main__": + rule_set()