mirror of
https://github.com/clinton-hall/nzbToMedia.git
synced 2025-08-19 21:03:14 -07:00
Refactor network utils to utils.network
This commit is contained in:
parent
a14a286a8e
commit
c4d9faeb23
2 changed files with 59 additions and 45 deletions
|
@ -20,7 +20,7 @@ from core import extractor, logger
|
||||||
from core.utils import shutil_custom
|
from core.utils import shutil_custom
|
||||||
from core.utils.download_info import get_download_info, update_download_info_status
|
from core.utils.download_info import get_download_info, update_download_info_status
|
||||||
from core.utils.links import copy_link, replace_links
|
from core.utils.links import copy_link, replace_links
|
||||||
from core.utils.network import test_connection, wake_on_lan, wake_up
|
from core.utils.network import find_download, test_connection, wake_on_lan, wake_up
|
||||||
from core.utils.parsers import (
|
from core.utils.parsers import (
|
||||||
parse_args,
|
parse_args,
|
||||||
parse_deluge,
|
parse_deluge,
|
||||||
|
@ -453,50 +453,6 @@ def clean_dir(path, section, subsection):
|
||||||
logger.error('Unable to delete directory {0}'.format(path))
|
logger.error('Unable to delete directory {0}'.format(path))
|
||||||
|
|
||||||
|
|
||||||
def find_download(client_agent, download_id):
|
|
||||||
logger.debug('Searching for Download on {0} ...'.format(client_agent))
|
|
||||||
if client_agent == 'utorrent':
|
|
||||||
torrents = core.TORRENT_CLASS.list()[1]['torrents']
|
|
||||||
for torrent in torrents:
|
|
||||||
if download_id in torrent:
|
|
||||||
return True
|
|
||||||
if client_agent == 'transmission':
|
|
||||||
torrents = core.TORRENT_CLASS.get_torrents()
|
|
||||||
for torrent in torrents:
|
|
||||||
torrent_hash = torrent.hashString
|
|
||||||
if torrent_hash == download_id:
|
|
||||||
return True
|
|
||||||
if client_agent == 'deluge':
|
|
||||||
return False
|
|
||||||
if client_agent == 'qbittorrent':
|
|
||||||
torrents = core.TORRENT_CLASS.torrents()
|
|
||||||
for torrent in torrents:
|
|
||||||
if torrent['hash'] == download_id:
|
|
||||||
return True
|
|
||||||
if client_agent == 'sabnzbd':
|
|
||||||
if 'http' in core.SABNZBDHOST:
|
|
||||||
base_url = '{0}:{1}/api'.format(core.SABNZBDHOST, core.SABNZBDPORT)
|
|
||||||
else:
|
|
||||||
base_url = 'http://{0}:{1}/api'.format(core.SABNZBDHOST, core.SABNZBDPORT)
|
|
||||||
url = base_url
|
|
||||||
params = {
|
|
||||||
'apikey': core.SABNZBDAPIKEY,
|
|
||||||
'mode': 'get_files',
|
|
||||||
'output': 'json',
|
|
||||||
'value': download_id,
|
|
||||||
}
|
|
||||||
try:
|
|
||||||
r = requests.get(url, params=params, verify=False, timeout=(30, 120))
|
|
||||||
except requests.ConnectionError:
|
|
||||||
logger.error('Unable to open URL')
|
|
||||||
return False # failure
|
|
||||||
|
|
||||||
result = r.json()
|
|
||||||
if result['files']:
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
def clean_file_name(filename):
|
def clean_file_name(filename):
|
||||||
"""Cleans up nzb name by removing any . and _
|
"""Cleans up nzb name by removing any . and _
|
||||||
characters, along with any trailing hyphens.
|
characters, along with any trailing hyphens.
|
||||||
|
|
|
@ -2,6 +2,8 @@ import socket
|
||||||
import struct
|
import struct
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
import requests
|
||||||
|
|
||||||
import core
|
import core
|
||||||
from core import logger
|
from core import logger
|
||||||
|
|
||||||
|
@ -64,3 +66,59 @@ def wake_up():
|
||||||
logger.warning(msg.format(mac, max_attempts))
|
logger.warning(msg.format(mac, max_attempts))
|
||||||
|
|
||||||
logger.info('Continuing with the rest of the script.')
|
logger.info('Continuing with the rest of the script.')
|
||||||
|
|
||||||
|
|
||||||
|
def server_responding(base_url):
|
||||||
|
logger.debug('Attempting to connect to server at {0}'.format(base_url), 'SERVER')
|
||||||
|
try:
|
||||||
|
requests.get(base_url, timeout=(60, 120), verify=False)
|
||||||
|
except (requests.ConnectionError, requests.exceptions.Timeout):
|
||||||
|
logger.error('Server failed to respond at {0}'.format(base_url), 'SERVER')
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
logger.debug('Server responded at {0}'.format(base_url), 'SERVER')
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def find_download(client_agent, download_id):
|
||||||
|
logger.debug('Searching for Download on {0} ...'.format(client_agent))
|
||||||
|
if client_agent == 'utorrent':
|
||||||
|
torrents = core.TORRENT_CLASS.list()[1]['torrents']
|
||||||
|
for torrent in torrents:
|
||||||
|
if download_id in torrent:
|
||||||
|
return True
|
||||||
|
if client_agent == 'transmission':
|
||||||
|
torrents = core.TORRENT_CLASS.get_torrents()
|
||||||
|
for torrent in torrents:
|
||||||
|
torrent_hash = torrent.hashString
|
||||||
|
if torrent_hash == download_id:
|
||||||
|
return True
|
||||||
|
if client_agent == 'deluge':
|
||||||
|
return False
|
||||||
|
if client_agent == 'qbittorrent':
|
||||||
|
torrents = core.TORRENT_CLASS.torrents()
|
||||||
|
for torrent in torrents:
|
||||||
|
if torrent['hash'] == download_id:
|
||||||
|
return True
|
||||||
|
if client_agent == 'sabnzbd':
|
||||||
|
if 'http' in core.SABNZBDHOST:
|
||||||
|
base_url = '{0}:{1}/api'.format(core.SABNZBDHOST, core.SABNZBDPORT)
|
||||||
|
else:
|
||||||
|
base_url = 'http://{0}:{1}/api'.format(core.SABNZBDHOST, core.SABNZBDPORT)
|
||||||
|
url = base_url
|
||||||
|
params = {
|
||||||
|
'apikey': core.SABNZBDAPIKEY,
|
||||||
|
'mode': 'get_files',
|
||||||
|
'output': 'json',
|
||||||
|
'value': download_id,
|
||||||
|
}
|
||||||
|
try:
|
||||||
|
r = requests.get(url, params=params, verify=False, timeout=(30, 120))
|
||||||
|
except requests.ConnectionError:
|
||||||
|
logger.error('Unable to open URL')
|
||||||
|
return False # failure
|
||||||
|
|
||||||
|
result = r.json()
|
||||||
|
if result['files']:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue