mirror of
https://codeberg.org/Reuh/feather.git
synced 2025-10-28 02:29:32 +00:00
feat: make filename escaping configurable
This commit is contained in:
parent
02ee76949b
commit
06dc961d62
3 changed files with 8 additions and 5 deletions
9
main.py
9
main.py
|
|
@ -46,6 +46,7 @@ class Config:
|
|||
self.item_template: Template = Template(get_config("html", "template"), autoescape=True)
|
||||
self.item_filename_template: Template = Template(get_config("html", "filename_template"), autoescape=False)
|
||||
self.max_filename_length: int = int(get_config("html", "max_filename_length"))
|
||||
self.filename_translation = str.maketrans(get_config("html", "filename_replacement"))
|
||||
|
||||
# Computed config fields
|
||||
self.update_lock = self.json_root / "update.lock"
|
||||
|
|
@ -109,8 +110,8 @@ def mark_deleted_as_read(config, client_session):
|
|||
|
||||
print(f"Marked {marked_as_read} items as read")
|
||||
|
||||
def escape_filename(filename):
|
||||
return filename.replace("/", "-")
|
||||
def escape_filename(config, filename):
|
||||
return filename.translate(config.filename_translation)
|
||||
|
||||
def truncate_filename(config, filename):
|
||||
max_filename_length = config.max_filename_length
|
||||
|
|
@ -124,10 +125,10 @@ def truncate_filename(config, filename):
|
|||
return filename[:cutoff] + '…' + suffix
|
||||
|
||||
def get_html_path(config, item_json):
|
||||
folder_directory = config.html_root / escape_filename(item_json["folder"])
|
||||
folder_directory = config.html_root / escape_filename(config, item_json["folder"])
|
||||
folder_directory.mkdir(exist_ok=True)
|
||||
|
||||
html_name = truncate_filename(config, escape_filename(config.item_filename_template.render(item_json)))
|
||||
html_name = truncate_filename(config, escape_filename(config, config.item_filename_template.render(item_json)))
|
||||
|
||||
return folder_directory / html_name
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue