Fixed links-checker algorithm
This commit is contained in:
parent
1fc0c31bf4
commit
b8e9b0ddea
|
@ -80,7 +80,7 @@ class Message(AbstractEntity):
|
||||||
|
|
||||||
link = urlparse(url)
|
link = urlparse(url)
|
||||||
host = '.'.join(link.hostname.split('.')[-2:])
|
host = '.'.join(link.hostname.split('.')[-2:])
|
||||||
return '{}{}#{}'.format(host, link.path, link.fragment)
|
return '{}{}#{}?{}'.format(host, link.path, link.fragment, link.query)
|
||||||
|
|
||||||
for entity in filter(lambda e: e.type == 'url', self.message.entities):
|
for entity in filter(lambda e: e.type == 'url', self.message.entities):
|
||||||
link = prettify(self.text[entity.offset:entity.length + entity.offset])
|
link = prettify(self.text[entity.offset:entity.length + entity.offset])
|
||||||
|
|
|
@ -6,13 +6,14 @@ class LinksChecker:
|
||||||
def __init__(self, redis):
|
def __init__(self, redis):
|
||||||
self.redis = redis
|
self.redis = redis
|
||||||
self.lifetime = timedelta(seconds=config.getfloat('links', 'lifetime'))
|
self.lifetime = timedelta(seconds=config.getfloat('links', 'lifetime'))
|
||||||
|
self.key = "links:{}"
|
||||||
|
|
||||||
def check(self, chat_id, links):
|
def check(self, chat_id, links):
|
||||||
"""Returns True if at least one link already exists
|
"""Returns True if at least one link already exists
|
||||||
"""
|
"""
|
||||||
|
|
||||||
redis = self.redis.instance()
|
redis = self.redis.instance()
|
||||||
key = "links:{}".format(chat_id)
|
key = self.key.format(chat_id)
|
||||||
now = datetime.now()
|
now = datetime.now()
|
||||||
delete_at = (now + self.lifetime).timestamp()
|
delete_at = (now + self.lifetime).timestamp()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue