allox subkeys, step 1 (keys not active)
[fanfix.git] / src / be / nikiroo / fanfix / bundles / Config.java
CommitLineData
08fe2e33
NR
1package be.nikiroo.fanfix.bundles;
2
3import be.nikiroo.utils.resources.Meta;
ce788468 4import be.nikiroo.utils.resources.Meta.Format;
08fe2e33
NR
5
6/**
7 * The configuration options.
8 *
9 * @author niki
10 */
ce788468 11@SuppressWarnings("javadoc")
08fe2e33 12public enum Config {
ce788468 13 @Meta(description = "language (example: en-GB, fr-BE...) or nothing for default system language", format = Format.LOCALE, info = "Force the language (can be overwritten again with the env variable $LANG)")
08fe2e33 14 LANG, //
c1873e56
NR
15 @Meta(description = "reader type (CLI = simple output to console, TUI = Text User Interface with menus and windows, GUI = a GUI with locally stored files)", format = Format.FIXED_LIST, list = {
16 "CLI", "GUI", "TUI" }, info = "Select the default reader to use to read stories")
3727aae2 17 READER_TYPE, //
ae78e517
NR
18 @Meta(def = "INFO_TEXT", format = Format.COMBO_LIST, list = { "INFO_TEXT",
19 "EPUB", "HTML", "TEXT" }, info = "One of the known output type", description = "The type of output for the Local Reader for non-images documents")
e604986c 20 NON_IMAGES_DOCUMENT_TYPE, //
ae78e517 21 @Meta(def = "CBZ", format = Format.COMBO_LIST, list = { "CBZ", "HTML" }, description = "The type of output for the Local Reader for images documents")
e604986c 22 IMAGES_DOCUMENT_TYPE, //
ce788468 23 @Meta(description = "absolute path, $HOME variable supported, / is always accepted as dir separator", format = Format.DIRECTORY, info = "The directory where to store temporary files, defaults to directory 'tmp' in the conig directory (usually $HOME/.fanfix)")
08fe2e33 24 CACHE_DIR, //
ae78e517 25 @Meta(def = "24", description = "delay in hours, or 0 for no cache, or -1 for infinite time (default)", format = Format.INT, info = "The delay after which a cached resource that is thought to change ~often is considered too old and triggers a refresh")
08fe2e33 26 CACHE_MAX_TIME_CHANGING, //
ae78e517 27 @Meta(def = "720", description = "delay in hours, or 0 for no cache, or -1 for infinite time (default)", format = Format.INT, info = "The delay after which a cached resource that is thought to change rarely is considered too old and triggers a refresh")
08fe2e33 28 CACHE_MAX_TIME_STABLE, //
ae78e517 29 @Meta(def = "Mozilla/5.0 (X11; Linux x86_64; rv:44.0) Gecko/20100101 Firefox/44.0 -- ELinks/0.9.3 (Linux 2.6.11 i686; 80x24)", description = "string", info = "The user-agent to use to download files")
08fe2e33 30 USER_AGENT, //
51c5d9a7 31 @Meta(def = "$HOME/.fanfix/covers/", description = "absolute path, $HOME variable supported, / is always accepted as dir separator", format = Format.DIRECTORY, info = "The directory where to get the default story covers")
08fe2e33 32 DEFAULT_COVERS_DIR, //
e023483b
NR
33 @Meta(description = "string", info = "The default library to use (KEY:SERVER:PORT), or empty for the local library")
34 DEFAULT_LIBRARY, //
fb25273c
NR
35 @Meta(def = "58365", description = "The port on which we can start the server", format = Format.INT, info = "A valid port")
36 SERVER_PORT, //
37 @Meta(def = "", description = "The encryption key for the server (NOT including a subkey)", format = Format.PASSWORD, info = "cannot contain the pipe character (|)")
38 SERVER_KEY, //
39 @Meta(def = "TRUE", description = "Allow write access to the clients by default (download story, move story...)", format = Format.BOOLEAN)
40 SERVER_RW, //
41 @Meta(def = "", description = "If not empty, only the EXACT listed sources will be available for clients", info = "list is comma-separated (,) and values are surrounded by double quotes (\"); any double quote in the value must be backslash-escaped (with \\\")")
42 SERVER_WHITELIST, //
43 @Meta(def = "", description = "The subkeys that the server will allow, including the modes", info = "list is comma-separated (,) and values are surrounded by double quotes (\"); any double quote in the value must be backslash-escaped (with \\\")")
44 SERVER_ALLOWED_SUBKEYS, //
ae78e517 45 @Meta(def = "$HOME/Books", description = "absolute path, $HOME variable supported, / is always accepted as dir separator", format = Format.DIRECTORY, info = "The directory where to store the library")
08fe2e33 46 LIBRARY_DIR, //
ae78e517 47 @Meta(def = "false", description = "boolean", format = Format.BOOLEAN, info = "Show debug information on errors")
08fe2e33 48 DEBUG_ERR, //
ae78e517 49 @Meta(def = "false", description = "boolean", format = Format.BOOLEAN, info = "Show debug trace information")
a8209dd0 50 DEBUG_TRACE, //
ae78e517 51 @Meta(def = "PNG", description = "image format", format = Format.COMBO_LIST, list = {
ce788468 52 "PNG", "JPG", "BMP" }, info = "Image format to use for cover images")
08fe2e33 53 IMAGE_FORMAT_COVER, //
ae78e517 54 @Meta(def = "JPG", description = "image format", format = Format.COMBO_LIST, list = {
ce788468 55 "PNG", "JPG", "BMP" }, info = "Image format to use for content images")
08fe2e33 56 IMAGE_FORMAT_CONTENT, //
ce788468 57 @Meta(group = true)
08fe2e33 58 LATEX_LANG, //
ae78e517 59 @Meta(def = "english", description = "LaTeX output language: English", info = "LaTeX full name")
08fe2e33 60 LATEX_LANG_EN, //
ae78e517 61 @Meta(def = "french", description = "LaTeX output language: French", info = "LaTeX full name")
08fe2e33 62 LATEX_LANG_FR, //
ae78e517 63 @Meta(def = "by,par,de,©,(c)", description = "other 'by' prefixes before author name, used to identify the author", array = true)
08fe2e33 64 BYS, //
ae78e517 65 @Meta(def = "EN,FR", description = "List of languages codes used for chapter identification (should not be changed)", array = true, info = "EN,FR")
08fe2e33 66 CHAPTER, //
ae78e517 67 @Meta(def = "Chapter", description = "Chapter identification String: English", info = "used to identify a starting chapter in text mode")
08fe2e33 68 CHAPTER_EN, //
ae78e517 69 @Meta(def = "Chapitre", description = "Chapter identification String: French", info = "used to identify a starting chapter in text mode")
08fe2e33 70 CHAPTER_FR, //
ce788468 71 @Meta(description = "Login information (username) for YiffStar to have access to all the stories (should not be necessary anymore)")
6e06d2cc 72 LOGIN_YIFFSTAR_USER, //
ce788468 73 @Meta(description = "Login information (password) for YiffStar to have access to all the stories (should not be necessary anymore)", format = Format.PASSWORD)
6e06d2cc 74 LOGIN_YIFFSTAR_PASS, //
ce788468 75 @Meta(description = "If the last update check was done at least that many days, check for updates at startup (-1 for 'no checks' -- default is 1 day)", format = Format.INT)
315f14ae 76 UPDATE_INTERVAL, //
4ff0b1a9 77 @Meta(def = "", description = "", info = "Format is ((user(:pass)@)proxy:port), with ':' being system proxy and an empty String being no proxy")
fb25273c 78 USE_PROXY, @Meta(description = "An API key required to create a token from FimFiction", format = Format.STRING)
315f14ae
NR
79 LOGIN_FIMFICTION_APIKEY_CLIENT_ID, //
80 @Meta(description = "An API key required to create a token from FimFiction", format = Format.PASSWORD)
81 LOGIN_FIMFICTION_APIKEY_CLIENT_SECRET, //
a8209dd0 82 @Meta(description = "Do not use the new API, even if we have a token, and force HTML scraping (default is false, use API if token or ID present)", format = Format.BOOLEAN)
315f14ae 83 LOGIN_FIMFICTION_APIKEY_FORCE_HTML, //
ae78e517 84 @Meta(def = "Bearer WnZ5oHlzQoDocv1GcgHfcoqctHkSwL-D", description = "A token is required to use the beta APIv2 from FimFiction (see APIKEY_CLIENT_*)", format = Format.PASSWORD)
315f14ae 85 LOGIN_FIMFICTION_APIKEY_TOKEN, //
08fe2e33 86}