From 386c066ed962f194d1ee7051a142f8b951e99cf3 Mon Sep 17 00:00:00 2001 From: JackDandy Date: Sat, 25 May 2024 09:31:35 +0100 Subject: [PATCH 1/3] =?UTF-8?q?Update=20UnRar=20x64=20for=20Windows=207.00?= =?UTF-8?q?=20=E2=86=92=207.0.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix FST provider exception raised when no title --- CHANGES.md | 8 +++++++- lib/rarfile/UnRAR.exe | Bin 506008 -> 506008 bytes sickgear/providers/filesharingtalk.py | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index ababaf89..aee3b8f2 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,4 +1,10 @@ -### 3.30.19 (2024-05-17 23:40:00 UTC) +### 3.30.20 (2024-05-25 09:35:00 UTC) + +* Fix FST provider exception raised when no title +* Update UnRar x64 for Windows 7.00 to 7.0.1 + + +### 3.30.19 (2024-05-17 23:40:00 UTC) * Fix exclude lxml versions 5.2.0 and 5.2.1 on non Windows because of CPU requirements creating core dump failure diff --git a/lib/rarfile/UnRAR.exe b/lib/rarfile/UnRAR.exe index 07676e9e4b7c1a2c30b79ab452241ed606b8fd56..17aefa9db531d5b75942801d9c86338a691ded7e 100644 GIT binary patch delta 82109 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 delta 82414 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 Date: Sat, 25 May 2024 21:07:08 +0200 Subject: [PATCH 2/3] Change improve handling of invalid person id for get_person in Trakt indexer Change stop logging internal 404 Trakt API response --- CHANGES.md | 1 + lib/api_trakt/indexerapiinterface.py | 6 ++++-- lib/api_trakt/trakt.py | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index aee3b8f2..47e424d1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,7 @@ * Fix FST provider exception raised when no title * Update UnRar x64 for Windows 7.00 to 7.0.1 +* Change improve handling of invalid person id for get_person in Trakt indexer ### 3.30.19 (2024-05-17 23:40:00 UTC) diff --git a/lib/api_trakt/indexerapiinterface.py b/lib/api_trakt/indexerapiinterface.py index a3ddeb11..9a0096c9 100644 --- a/lib/api_trakt/indexerapiinterface.py +++ b/lib/api_trakt/indexerapiinterface.py @@ -1,7 +1,7 @@ import datetime import logging import re -from .exceptions import TraktException, TraktAuthException +from .exceptions import TraktException, TraktAuthException, TraktMethodNotExisting from exceptions_helper import ConnectionSkipException, ex from six import iteritems from .trakt import TraktAPI @@ -333,8 +333,10 @@ class TraktIndexer(TVInfoBase): result = self._convert_person_obj(resp) except ConnectionSkipException as e: raise e + except TraktMethodNotExisting: + log.debug(f'Person id doesn\'t exist: {p_id}') except TraktException as e: - log.debug('Could not connect to Trakt service: %s' % ex(e)) + log.debug('Could not connect to Trakt service: {ex(e)}') return result def _search_person(self, name=None, ids=None): diff --git a/lib/api_trakt/trakt.py b/lib/api_trakt/trakt.py index fed70438..ac430d2c 100644 --- a/lib/api_trakt/trakt.py +++ b/lib/api_trakt/trakt.py @@ -325,7 +325,7 @@ class TraktAPI(object): return self.trakt_request(path, data, headers, url, count=count, sleep_retry=sleep_retry, send_oauth=send_oauth, method=method) elif 404 == code: - log.warning(f'Trakt error (404) the resource does not exist: {url}{path}') + # log.debug(f'Trakt error (404) the resource does not exist: {url}{path}') raise TraktMethodNotExisting('Trakt error (404) the resource does not exist: %s%s' % (url, path)) elif 429 == code: if count >= self.max_retrys: From ccc6134c65059e35bd9e7f0394b03bb6b43e766f Mon Sep 17 00:00:00 2001 From: Prinz23 Date: Sun, 26 May 2024 18:10:14 +0100 Subject: [PATCH 3/3] Changes for py3.13 compatibility Bundle telnetlib_313_and_up 3.13.1 as a fallback import Remove libnotify cgi import (not sure if there is a good escape replacement) --- CHANGES.md | 1 + lib/telnetlib313up/__init__.py | 676 ++++++++++++++++++++++++++++++++ sickgear/notifiers/libnotify.py | 6 +- sickgear/notifiers/nmj.py | 5 +- 4 files changed, 684 insertions(+), 4 deletions(-) create mode 100644 lib/telnetlib313up/__init__.py diff --git a/CHANGES.md b/CHANGES.md index 47e424d1..688e6218 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,7 @@ * Fix FST provider exception raised when no title * Update UnRar x64 for Windows 7.00 to 7.0.1 * Change improve handling of invalid person id for get_person in Trakt indexer +* Changes for py3.13 compatibility ### 3.30.19 (2024-05-17 23:40:00 UTC) diff --git a/lib/telnetlib313up/__init__.py b/lib/telnetlib313up/__init__.py new file mode 100644 index 00000000..9c4102b1 --- /dev/null +++ b/lib/telnetlib313up/__init__.py @@ -0,0 +1,676 @@ +r"""TELNET client class. + +Based on RFC 854: TELNET Protocol Specification, by J. Postel and +J. Reynolds + +Example: + +>>> from telnetlib import Telnet +>>> tn = Telnet('www.python.org', 79) # connect to finger port +>>> tn.write(b'guido\r\n') +>>> print(tn.read_all()) +Login Name TTY Idle When Where +guido Guido van Rossum pts/2 snag.cnri.reston.. + +>>> + +Note that read_all() won't read until eof -- it just reads some data +-- but it guarantees to read at least one byte unless EOF is hit. + +It is possible to pass a Telnet object to a selector in order to wait until +more data is available. Note that in this case, read_eager() may return b'' +even if there was data on the socket, because the protocol negotiation may have +eaten the data. This is why EOFError is needed in some cases to distinguish +between "no data" and "connection closed" (since the socket also appears ready +for reading when it is closed). + +To do: +- option negotiation +- timeout should be intrinsic to the connection object instead of an + option on one of the read calls only + +""" + + +# Imported modules +import sys +import socket +import selectors +from time import monotonic as _time + +__all__ = ["Telnet"] + +# Tunable parameters +DEBUGLEVEL = 0 + +# Telnet protocol defaults +TELNET_PORT = 23 + +# Telnet protocol characters (don't change) +IAC = bytes([255]) # "Interpret As Command" +DONT = bytes([254]) +DO = bytes([253]) +WONT = bytes([252]) +WILL = bytes([251]) +theNULL = bytes([0]) + +SE = bytes([240]) # Subnegotiation End +NOP = bytes([241]) # No Operation +DM = bytes([242]) # Data Mark +BRK = bytes([243]) # Break +IP = bytes([244]) # Interrupt process +AO = bytes([245]) # Abort output +AYT = bytes([246]) # Are You There +EC = bytes([247]) # Erase Character +EL = bytes([248]) # Erase Line +GA = bytes([249]) # Go Ahead +SB = bytes([250]) # Subnegotiation Begin + + +# Telnet protocol options code (don't change) +# These ones all come from arpa/telnet.h +BINARY = bytes([0]) # 8-bit data path +ECHO = bytes([1]) # echo +RCP = bytes([2]) # prepare to reconnect +SGA = bytes([3]) # suppress go ahead +NAMS = bytes([4]) # approximate message size +STATUS = bytes([5]) # give status +TM = bytes([6]) # timing mark +RCTE = bytes([7]) # remote controlled transmission and echo +NAOL = bytes([8]) # negotiate about output line width +NAOP = bytes([9]) # negotiate about output page size +NAOCRD = bytes([10]) # negotiate about CR disposition +NAOHTS = bytes([11]) # negotiate about horizontal tabstops +NAOHTD = bytes([12]) # negotiate about horizontal tab disposition +NAOFFD = bytes([13]) # negotiate about formfeed disposition +NAOVTS = bytes([14]) # negotiate about vertical tab stops +NAOVTD = bytes([15]) # negotiate about vertical tab disposition +NAOLFD = bytes([16]) # negotiate about output LF disposition +XASCII = bytes([17]) # extended ascii character set +LOGOUT = bytes([18]) # force logout +BM = bytes([19]) # byte macro +DET = bytes([20]) # data entry terminal +SUPDUP = bytes([21]) # supdup protocol +SUPDUPOUTPUT = bytes([22]) # supdup output +SNDLOC = bytes([23]) # send location +TTYPE = bytes([24]) # terminal type +EOR = bytes([25]) # end or record +TUID = bytes([26]) # TACACS user identification +OUTMRK = bytes([27]) # output marking +TTYLOC = bytes([28]) # terminal location number +VT3270REGIME = bytes([29]) # 3270 regime +X3PAD = bytes([30]) # X.3 PAD +NAWS = bytes([31]) # window size +TSPEED = bytes([32]) # terminal speed +LFLOW = bytes([33]) # remote flow control +LINEMODE = bytes([34]) # Linemode option +XDISPLOC = bytes([35]) # X Display Location +OLD_ENVIRON = bytes([36]) # Old - Environment variables +AUTHENTICATION = bytes([37]) # Authenticate +ENCRYPT = bytes([38]) # Encryption option +NEW_ENVIRON = bytes([39]) # New - Environment variables +# the following ones come from +# http://www.iana.org/assignments/telnet-options +# Unfortunately, that document does not assign identifiers +# to all of them, so we are making them up +TN3270E = bytes([40]) # TN3270E +XAUTH = bytes([41]) # XAUTH +CHARSET = bytes([42]) # CHARSET +RSP = bytes([43]) # Telnet Remote Serial Port +COM_PORT_OPTION = bytes([44]) # Com Port Control Option +SUPPRESS_LOCAL_ECHO = bytes([45]) # Telnet Suppress Local Echo +TLS = bytes([46]) # Telnet Start TLS +KERMIT = bytes([47]) # KERMIT +SEND_URL = bytes([48]) # SEND-URL +FORWARD_X = bytes([49]) # FORWARD_X +PRAGMA_LOGON = bytes([138]) # TELOPT PRAGMA LOGON +SSPI_LOGON = bytes([139]) # TELOPT SSPI LOGON +PRAGMA_HEARTBEAT = bytes([140]) # TELOPT PRAGMA HEARTBEAT +EXOPL = bytes([255]) # Extended-Options-List +NOOPT = bytes([0]) + + +# poll/select have the advantage of not requiring any extra file descriptor, +# contrarily to epoll/kqueue (also, they require a single syscall). +if hasattr(selectors, 'PollSelector'): + _TelnetSelector = selectors.PollSelector +else: + _TelnetSelector = selectors.SelectSelector + + +class Telnet: + + """Telnet interface class. + + An instance of this class represents a connection to a telnet + server. The instance is initially not connected; the open() + method must be used to establish a connection. Alternatively, the + host name and optional port number can be passed to the + constructor, too. + + Don't try to reopen an already connected instance. + + This class has many read_*() methods. Note that some of them + raise EOFError when the end of the connection is read, because + they can return an empty string for other reasons. See the + individual doc strings. + + read_until(expected, [timeout]) + Read until the expected string has been seen, or a timeout is + hit (default is no timeout); may block. + + read_all() + Read all data until EOF; may block. + + read_some() + Read at least one byte or EOF; may block. + + read_very_eager() + Read all data available already queued or on the socket, + without blocking. + + read_eager() + Read either data already queued or some data available on the + socket, without blocking. + + read_lazy() + Read all data in the raw queue (processing it first), without + doing any socket I/O. + + read_very_lazy() + Reads all data in the cooked queue, without doing any socket + I/O. + + read_sb_data() + Reads available data between SB ... SE sequence. Don't block. + + set_option_negotiation_callback(callback) + Each time a telnet option is read on the input flow, this callback + (if set) is called with the following parameters : + callback(telnet socket, command, option) + option will be chr(0) when there is no option. + No other action is done afterwards by telnetlib. + + """ + + def __init__(self, host=None, port=0, + timeout=socket._GLOBAL_DEFAULT_TIMEOUT): + """Constructor. + + When called without arguments, create an unconnected instance. + With a hostname argument, it connects the instance; port number + and timeout are optional. + """ + self.debuglevel = DEBUGLEVEL + self.host = host + self.port = port + self.timeout = timeout + self.sock = None + self.rawq = b'' + self.irawq = 0 + self.cookedq = b'' + self.eof = 0 + self.iacseq = b'' # Buffer for IAC sequence. + self.sb = 0 # flag for SB and SE sequence. + self.sbdataq = b'' + self.option_callback = None + if host is not None: + self.open(host, port, timeout) + + def open(self, host, port=0, timeout=socket._GLOBAL_DEFAULT_TIMEOUT): + """Connect to a host. + + The optional second argument is the port number, which + defaults to the standard telnet port (23). + + Don't try to reopen an already connected instance. + """ + self.eof = 0 + if not port: + port = TELNET_PORT + self.host = host + self.port = port + self.timeout = timeout + sys.audit("telnetlib.Telnet.open", self, host, port) + self.sock = socket.create_connection((host, port), timeout) + + def __del__(self): + """Destructor -- close the connection.""" + self.close() + + def msg(self, msg, *args): + """Print a debug message, when the debug level is > 0. + + If extra arguments are present, they are substituted in the + message using the standard string formatting operator. + + """ + if self.debuglevel > 0: + print('Telnet(%s,%s):' % (self.host, self.port), end=' ') + if args: + print(msg % args) + else: + print(msg) + + def set_debuglevel(self, debuglevel): + """Set the debug level. + + The higher it is, the more debug output you get (on sys.stdout). + + """ + self.debuglevel = debuglevel + + def close(self): + """Close the connection.""" + sock = self.sock + self.sock = None + self.eof = True + self.iacseq = b'' + self.sb = 0 + if sock: + sock.close() + + def get_socket(self): + """Return the socket object used internally.""" + return self.sock + + def fileno(self): + """Return the fileno() of the socket object used internally.""" + return self.sock.fileno() + + def write(self, buffer): + """Write a string to the socket, doubling any IAC characters. + + Can block if the connection is blocked. May raise + OSError if the connection is closed. + + """ + if IAC in buffer: + buffer = buffer.replace(IAC, IAC+IAC) + sys.audit("telnetlib.Telnet.write", self, buffer) + self.msg("send %r", buffer) + self.sock.sendall(buffer) + + def read_until(self, match, timeout=None): + """Read until a given string is encountered or until timeout. + + When no match is found, return whatever is available instead, + possibly the empty string. Raise EOFError if the connection + is closed and no cooked data is available. + + """ + n = len(match) + self.process_rawq() + i = self.cookedq.find(match) + if i >= 0: + i = i+n + buf = self.cookedq[:i] + self.cookedq = self.cookedq[i:] + return buf + if timeout is not None: + deadline = _time() + timeout + with _TelnetSelector() as selector: + selector.register(self, selectors.EVENT_READ) + while not self.eof: + if selector.select(timeout): + i = max(0, len(self.cookedq)-n) + self.fill_rawq() + self.process_rawq() + i = self.cookedq.find(match, i) + if i >= 0: + i = i+n + buf = self.cookedq[:i] + self.cookedq = self.cookedq[i:] + return buf + if timeout is not None: + timeout = deadline - _time() + if timeout < 0: + break + return self.read_very_lazy() + + def read_all(self): + """Read all data until EOF; block until connection closed.""" + self.process_rawq() + while not self.eof: + self.fill_rawq() + self.process_rawq() + buf = self.cookedq + self.cookedq = b'' + return buf + + def read_some(self): + """Read at least one byte of cooked data unless EOF is hit. + + Return b'' if EOF is hit. Block if no data is immediately + available. + + """ + self.process_rawq() + while not self.cookedq and not self.eof: + self.fill_rawq() + self.process_rawq() + buf = self.cookedq + self.cookedq = b'' + return buf + + def read_very_eager(self): + """Read everything that's possible without blocking in I/O (eager). + + Raise EOFError if connection closed and no cooked data + available. Return b'' if no cooked data available otherwise. + Don't block unless in the midst of an IAC sequence. + + """ + self.process_rawq() + while not self.eof and self.sock_avail(): + self.fill_rawq() + self.process_rawq() + return self.read_very_lazy() + + def read_eager(self): + """Read readily available data. + + Raise EOFError if connection closed and no cooked data + available. Return b'' if no cooked data available otherwise. + Don't block unless in the midst of an IAC sequence. + + """ + self.process_rawq() + while not self.cookedq and not self.eof and self.sock_avail(): + self.fill_rawq() + self.process_rawq() + return self.read_very_lazy() + + def read_lazy(self): + """Process and return data that's already in the queues (lazy). + + Raise EOFError if connection closed and no data available. + Return b'' if no cooked data available otherwise. Don't block + unless in the midst of an IAC sequence. + + """ + self.process_rawq() + return self.read_very_lazy() + + def read_very_lazy(self): + """Return any data available in the cooked queue (very lazy). + + Raise EOFError if connection closed and no data available. + Return b'' if no cooked data available otherwise. Don't block. + + """ + buf = self.cookedq + self.cookedq = b'' + if not buf and self.eof and not self.rawq: + raise EOFError('telnet connection closed') + return buf + + def read_sb_data(self): + """Return any data available in the SB ... SE queue. + + Return b'' if no SB ... SE available. Should only be called + after seeing a SB or SE command. When a new SB command is + found, old unread SB data will be discarded. Don't block. + + """ + buf = self.sbdataq + self.sbdataq = b'' + return buf + + def set_option_negotiation_callback(self, callback): + """Provide a callback function called after each receipt of a telnet option.""" + self.option_callback = callback + + def process_rawq(self): + """Transfer from raw queue to cooked queue. + + Set self.eof when connection is closed. Don't block unless in + the midst of an IAC sequence. + + """ + buf = [b'', b''] + try: + while self.rawq: + c = self.rawq_getchar() + if not self.iacseq: + if c == theNULL: + continue + if c == b"\021": + continue + if c != IAC: + buf[self.sb] = buf[self.sb] + c + continue + else: + self.iacseq += c + elif len(self.iacseq) == 1: + # 'IAC: IAC CMD [OPTION only for WILL/WONT/DO/DONT]' + if c in (DO, DONT, WILL, WONT): + self.iacseq += c + continue + + self.iacseq = b'' + if c == IAC: + buf[self.sb] = buf[self.sb] + c + else: + if c == SB: # SB ... SE start. + self.sb = 1 + self.sbdataq = b'' + elif c == SE: + self.sb = 0 + self.sbdataq = self.sbdataq + buf[1] + buf[1] = b'' + if self.option_callback: + # Callback is supposed to look into + # the sbdataq + self.option_callback(self.sock, c, NOOPT) + else: + # We can't offer automatic processing of + # suboptions. Alas, we should not get any + # unless we did a WILL/DO before. + self.msg('IAC %d not recognized' % ord(c)) + elif len(self.iacseq) == 2: + cmd = self.iacseq[1:2] + self.iacseq = b'' + opt = c + if cmd in (DO, DONT): + self.msg('IAC %s %d', + cmd == DO and 'DO' or 'DONT', ord(opt)) + if self.option_callback: + self.option_callback(self.sock, cmd, opt) + else: + self.sock.sendall(IAC + WONT + opt) + elif cmd in (WILL, WONT): + self.msg('IAC %s %d', + cmd == WILL and 'WILL' or 'WONT', ord(opt)) + if self.option_callback: + self.option_callback(self.sock, cmd, opt) + else: + self.sock.sendall(IAC + DONT + opt) + except EOFError: # raised by self.rawq_getchar() + self.iacseq = b'' # Reset on EOF + self.sb = 0 + self.cookedq = self.cookedq + buf[0] + self.sbdataq = self.sbdataq + buf[1] + + def rawq_getchar(self): + """Get next char from raw queue. + + Block if no data is immediately available. Raise EOFError + when connection is closed. + + """ + if not self.rawq: + self.fill_rawq() + if self.eof: + raise EOFError + c = self.rawq[self.irawq:self.irawq+1] + self.irawq = self.irawq + 1 + if self.irawq >= len(self.rawq): + self.rawq = b'' + self.irawq = 0 + return c + + def fill_rawq(self): + """Fill raw queue from exactly one recv() system call. + + Block if no data is immediately available. Set self.eof when + connection is closed. + + """ + if self.irawq >= len(self.rawq): + self.rawq = b'' + self.irawq = 0 + # The buffer size should be fairly small so as to avoid quadratic + # behavior in process_rawq() above + buf = self.sock.recv(50) + self.msg("recv %r", buf) + self.eof = (not buf) + self.rawq = self.rawq + buf + + def sock_avail(self): + """Test whether data is available on the socket.""" + with _TelnetSelector() as selector: + selector.register(self, selectors.EVENT_READ) + return bool(selector.select(0)) + + def interact(self): + """Interaction function, emulates a very dumb telnet client.""" + if sys.platform == "win32": + self.mt_interact() + return + with _TelnetSelector() as selector: + selector.register(self, selectors.EVENT_READ) + selector.register(sys.stdin, selectors.EVENT_READ) + + while True: + for key, events in selector.select(): + if key.fileobj is self: + try: + text = self.read_eager() + except EOFError: + print('*** Connection closed by remote host ***') + return + if text: + sys.stdout.write(text.decode('ascii')) + sys.stdout.flush() + elif key.fileobj is sys.stdin: + line = sys.stdin.readline().encode('ascii') + if not line: + return + self.write(line) + + def mt_interact(self): + """Multithreaded version of interact().""" + import _thread + _thread.start_new_thread(self.listener, ()) + while 1: + line = sys.stdin.readline() + if not line: + break + self.write(line.encode('ascii')) + + def listener(self): + """Helper for mt_interact() -- this executes in the other thread.""" + while 1: + try: + data = self.read_eager() + except EOFError: + print('*** Connection closed by remote host ***') + return + if data: + sys.stdout.write(data.decode('ascii')) + else: + sys.stdout.flush() + + def expect(self, list, timeout=None): + """Read until one from a list of a regular expressions matches. + + The first argument is a list of regular expressions, either + compiled (re.Pattern instances) or uncompiled (strings). + The optional second argument is a timeout, in seconds; default + is no timeout. + + Return a tuple of three items: the index in the list of the + first regular expression that matches; the re.Match object + returned; and the text read up till and including the match. + + If EOF is read and no text was read, raise EOFError. + Otherwise, when nothing matches, return (-1, None, text) where + text is the text received so far (may be the empty string if a + timeout happened). + + If a regular expression ends with a greedy match (e.g. '.*') + or if more than one expression can match the same input, the + results are undeterministic, and may depend on the I/O timing. + + """ + re = None + list = list[:] + indices = range(len(list)) + for i in indices: + if not hasattr(list[i], "search"): + if not re: import re + list[i] = re.compile(list[i]) + if timeout is not None: + deadline = _time() + timeout + with _TelnetSelector() as selector: + selector.register(self, selectors.EVENT_READ) + while not self.eof: + self.process_rawq() + for i in indices: + m = list[i].search(self.cookedq) + if m: + e = m.end() + text = self.cookedq[:e] + self.cookedq = self.cookedq[e:] + return (i, m, text) + if timeout is not None: + ready = selector.select(timeout) + timeout = deadline - _time() + if not ready: + if timeout < 0: + break + else: + continue + self.fill_rawq() + text = self.read_very_lazy() + if not text and self.eof: + raise EOFError + return (-1, None, text) + + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + self.close() + + +def test(): + """Test program for telnetlib. + + Usage: python telnetlib.py [-d] ... [host [port]] + + Default host is localhost; default port is 23. + + """ + debuglevel = 0 + while sys.argv[1:] and sys.argv[1] == '-d': + debuglevel = debuglevel+1 + del sys.argv[1] + host = 'localhost' + if sys.argv[1:]: + host = sys.argv[1] + port = 0 + if sys.argv[2:]: + portstr = sys.argv[2] + try: + port = int(portstr) + except ValueError: + port = socket.getservbyname(portstr, 'tcp') + with Telnet() as tn: + tn.set_debuglevel(debuglevel) + tn.open(host, port, timeout=0.5) + tn.interact() + +if __name__ == '__main__': + test() \ No newline at end of file diff --git a/sickgear/notifiers/libnotify.py b/sickgear/notifiers/libnotify.py index 9dc47547..936c126a 100644 --- a/sickgear/notifiers/libnotify.py +++ b/sickgear/notifiers/libnotify.py @@ -15,7 +15,7 @@ # along with SickGear. If not, see . import os -import cgi +# import cgi from .generic import Notifier import sickgear @@ -44,13 +44,13 @@ def diagnose(): try: bus = dbus.SessionBus() except dbus.DBusException as e: - return (f'Error: unable to connect to D-Bus session bus: {cgi.escape(e)}.' + return (f'Error: unable to connect to D-Bus session bus: {e}.' f' Are you running SickGear in a desktop session?') try: bus.get_object('org.freedesktop.Notifications', '/org/freedesktop/Notifications') except dbus.DBusException as e: - return (f'Error: there doesn\'t seem to be a notification daemon available: {cgi.escape(e)}.' + return (f'Error: there doesn\'t seem to be a notification daemon available: {e}.' f' Try installing notification-daemon or notify-osd.') return 'Error: Unable to send notification.' diff --git a/sickgear/notifiers/nmj.py b/sickgear/notifiers/nmj.py index fef80f01..97f7ae25 100644 --- a/sickgear/notifiers/nmj.py +++ b/sickgear/notifiers/nmj.py @@ -16,7 +16,10 @@ # along with SickGear. If not, see . import re -import telnetlib +try: + import telnetlib +except ImportError: + import lib.telnetlib313up as telnetlib from .generic import BaseNotifier import sickgear