# -*- coding: utf-8 -*- """ Configuration layout for default base config """ #TODO: write tooltips and descriptions #TODO: use apis config related classes def make_config(config): # Check if gettext is installed _ = lambda x: x config.addConfigSection("remote", _("Remote"), _("Description"), _("Long description"), [ ("activated", "bool", _("Activated"), _("Tooltip"), True), ("port", "int", _("Port"), _("Tooltip"), 7227), ("listenaddr", "ip", _("Adress"), _("Tooltip"), "0.0.0.0"), ]) config.addConfigSection("log", _("Log"), _("Description"), _("Long description"), [ ("log_size", "int", _("Size in kb"), _("Tooltip"), 100), ("log_folder", "folder", _("Folder"), _("Tooltip"), "Logs"), ("file_log", "bool", _("File Log"), _("Tooltip"), True), ("log_count", "int", _("Count"), _("Tooltip"), 5), ("log_rotate", "bool", _("Log Rotate"), _("Tooltip"), True), ]) config.addConfigSection("permission", _("Permissions"), _("Description"), _("Long description"), [ ("group", "str", _("Groupname"), _("Tooltip"), "users"), ("change_dl", "bool", _("Change Group and User of Downloads"), _("Tooltip"), False), ("change_file", "bool", _("Change file mode of downloads"), _("Tooltip"), False), ("user", "str", _("Username"), _("Tooltip"), "user"), ("file", "str", _("Filemode for Downloads"), _("Tooltip"), "0644"), ("change_group", "bool", _("Change group of running process"), _("Tooltip"), False), ("folder", "str", _("Folder Permission mode"), _("Tooltip"), "0755"), ("change_user", "bool", _("Change user of running process"), _("Tooltip"), False), ]) config.addConfigSection("general", _("General"), _("Description"), _("Long description"), [ ("language", "en;de;fr;it;es;nl;sv;ru;pl;cs;sr;pt_BR", _("Language"), _("Tooltip"), "en"), ("download_folder", "folder", _("Download Folder"), _("Tooltip"), "Downloads"), ("checksum", "bool", _("Use Checksum"), _("Tooltip"), False), ("folder_per_package", "bool", _("Create folder for each package"), _("Tooltip"), True), ("debug_mode", "bool", _("Debug Mode"), _("Tooltip"), False), ("min_free_space", "int", _("Min Free Space (MB)"), _("Tooltip"), 200), ("renice", "int", _("CPU Priority"), _("Tooltip"), 0), ]) config.addConfigSection("ssl", _("SSL"), _("Description"), _("Long description"), [ ("cert", "file", _("SSL Certificate"), _("Tooltip"), "ssl.crt"), ("activated", "bool", _("Activated"), _("Tooltip"), False), ("key", "file", _("SSL Key"), _("Tooltip"), "ssl.key"), ]) config.addConfigSection("webinterface", _("Webinterface"), _("Description"), _("Long description"), [ ("template", "str", _("Template"), _("Tooltip"), "default"), ("activated", "bool", _("Activated"), _("Tooltip"), True), ("prefix", "str", _("Path Prefix"), _("Tooltip"), ""), ("server", "auto;threaded;fallback;fastcgi", _("Server"), _("Tooltip"), "auto"), ("force_server", "str", _("Favor specific server"), _("Tooltip"), ""), ("host", "ip", _("IP"), _("Tooltip"), "0.0.0.0"), ("https", "bool", _("Use HTTPS"), _("Tooltip"), False), ("port", "int", _("Port"), _("Tooltip"), 8001), ]) config.addConfigSection("proxy", _("Proxy"), _("Description"), _("Long description"), [ ("username", "str", _("Username"), _("Tooltip"), ""), ("proxy", "bool", _("Use Proxy"), _("Tooltip"), False), ("address", "str", _("Address"), _("Tooltip"), "localhost"), ("password", "password", _("Password"), _("Tooltip"), ""), ("type", "http;socks4;socks5", _("Protocol"), _("Tooltip"), "http"), ("port", "int", _("Port"), _("Tooltip"), 7070), ]) config.addConfigSection("reconnect", _("Reconnect"), _("Description"), _("Long description"), [ ("endTime", "time", _("End"), _("Tooltip"), "0:00"), ("activated", "bool", _("Use Reconnect"), _("Tooltip"), False), ("method", "str", _("Method"), _("Tooltip"), "./reconnect.sh"), ("startTime", "time", _("Start"), _("Tooltip"), "0:00"), ]) config.addConfigSection("download", _("Download"), _("Description"), _("Long description"), [ ("max_downloads", "int", _("Max Parallel Downloads"), _("Tooltip"), 3), ("limit_speed", "bool", _("Limit Download Speed"), _("Tooltip"), False), ("interface", "str", _("Download interface to bind (ip or Name)"), _("Tooltip"), ""), ("skip_existing", "bool", _("Skip already existing files"), _("Tooltip"), False), ("max_speed", "int", _("Max Download Speed in kb/s"), _("Tooltip"), -1), ("ipv6", "bool", _("Allow IPv6"), _("Tooltip"), False), ("chunks", "int", _("Max connections for one download"), _("Tooltip"), 3), ("restart_failed", "bool", _("Restart failed downloads on startup"), _("Tooltip"), False), ]) config.addConfigSection("downloadTime", _("Download Time"), _("Description"), _("Long description"), [ ("start", "time", _("Start"), _("Tooltip"), "0:00"), ("end", "time", _("End"), _("Tooltip"), "0:00"), ])