]> Nutra Git (v2) - gamesguru/getmyancestors.git/commitdiff
adding rate limit
authorJosemando Sobral <josemando@gmail.com>
Sun, 2 Feb 2025 21:48:34 +0000 (18:48 -0300)
committerJosemando Sobral <josemando@gmail.com>
Sun, 2 Feb 2025 21:48:34 +0000 (18:48 -0300)
getmyancestors/classes/session.py
pyproject.toml
requirements.txt

index 03fa619571a1001f32c93ee55c11f12cf3fa0821..40a55e6375eee7ab9771b593f2e4431c98edf759 100644 (file)
@@ -7,6 +7,8 @@ import webbrowser
 import requests
 from fake_useragent import UserAgent
 
+from requests_ratelimiter import LimiterAdapter
+
 # local imports
 from getmyancestors.classes.translation import translations
 
@@ -40,6 +42,12 @@ class Session(requests.Session):
         self.fid = self.lang = self.display_name = None
         self.counter = 0
         self.headers = {"User-Agent": UserAgent().firefox}
+
+        # Apply a rate-limit (5 requests per second) to all requests
+        adapter = LimiterAdapter(per_second=5)
+        self.mount('http://', adapter)
+        self.mount('https://', adapter)
+
         self.login()
 
     @property
index b1492b20803d71dd0592d4b8ebed757f47d90d0d..58e157168a627ee803d9f2b0ee65496748240b99 100644 (file)
@@ -20,6 +20,7 @@ dependencies = [
     "diskcache==5.6.3",
     "requests==2.32.3",
     "fake-useragent==2.0.3",
+    "requests-ratelimiter==0.7.0"
 ]
 dynamic = ["version", "readme"]
 
@@ -37,4 +38,3 @@ getmyancestors = ["fstogedcom.png"]
 getmyancestors = "getmyancestors.getmyancestors:main"
 mergemyancestors = "getmyancestors.mergemyancestors:main"
 fstogedcom = "getmyancestors.fstogedcom:main"
-
index c031354af0ecb04362853a72bb72452eda0d7889..b9b294ba20fc3b833ee04a5c64a9f4180a9a3013 100644 (file)
@@ -2,3 +2,4 @@ babelfish==0.6.1
 diskcache==5.6.3
 requests==2.32.3
 fake-useragent==2.0.3
+requests-ratelimiter==0.7.0