1
0
mirror of https://github.com/eternnoir/pyTelegramBotAPI.git synced 2023-08-10 21:12:57 +03:00

Empty list optimization, Py2 arteacts removed,

Empty list optimization: None instead of [].

Py2 arteacts removed: no more six moudle used.
This commit is contained in:
Badiboy
2020-08-24 16:02:35 +03:00
parent 513a85cad9
commit cdd48c7aed
7 changed files with 97 additions and 94 deletions

View File

@@ -2,21 +2,12 @@
import random
import re
import string
import sys
import threading
import traceback
import warnings
import functools
import six
from six import string_types
# Python3 queue support.
try:
import Queue
except ImportError:
import queue as Queue
import queue as Queue
import logging
try:
@@ -51,7 +42,7 @@ class WorkerThread(threading.Thread):
self.continue_event = threading.Event()
self.exception_callback = exception_callback
self.exc_info = None
self.exception_info = None
self._running = True
self.start()
@@ -73,11 +64,11 @@ class WorkerThread(threading.Thread):
pass
except Exception as e:
logger.error(type(e).__name__ + " occurred, args=" + str(e.args) + "\n" + traceback.format_exc())
self.exc_info = sys.exc_info()
self.exception_info = e
self.exception_event.set()
if self.exception_callback:
self.exception_callback(self, self.exc_info)
self.exception_callback(self, self.exception_info)
self.continue_event.wait()
def put(self, task, *args, **kwargs):
@@ -85,7 +76,7 @@ class WorkerThread(threading.Thread):
def raise_exceptions(self):
if self.exception_event.is_set():
six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
raise self.exception_info
def clear_exceptions(self):
self.exception_event.clear()
@@ -103,19 +94,19 @@ class ThreadPool:
self.num_threads = num_threads
self.exception_event = threading.Event()
self.exc_info = None
self.exception_info = None
def put(self, func, *args, **kwargs):
self.tasks.put((func, args, kwargs))
def on_exception(self, worker_thread, exc_info):
self.exc_info = exc_info
self.exception_info = exc_info
self.exception_event.set()
worker_thread.continue_event.set()
def raise_exceptions(self):
if self.exception_event.is_set():
six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
raise self.exception_info
def clear_exceptions(self):
self.exception_event.clear()
@@ -140,15 +131,15 @@ class AsyncTask:
def _run(self):
try:
self.result = self.target(*self.args, **self.kwargs)
except:
self.result = sys.exc_info()
except Exception as e:
self.result = e
self.done = True
def wait(self):
if not self.done:
self.thread.join()
if isinstance(self.result, BaseException):
six.reraise(self.result[0], self.result[1], self.result[2])
raise self.result
else:
return self.result
@@ -164,7 +155,7 @@ def async_dec():
def is_string(var):
return isinstance(var, string_types)
return isinstance(var, str)
def is_dict(var):
return isinstance(var, dict)