mirror of
https://codeberg.org/Freedium-cfd/web.git
synced 2026-03-11 09:04:37 +00:00
Improve user expirience
This commit is contained in:
parent
2ba0aa534c
commit
4b25d1735e
4 changed files with 14 additions and 15 deletions
|
|
@ -84,20 +84,19 @@ class MediumParser:
|
|||
logger.exception(ex)
|
||||
return None
|
||||
|
||||
async def query_get(self, use_cache: bool):
|
||||
async def query_get(self, use_cache: bool, force_cache: bool = False):
|
||||
cache_used = True
|
||||
post_data = await self.get_post_data_from_cache() if use_cache else None
|
||||
|
||||
if not post_data:
|
||||
cache_used = False
|
||||
if not post_data and not force_cache:
|
||||
logger.debug("Getting value from cache failed, using API")
|
||||
|
||||
cache_used = False
|
||||
post_data = await self.get_post_data_from_api()
|
||||
|
||||
return post_data, cache_used
|
||||
|
||||
async def query(self, use_cache: bool = True, retry: int = 3):
|
||||
logger.debug(f"Medium QUERY: {use_cache=}, {retry=}")
|
||||
async def query(self, use_cache: bool = True, retry: int = 3, force_cache: bool = False):
|
||||
logger.debug(f"Medium QUERY: {use_cache=}, {retry=}, {force_cache=}")
|
||||
|
||||
post_data, is_cache_used = None, False
|
||||
|
||||
|
|
@ -105,7 +104,7 @@ class MediumParser:
|
|||
reason = None
|
||||
while not post_data and attempt < retry:
|
||||
try:
|
||||
post_data, is_cache_used = await self.query_get(use_cache)
|
||||
post_data, is_cache_used = await self.query_get(use_cache, force_cache)
|
||||
|
||||
if not post_data:
|
||||
reason = "No post data returned"
|
||||
|
|
@ -194,10 +193,10 @@ class MediumParser:
|
|||
current_pos += 1
|
||||
continue
|
||||
|
||||
if paragraph["text"] is None:
|
||||
text_formater = None
|
||||
else:
|
||||
if paragraph["text"] is not None:
|
||||
text_formater = parse_paragraph_text(paragraph["text"], paragraph["markups"])
|
||||
else:
|
||||
text_formater = None
|
||||
|
||||
for highlight in highlights:
|
||||
for highlight_paragraph in highlight["paragraphs"]:
|
||||
|
|
@ -343,10 +342,10 @@ class MediumParser:
|
|||
break
|
||||
|
||||
_tmp_current_pos += 1
|
||||
|
||||
|
||||
code_block_template_rendered = await code_block_template.render_async(text="\n".join(code_list), code_css_class=" ".join(code_css_class))
|
||||
pre_template_rendered = await pre_template.render_async(code_block=code_block_template_rendered)
|
||||
|
||||
|
||||
out_paragraphs.append(pre_template_rendered)
|
||||
current_pos = _tmp_current_pos - 1
|
||||
elif paragraph["type"] == "BQ":
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ async def route_processing(path: str, request: Request):
|
|||
|
||||
if key_data != config.ADMIN_SECRET_KEY:
|
||||
return JSONResponse({"message": f"Wrong secret key: {key_data}"}, status_code=403)
|
||||
|
||||
|
||||
path = path.removeprefix("render-no-cache/")
|
||||
if path.startswith("/no-redis/"):
|
||||
path = path.removeprefix("/no-redis/")
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ async def render_postleter(limit: int = 30, as_html: bool = False):
|
|||
for post_id in random_post_id_list:
|
||||
try:
|
||||
post = MediumParser(post_id, timeout=config.TIMEOUT, host_address=config.HOST_ADDRESS, auth_cookies=config.MEDIUM_AUTH_COOKIES)
|
||||
await post.query()
|
||||
await post.query(force_cache=True, retry=1)
|
||||
post_metadata = await post.generate_metadata(as_dict=True)
|
||||
outlet_posts_list.append(post_metadata)
|
||||
except Exception as ex:
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ def enable_maintenance_mode():
|
|||
send_message("Maintenance mode disabled")
|
||||
|
||||
|
||||
def do_maintenance(sleep_time: int = 60 * 60):
|
||||
def do_maintenance(sleep_time: int = 60 * 60 * 24):
|
||||
while True:
|
||||
try:
|
||||
enable_maintenance_mode()
|
||||
|
|
|
|||
Loading…
Reference in a new issue