[kemonoparty] add 'order-revisions' option (#5334)

pull/5349/head
Mike Fährmann 6 months ago
parent 1418c0ce38
commit 03a9ce9832
No known key found for this signature in database
GPG Key ID: 5680CA389D365A88

@ -2346,6 +2346,22 @@ Description
Note: This requires 1 additional HTTP request per post. Note: This requires 1 additional HTTP request per post.
extractor.kemonoparty.order-revisions
-------------------------------------
Type
``string``
Default
``"desc"``
Description
Controls the order in which
`revisions <extractor.kemonoparty.revisions_>`__
are returned.
* ``"asc"``: Ascending order (oldest first)
* ``"desc"``: Descending order (newest first)
* ``"reverse"``: Same as ``"asc"``
extractor.khinsider.format extractor.khinsider.format
-------------------------- --------------------------
Type Type

@ -40,6 +40,8 @@ class KemonopartyExtractor(Extractor):
def _init(self): def _init(self):
self.revisions = self.config("revisions") self.revisions = self.config("revisions")
if self.revisions: if self.revisions:
order = self.config("order-revisions")
self.revisions_reverse = order[0] in ("r", "a") if order else False
self.revisions_unique = (self.revisions == "unique") self.revisions_unique = (self.revisions == "unique")
self._prepare_ddosguard_cookies() self._prepare_ddosguard_cookies()
self._find_inline = re.compile( self._find_inline = re.compile(
@ -254,6 +256,9 @@ class KemonopartyExtractor(Extractor):
rev["revision_count"] = cnt rev["revision_count"] = cnt
idx -= 1 idx -= 1
if self.revisions_reverse:
revs.reverse()
return revs return revs
def _revisions_all(self, url): def _revisions_all(self, url):
@ -266,6 +271,9 @@ class KemonopartyExtractor(Extractor):
rev["revision_count"] = cnt rev["revision_count"] = cnt
idx -= 1 idx -= 1
if self.revisions_reverse:
revs.reverse()
return revs return revs
def _revision_hash(self, revision): def _revision_hash(self, revision):

Loading…
Cancel
Save