Browse Source

Update Pipfile and bump transmission-clutch to latest version

master
djib 2 weeks ago
parent
commit
83a6d3d5c2
  1. 32
      PDMameUpdate.py
  2. 14
      Pipfile
  3. 86
      Pipfile.lock

32
PDMameUpdate.py

@ -25,7 +25,8 @@ Requirements:
* Transmission for Bitorrent
* A proper PDMameUpdate.json file (see PDMameUpdate.template.json)
* Python3 with the libraries below
- feedparser
- bs4
- requests
- transmission-clutch
- tabulate
* Linux (untested on other OS, but it might work)
@ -47,11 +48,11 @@ import re
from requests import get
import time
import pathlib
from clutch.core import Client
from clutch import Client
from tabulate import tabulate
from collections import defaultdict
from pprint import pformat
from urllib.parse import quote, urlparse
from urllib.parse import urlparse
def open_config_file():
@ -98,7 +99,7 @@ def get_magnet_link(link):
for link in html.find_all('a'):
href = link.get('href')
if urlparse(href).scheme=='magnet':
if urlparse(href).scheme == 'magnet':
return link.string
@ -132,7 +133,8 @@ def fetch_remote_torrents():
if urlparse(link.get('href')).netloc == 'mgnet.me':
matched_version = match.group(0)
matched_torrent = torrents[regexp.sub('#', link.string)]
if matched_version > matched_torrent.get('remote-version', ''):
remote_version = matched_torrent.get('remote-version', '')
if matched_version > remote_version:
matched_torrent['remote-version'] = matched_version
matched_torrent['remote-link'] = link.get('href')
matched_torrent['remote-name'] = link.string
@ -177,7 +179,12 @@ def prompt_for_update():
data['remote-version'],
data.get('transmission-id', 'N/A')
])
print(tabulate(output, headers=output_header, tablefmt="simple", disable_numparse=True))
print(tabulate(
output,
headers=output_header,
tablefmt="simple",
disable_numparse=True
))
print('Should I update the torrents listed above? (y/N)')
answer = input()
if answer.lower() != 'y':
@ -206,7 +213,11 @@ def fetch_transmission_torrents():
"""Gets the torrents id from Transmission"""
logging.info('Listing Transmission torrents')
for torrent in client.list().values():
local_torrents = client.torrent.accessor(
fields=['id', 'name']
).arguments.torrents
for local_torrent in local_torrents:
torrent = local_torrent.dict(exclude_none=True)
for regexp in regexps:
match = regexp.search(torrent['name'])
if match:
@ -235,9 +246,12 @@ def update_torrents():
torrent['remote-name']
)
if 'transmission-id' in torrent:
logging.debug('Removing from transmission : %s',torrent['transmission-id'])
logging.debug(
'Removing from transmission : %s',
torrent['transmission-id']
)
client.torrent.remove(torrent['transmission-id'])
logging.debug('Renaming %s to %s',old_name, new_name)
logging.debug('Renaming %s to %s', old_name, new_name)
os.rename(old_name, new_name)
logging.debug('Adding to transmission : %s', torrent['remote-link'])

14
Pipfile

@ -1,14 +1,16 @@
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
url = "https://pypi.python.org/simple"
verify_ssl = true
[dev-packages]
name = "pypi"
[packages]
feedparser = "*"
bs4 = "*"
requests = "*"
clutch = "*"
transmission-clutch = "*"
tabulate = "*"
[dev-packages]
[requires]
python_version = "3.7"
python_version = "3.9"

86
Pipfile.lock

@ -1,86 +0,0 @@
{
"_meta": {
"hash": {
"sha256": "e3d43ff4830ae48696b6a19aa3a6766e8dbfafe9290959dfc620deb9e4258e7f"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.7"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"certifi": {
"hashes": [
"sha256:14131608ad2fd56836d33a71ee60fa1c82bc9d2c8d98b7bdbc631fe1b3cd1296",
"sha256:edbc3f203427eef571f79a7692bb160a2b0f7ccaa31953e99bd17e307cf63f7d"
],
"version": "==2018.1.18"
},
"chardet": {
"hashes": [
"sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",
"sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
],
"version": "==3.0.4"
},
"feedparser": {
"hashes": [
"sha256:bd030652c2d08532c034c27fcd7c85868e7fa3cb2b17f230a44a6bbc92519bf9",
"sha256:cd2485472e41471632ed3029d44033ee420ad0b57111db95c240c9160a85831c",
"sha256:ce875495c90ebd74b179855449040003a1beb40cd13d5f037a0654251e260b02"
],
"index": "pypi",
"version": "==5.2.1"
},
"idna": {
"hashes": [
"sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f",
"sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4"
],
"version": "==2.6"
},
"requests": {
"hashes": [
"sha256:6a1b267aa90cac58ac3a765d067950e7dbbf75b1da07e895d1f594193a40a38b",
"sha256:9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
],
"version": "==2.18.4"
},
"six": {
"hashes": [
"sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9",
"sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb"
],
"version": "==1.11.0"
},
"tabulate": {
"hashes": [
"sha256:5470cc6687a091c7042cee89b2946d9235fe9f6d49c193a4ae2ac7bf386737c8"
],
"index": "pypi",
"version": "==0.8.6"
},
"transmission-clutch": {
"hashes": [
"sha256:dbe9673420ae9bf07c00c249c59346d1a0f71023b29297e816d3a2afa1aa716a"
],
"index": "pypi",
"version": "==1.0.5"
},
"urllib3": {
"hashes": [
"sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
"sha256:cc44da8e1145637334317feebd728bd869a35285b93cbb4cca2577da7e62db4f"
],
"version": "==1.22"
}
},
"develop": {}
}
Loading…
Cancel
Save