remove @staticmethod decorators

There might have been a time when calling a static method was faster
than a regular method, but that is no longer the case. According to
micro-benchmarks, it is 70% slower in CPython 3.13 and it also makes
executing the code of a class definition slower.
This commit is contained in:
Mike Fährmann
2025-06-12 22:13:46 +02:00
parent 8b6bc54e95
commit 811b665e33
68 changed files with 139 additions and 252 deletions

View File

@@ -121,22 +121,18 @@ class KeenspotComicExtractor(Extractor):
pos = page.index(self._needle) + len(self._needle)
return text.extract(page, 'href="', '"', pos)[0]
@staticmethod
def _next_link(page):
def _next_link(self, page):
return text.extr(page, '<link rel="next" href="', '"')
@staticmethod
def _next_id(page):
def _next_id(self, page):
pos = page.find('id="next_')
return text.rextr(page, 'href="', '"', pos) if pos >= 0 else None
@staticmethod
def _next_lastblood(page):
def _next_lastblood(self, page):
pos = page.index("link rel='next'")
return text.extract(page, "href='", "'", pos)[0]
@staticmethod
def _next_brawl(page):
def _next_brawl(self, page):
pos = page.index("comic-nav-next")
url = text.rextr(page, 'href="', '"', pos)
return None if "?random" in url else url