Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
nichind committed Nov 25, 2024
1 parent 0b250dd commit 37c3ac9
Show file tree
Hide file tree
Showing 2 changed files with 155 additions and 241 deletions.
29 changes: 4 additions & 25 deletions moe_parsers/classes.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
from aiohttp import ClientSession
from aiohttp import ClientSession, TCPConnector
from bs4 import BeautifulSoup
from asyncio import sleep
from io import BytesIO
from typing import Literal, List, Self
from datetime import datetime
import requests
import os


Expand Down Expand Up @@ -129,11 +128,11 @@ async def request(
session = (
ClientSession(
headers=kwargs.get("headers", self.headers),
connector=TCPConnector(),
)
if not self.session or self.session.closed
else self.session
)

retries = kwargs.get("retries", 0)
if retries > 100:
raise Exceptions.TooManyRetries
Expand All @@ -144,26 +143,6 @@ async def request(
if not path.startswith("http")
else path
)
if kwargs.get("proxy", self.proxy):
response = (
requests.get(url, params=kwargs.get("params"), proxies={'http': kwargs.get("proxy", self.proxy)})
if request_type == "get"
else requests.post(url, data=kwargs.get("data"), proxies={'http': kwargs.get("proxy", self.proxy)})
)
if response.status_code == 429:
retry_after = response.headers.get("Retry-After", 1)
await sleep(float(retry_after))
kwargs["retries"] = retries + 1
return await self.request(path, **kwargs)
elif response.status_code == 404:
raise Exceptions.PageNotFound(f"Page not found: {url}")

try:
if kwargs.get("text", False):
return response.text
return response.json()
except Exception:
return response.text
async with (
session.get(url, params=kwargs.get("params"))
if request_type == "get"
Expand All @@ -176,14 +155,14 @@ async def request(
return await self.request(path, **kwargs)
elif response.status == 404:
raise Exceptions.PageNotFound(f"Page not found: {url}")

try:
if kwargs.get("text", False):
return await response.text()
return await response.json()
except Exception:
return await response.text()
except OSError:
except OSError as exc:
print(exc)
kwargs["retries"] = retries + 1
await sleep(1)
return await self.request(path, **kwargs)
Expand Down
Loading

0 comments on commit 37c3ac9

Please sign in to comment.