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

@@ -87,8 +87,7 @@ class ArtstationExtractor(Extractor):
yield Message.Url, url, asset
@staticmethod
def _image_fallback(lhs, rhs):
def _image_fallback(self, lhs, rhs):
yield lhs + "/large/" + rhs
yield lhs + "/medium/" + rhs
yield lhs + "/small/" + rhs
@@ -172,8 +171,7 @@ class ArtstationExtractor(Extractor):
url, method="POST", headers=headers, json={},
).json()["public_csrf_token"]
@staticmethod
def _no_cache(url):
def _no_cache(self, url):
"""Cause a cache miss to prevent Cloudflare 'optimizations'
Cloudflare's 'Polish' optimization strips image metadata and may even
@@ -344,8 +342,7 @@ class ArtstationChallengeExtractor(ArtstationExtractor):
text.nameext_from_url(url, update)
yield Message.Url, self._no_cache(url), update
@staticmethod
def _id_from_url(url):
def _id_from_url(self, url):
"""Get an image's submission ID from its URL"""
parts = url.split("/")
return text.parse_int("".join(parts[7:10]))