<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">import os
from dotenv import load_dotenv

load_dotenv("secrets.env")

site_name: str = "roundabout-host.com"
help_url: str = "https://roundabout-host.com/"

DB_PASSWORD: str = os.environ.get("DB_PASSWORD")
DB_URI: str = f"postgresql://root:{DB_PASSWORD}@localhost/roundabout"
REDIS_URI: str = "redis://localhost"
MAIL_SERVER: str = "localhost"
NOTIFICATION_EMAIL: str = "notifications@roundabout-host.com"
CONTACT_EMAIL: str = "root@roundabout-host.com"

REPOS_PATH: str = "./repos"
USERDATA_PATH: str = "./userdata"
SITE_PATH: str = "./usersites"
DEFAULT_AVATARS_PATH: str = "./default_avatars"
BASE_DOMAIN: str = "localhost"
SERVER_IPS: set = {"127.0.0.1", "localhost", "0.0.0.0"}
AUTH_REALM: str = "roundabout"
MAX_PAYLOAD_SIZE: int = 4 * 1024**3

AVATAR_SIZE: tuple = (192, 192)

HASHING_ROUNDS: int = 11
RESERVED_NAMES: tuple = ("git", "settings", "logout", "accounts", "info", "notifications", "about", "newrepo", "favourites",)

suggest_https: bool = True

available_locales: list[str] = ["ro_RO", "en_GB"]

folder_icon: str = "mdi:folder"
unknown_icon: str = "mdi:file"
file_icons: dict = {
    "text/plain": "ic:baseline-text-snippet",
    "text/css": "simple-icons:css3",
    "text/csv": "mdi:table",
    "text/html": "simple-icons:html5",
    "text/calendar": "mdi:calendar",
    "text/javascript": "simple-icons:javascript",
    "text/xml": "mdi:xml",
    "text/markdown": "simple-icons:markdown",

    "application/octet-stream": "mdi:numeric-10-box",
    "application/x-abiword": "mdi:file-document",
    "application/x-msword": "mdi:file-document",
    "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "mdi:file-document",
    "application/vnd.oasis.opendocument.text": "mdi:file-document",
    "application/rtf": "mdi:file-document",
    "application/x-dvi": "mdi:file-document",
    "application/epub+zip": "mdi:book-open-variant",
    "application/pdf": "mdi:book-open-variant",
    "application/x-freearc": "mdi:archive",
    "application/x-bzip": "mdi:archive",
    "application/x-bzip2": "mdi:archive",
    "application/gzip": "mdi:archive",
    "application/x-tar": "mdi:archive",
    "application/zip": "mdi:archive",
    "application/x-7z-compressed": "mdi:archive",
    "application/vnd.rar": "mdi:archive",
    "application/x-rar-compressed": "mdi:archive",
    "application/java-archive": "simple-icons:openjdk",
    "application/vnd.amazon.ebook": "mdi:cellphone-text",
    "application/x-cdf": "mdi:disc-player",
    "application/x-csh": "ic:baseline-terminal",
    "application/x-sh": "ic:baseline-terminal",
    "application/xml": "mdi:xml",
    "application/json": "mdi:code-json",
    "application/ld+json": "mdi:code-json",
    "application/vnd.apple.installer+xml": "simple-icons:apple",
    "application/vnd.oasis.opendocument.presentation": "mdi:presentation",
    "application/vnd.ms-powerpoint": "mdi:presentation",
    "application/vnd.openxmlformats-officedocument.presentationml.presentation": "mdi:presentation",
    "application/vnd.oasis.opendocument.spreadsheet": "mdi:table-large",
    "application/vnd.ms-excel": "mdi:table-large",
    "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "mdi:table-large",
    "application/x-httpd-php": "mdi:server",
    "application/xhtml+xml": "simple-icons:html5",
    "application/vnd.android.package-archive": "bi:android2",
    "application/x-x509-ca-cert": "mdi:certificate",
    "application/x-shockwave-flash": "simple-icons:adobe",
    "application/font-woff": "mdi:format-text",
    "application/x-font-truetype": "mdi:format-text",
    "application/x-font-opentype": "mdi:format-text",
    "application/vnd.ms-fontobject": "mdi:format-text",

    "audio/aac": "mdi:music",
    "audio/mp3": "mdi:music",
    "audio/ogg": "mdi:music",
    "audio/opus": "mdi:music",
    "audio/wav": "mdi:music",
    "audio/webm": "mdi:music",
    "audio/3gpp": "mdi:music",
    "audio/3gpp2": "mdi:music",
    "audio/midi": "mdi:piano",
    "audio/x-midi": "mdi:piano",
    "audio/flac": "mdi:music",
    "audio/x-ms-wma": "mdi:music",

    "image/avif": "mdi:image",
    "image/jpeg": "mdi:image",
    "image/png": "mdi:image",
    "image/tiff": "mdi:image",
    "image/webp": "mdi:image",
    "image/gif": "mdi:image-multiple",
    "image/vnd.microsoft.icon": "mdi:bookmark-multiple",
    "image/x-icon": "simple-icons:windowsxp",
    "image/bmp": "mdi:brush",
    "image/svg+xml": "mdi:vector-curve",

    "video/mp4": "mdi:video",
    "video/mpeg": "mdi:video",
    "video/ogg": "mdi:video",
    "video/webm": "mdi:video",
    "video/3gpp": "mdi:video",
    "video/3gpp2": "mdi:video",
    "video/x-flv": "mdi:video",
    "video/mp2t": "ic:baseline-live-tv",
    "video/x-msvideo": "mdi:video-vintage",
}


def match_icon(name):
    if name.startswith(("LICENCE", "LICENSE", "COPYING")):
        return "ic:gavel"
    if name.startswith("README"):
        return "mdi:book-information-variant"
    if name.startswith(".gitignore"):
        return "simple-icons:git"


footer = f"""
&lt;x-hbox&gt;
    &lt;a href="/help"&gt;Help&lt;/a&gt;
    &lt;a href="mailto:{CONTACT_EMAIL}"&gt;Contact Us&lt;/a&gt;
&lt;/x-hbox&gt;
&lt;hr&gt;
&lt;p&gt;
    Alpha testing. Not for production use.
&lt;/p&gt;
&lt;p&gt;
    Application &amp;copy; 2023 Roundabout developers. Content belongs to the repository contributors,
    unless otherwise stated.
&lt;/p&gt;
&lt;p&gt;
    Made in Romania 🇷🇴
&lt;/p&gt;
&lt;p&gt;
    &lt;a href="/about"&gt;Powered by Roundabout (alpha testing)&lt;/a&gt;
&lt;/p&gt;
"""

mail_footer = """
&lt;small&gt;
    For any inquiries, write to &lt;a href="mailto:{{ config.CONTACT_EMAIL }}"&gt;&lt;/a&gt;&lt;br&gt;. To adjust your email
    notification preferences, log in to your account in a browser and visit
    &lt;a href="{{ config.web_protocol }}://{{ config.BASE_DOMAIN }}/settings"&gt;your user settings&lt;/a&gt;.
&lt;/small&gt;
"""

mail_header = """
&lt;img src="{{ config.web_protocol }}://{{ config.BASE_DOMAIN }}/static/logo.svg" width="48"&gt;
"""

mail_footer_plain = """
For any inquiries, write to &lt;{{ config.CONTACT_EMAIL }}&gt;.
To adjust your email notification preferences, log in to your account in a browser and visit your user settings at
&lt;{{ config.web_protocol }}://{{ config.BASE_DOMAIN }}/settings&gt;.
"""

www_protocol = f"http{'s' if suggest_https else ''}"
</pre></body></html>