aboutsummaryrefslogtreecommitdiffstats
path: root/tpblite/tpblite.py
diff options
context:
space:
mode:
authorJPFrancoia <jeanpatrick.francoia@gmail.com>2019-12-24 17:46:08 +0100
committerJPFrancoia <jeanpatrick.francoia@gmail.com>2019-12-24 17:46:08 +0100
commit4f00535cc83f57aac4b2a420907497e15f7c2f35 (patch)
tree55a6b724f0721e7bed340f25827851e854e09f8a /tpblite/tpblite.py
parentc45b6ca3e82a5d10e14c31c4b7d0fdaf66fff933 (diff)
downloadtpb-lite-4f00535cc83f57aac4b2a420907497e15f7c2f35.tar.gz
tpb-lite-4f00535cc83f57aac4b2a420907497e15f7c2f35.tar.bz2
tpb-lite-4f00535cc83f57aac4b2a420907497e15f7c2f35.zip
Adding a browse() method to the TPB object, to get torrents by category,
without any query. Also ran Black + cleaned some docstrings + added some type annotations.
Diffstat (limited to 'tpblite/tpblite.py')
-rw-r--r--tpblite/tpblite.py70
1 files changed, 50 insertions, 20 deletions
diff --git a/tpblite/tpblite.py b/tpblite/tpblite.py
index a2a927d..9d153ac 100644
--- a/tpblite/tpblite.py
+++ b/tpblite/tpblite.py
@@ -1,34 +1,64 @@
+from typing import Optional
+
from .models.torrents import Torrents, Torrent
from .models.utils import QueryParser
-class TPB(object):
-
- def __init__(self, base_url='https://tpb.party'):
- '''ThePirateBay Object
+
+class TPB:
+
+ # PirateBay URL to use for queries
+ base_url: str
+
+ # Compiled search string used to query the PirateBay URL
+ search_url: Optional[str]
+
+ def __init__(self, base_url="https://tpb.party"):
+ """ThePirateBay Object
Args:
base_url (str): PirateBay URL to use for queries
- Attributes:
- search_url (str): This is the compiled search string used
- to query the PirateBay URL, modified when calling search
- method
- '''
+ """
self.base_url = base_url
self.search_url = None
-
- def __str__(self):
- return 'TPB Object, base URL: {}'.format(self.base_url)
-
- def search(self, query, page=0, order=99, category=0):
- '''Search ThePirateBay and retturn list of Torrents
+
+ def __str__(self) -> str:
+ return "TPB Object, base URL: {}".format(self.base_url)
+
+ def search(
+ self, query: str, page: int = 0, order: int = 99, category: int = 0
+ ) -> Torrent:
+ """Search ThePirateBay and return list of Torrents
Args:
- query (str): Search string to query ThePirateBay
- page (int): page number to grab results from
+ query: Search string to query ThePirateBay
+ page: page number to grab results from
order TODO
category TODO
- '''
- q = QueryParser(query, self.base_url, page, order, category)
+
+ Return:
+ Torrent
+
+ """
+ q = QueryParser.from_search(query, self.base_url, page, order, category)
+ self.search_url = q.url
+ return Torrents(q.html_source)
+
+ def browse(
+ self, category: int = 0, page: int = 0, order: int = 99
+ ) -> Torrent:
+ """Browse ThePirateBay and return list of Torrents
+
+ Args:
+ query: Search string to query ThePirateBay
+ page: page number to grab results from
+ order TODO
+ category TODO
+
+ Return:
+ Torrent
+
+ """
+ q = QueryParser.from_browse(self.base_url, category, page, order)
self.search_url = q.url
- return Torrents(query, q.html_source) \ No newline at end of file
+ return Torrents(q.html_source)