allox subkeys, step 1 (keys not active)
[fanfix.git] / src / be / nikiroo / fanfix / bundles / Config.java
1 package be.nikiroo.fanfix.bundles;
2
3 import be.nikiroo.utils.resources.Meta;
4 import be.nikiroo.utils.resources.Meta.Format;
5
6 /**
7 * The configuration options.
8 *
9 * @author niki
10 */
11 @SuppressWarnings("javadoc")
12 public enum Config {
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)")
14 LANG, //
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")
17 READER_TYPE, //
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")
20 NON_IMAGES_DOCUMENT_TYPE, //
21 @Meta(def = "CBZ", format = Format.COMBO_LIST, list = { "CBZ", "HTML" }, description = "The type of output for the Local Reader for images documents")
22 IMAGES_DOCUMENT_TYPE, //
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)")
24 CACHE_DIR, //
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")
26 CACHE_MAX_TIME_CHANGING, //
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")
28 CACHE_MAX_TIME_STABLE, //
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")
30 USER_AGENT, //
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")
32 DEFAULT_COVERS_DIR, //
33 @Meta(description = "string", info = "The default library to use (KEY:SERVER:PORT), or empty for the local library")
34 DEFAULT_LIBRARY, //
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, //
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")
46 LIBRARY_DIR, //
47 @Meta(def = "false", description = "boolean", format = Format.BOOLEAN, info = "Show debug information on errors")
48 DEBUG_ERR, //
49 @Meta(def = "false", description = "boolean", format = Format.BOOLEAN, info = "Show debug trace information")
50 DEBUG_TRACE, //
51 @Meta(def = "PNG", description = "image format", format = Format.COMBO_LIST, list = {
52 "PNG", "JPG", "BMP" }, info = "Image format to use for cover images")
53 IMAGE_FORMAT_COVER, //
54 @Meta(def = "JPG", description = "image format", format = Format.COMBO_LIST, list = {
55 "PNG", "JPG", "BMP" }, info = "Image format to use for content images")
56 IMAGE_FORMAT_CONTENT, //
57 @Meta(group = true)
58 LATEX_LANG, //
59 @Meta(def = "english", description = "LaTeX output language: English", info = "LaTeX full name")
60 LATEX_LANG_EN, //
61 @Meta(def = "french", description = "LaTeX output language: French", info = "LaTeX full name")
62 LATEX_LANG_FR, //
63 @Meta(def = "by,par,de,©,(c)", description = "other 'by' prefixes before author name, used to identify the author", array = true)
64 BYS, //
65 @Meta(def = "EN,FR", description = "List of languages codes used for chapter identification (should not be changed)", array = true, info = "EN,FR")
66 CHAPTER, //
67 @Meta(def = "Chapter", description = "Chapter identification String: English", info = "used to identify a starting chapter in text mode")
68 CHAPTER_EN, //
69 @Meta(def = "Chapitre", description = "Chapter identification String: French", info = "used to identify a starting chapter in text mode")
70 CHAPTER_FR, //
71 @Meta(description = "Login information (username) for YiffStar to have access to all the stories (should not be necessary anymore)")
72 LOGIN_YIFFSTAR_USER, //
73 @Meta(description = "Login information (password) for YiffStar to have access to all the stories (should not be necessary anymore)", format = Format.PASSWORD)
74 LOGIN_YIFFSTAR_PASS, //
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)
76 UPDATE_INTERVAL, //
77 @Meta(def = "", description = "", info = "Format is ((user(:pass)@)proxy:port), with ':' being system proxy and an empty String being no proxy")
78 USE_PROXY, @Meta(description = "An API key required to create a token from FimFiction", format = Format.STRING)
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, //
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)
83 LOGIN_FIMFICTION_APIKEY_FORCE_HTML, //
84 @Meta(def = "Bearer WnZ5oHlzQoDocv1GcgHfcoqctHkSwL-D", description = "A token is required to use the beta APIv2 from FimFiction (see APIKEY_CLIENT_*)", format = Format.PASSWORD)
85 LOGIN_FIMFICTION_APIKEY_TOKEN, //
86 }