Skip to content

Commit

Permalink
Add date field to eztv
Browse files Browse the repository at this point in the history
  • Loading branch information
ducalex authored Aug 19, 2024
1 parent cfe98da commit b7c4970
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
20 changes: 19 additions & 1 deletion nova3/engines/eztv.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
#VERSION: 1.15
#VERSION: 1.16
# AUTHORS: nindogo
# CONTRIBUTORS: Diego de las Heras ([email protected])

import re
import urllib.error
import urllib.parse
import urllib.request
from datetime import datetime, timedelta
from html.parser import HTMLParser

from novaprinter import prettyPrinter
Expand All @@ -24,6 +26,14 @@ def __init__(self, url):
HTMLParser.__init__(self)
self.url = url

now = datetime.now()
self.date_parsers = {
r"(\d+)h\s+(\d+)m": lambda m: now - timedelta(hours=int(m[1]), minutes=int(m[2])),
r"(\d+)d\s+(\d+)h": lambda m: now - timedelta(days=int(m[1]), hours=int(m[2])),
r"(\d+)\s+weeks?": lambda m: now - timedelta(weeks=int(m[1])),
r"(\d+)\s+mo": lambda m: now - timedelta(days=int(m[1]) * 30),
r"(\d+)\s+years?": lambda m: now - timedelta(days=int(m[1]) * 365),
}
self.in_table_row = False
self.current_item = {}

Expand All @@ -38,6 +48,7 @@ def handle_starttag(self, tag, attrs):
self.current_item['leech'] = -1
self.current_item['size'] = -1
self.current_item['engine_url'] = self.url
self.current_item['pub_date'] = -1

if (tag == self.A
and self.in_table_row and params.get('class') == 'magnet'):
Expand All @@ -57,6 +68,13 @@ def handle_data(self, data):
elif self.in_table_row and data.isnumeric():
self.current_item['seeds'] = int(data)

elif self.in_table_row: # Check for a relative time
for pattern, calc in self.date_parsers.items():
m = re.match(pattern, data)
if m:
self.current_item["pub_date"] = int(calc(m).timestamp())
break

def handle_endtag(self, tag):
if self.in_table_row and tag == self.TR:
prettyPrinter(self.current_item)
Expand Down
2 changes: 1 addition & 1 deletion nova3/engines/versions.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
eztv: 1.15
eztv: 1.16
jackett: 4.0
limetorrents: 4.7
piratebay: 3.3
Expand Down

0 comments on commit b7c4970

Please sign in to comment.