Compare commits

..
3 Commits
Author SHA1 Message Date
abdus 22fb2c9bc9 fix: Add in-memory cache 2022-02-27 15:43:34 +03:00
abdus 958fe4996c fix: Increase timeouts 2022-02-27 15:43:24 +03:00
abdus d29edccb21 fix: Update packages 2022-02-27 15:43:11 +03:00
3 changed files with 17 additions and 14 deletions
+10 -8
View File
@@ -3,10 +3,11 @@ from datetime import datetime
from typing import List
import httpx
from aiocache import cached, Cache
from bs4 import BeautifulSoup
from pydantic import BaseModel
_http = httpx.AsyncClient()
_http = httpx.AsyncClient(timeout=20, follow_redirects=True)
class PrayerTimes(BaseModel):
@@ -19,8 +20,10 @@ class PrayerTimes(BaseModel):
isha: str
@cached(ttl=60*60, cache=Cache.MEMORY)
async def parse_prayer_times(url: str) -> List[PrayerTimes]:
res = await _http.get(url)
res.raise_for_status()
soup = BeautifulSoup(res.text, 'html.parser')
items = []
@@ -117,16 +120,15 @@ async def _get_countries() -> dict:
if __name__ == '__main__':
import asyncio
import core.diyanetdb
async def main():
with core.diyanetdb.get_connection() as conn:
id = core.diyanetdb.get_location_id(conn,
country_name='AVUSTURYA',
city_name='PESSENDELLACH')
url = make_location_url(id)
times = await parse_prayer_times(url)
# with core.diyanetdb.get_connection() as conn:
# id = core.diyanetdb.get_location_id(conn,
# country_name='AVUSTURYA',
# city_name='PESSENDELLACH')
# url = make_location_url(id)
times = await parse_prayer_times('https://namazvakitleri.diyanet.gov.tr/en-US')
print(times)
+1 -1
View File
@@ -7,7 +7,7 @@ from pydantic import BaseModel
from app import config
_http = httpx.AsyncClient()
_http = httpx.AsyncClient(timeout=20, follow_redirects=True)
class Location(BaseModel):
+6 -5
View File
@@ -1,5 +1,6 @@
bs4==0.0.1
fastapi==0.47.1
httpx==0.11.1
loguru==0.4.1
uvicorn==0.11.1
beautifulsoup4==4.10.0
fastapi==0.74.1
httpx==0.22.0
loguru==0.6.0
uvicorn==0.17.5
aiocache==0.11.1