1 | # lognestmonster Copyright (c) 2019 Joshua 'joshuas3' Stockin |
2 | # <https://github.com/JoshuaS3/lognestmonster/>. |
3 |
|
4 |
|
5 | # This file is part of lognestmonster. |
6 |
|
7 | # lognestmonster is free software: you can redistribute it and/or modify |
8 | # it under the terms of the GNU General Public License as published by |
9 | # the Free Software Foundation, either version 3 of the License, or |
10 | # (at your option) any later version. |
11 |
|
12 | # lognestmonster is distributed in the hope that it will be useful, |
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | # GNU General Public License for more details. |
16 |
|
17 | # You should have received a copy of the GNU General Public License |
18 | # along with lognestmonster. If not, see <https://www.gnu.org/licenses/>. |
19 |
|
20 | from format import * |
21 |
|
22 | VERSION = "0.3.0" |
23 | TITLE = "lognestmonster" |
24 | YEAR = "2019" |
25 | AUTHOR = "Joshua 'joshuas3' Stockin" |
26 |
|
27 | VERSION_SHORT = "{0}/{1} Copyright (c) {2} {3}".format(TITLE, VERSION, YEAR, AUTHOR) |
28 |
|
29 | VERSION_MESSAGE = """{0} |
30 | Licensed under version 3 of the GNU General Public License |
31 | <https://github.com/JoshuaS3/lognestmonster/> |
32 | |
33 | |
34 | This program is free software: you can redistribute it and/or modify |
35 | it under the terms of the GNU General Public License as published by |
36 | the Free Software Foundation, either version 3 of the License, or |
37 | (at your option) any later version. |
38 | |
39 | This program is distributed in the hope that it will be useful, |
40 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
41 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
42 | GNU General Public License for more details. |
43 | |
44 | You should have received a copy of the GNU General Public License |
45 | along with this program. If not, see <https://www.gnu.org/licenses/>. |
46 | |
47 | |
48 | Written by {1}.""".format(VERSION_SHORT, AUTHOR) |
49 |
|
50 | # Help screen information |
51 |
|
52 | HELP_MESSAGE = "Run with --help to display usage information" |
53 | USAGE_MESSAGE = "[OPTION]... <QUEUE>" |
54 |
|
55 | COMMAND_INFO = """The lognestmonster library allows you to generate log files with an organized nesting format. Use this lognestmonster command to parse files generated by the lognestmonster library. |
56 | |
57 | |
58 | |
59 | By default, inputting a queue file, a folder with queue files, or switching stdin (passing "-" for QUEUE) will display an interactive textual interface where keyboard events are used to sift through log statements. Using the status switch (-s, --status), you can do a quick read of the instream and only display metadata, such as the number of statements or events, rather than a textual user interface. If the follow switch is used (-f, --follow), the parser will keep the instreams open and generate live logtrees. Switching stdin ("-") automatically switches follow. Hanging logtrees are not displayed when following is switched on (including stdin). See other switches and options for the ability to narrow down log results. Log-unrelated commands (help, version, or no args) do not require a QUEUE variable. |
60 | |
61 | |
62 | |
63 | Unless manually switched, the verbosity levels `verbose` (-v) and `veryverbose` (-vv) are not displayed in the interactive textual interface.""" |
64 |
|
65 | DESCRIPTION_HELP = "Displays program description and a list of valid options and other arguments" |
66 | DESCRIPTION_VERSION = "Displays program information about copyright and the version" |
67 |
|
68 | DESCRIPTION_STATUS = "Reads the directory and outputs file and log metadata for each log tree" |
69 |
|
70 | DESCRIPTION_ERRORS = "Omits all statements besides errors. Stackable with other verbosity level commands" |
71 | DESCRIPTION_WARNINGS = "Omits all statements besides warnings. Stackable with other verbosity level commands" |
72 | DESCRIPTION_INFO = "Omits all statements besides those with verbosity type 'info'. Stackable with other verbosity level commands" |
73 | DESCRIPTION_DEBUG = "Omits all statements besides those with verbosity type 'debug'. Stackable with other verbosity level commands" |
74 | DESCRIPTION_VERBOSE = "Omits all statements besides those with verbosty type 'verbose'. Stackable with other verbosity level commands" |
75 | DESCRIPTION_VERYVERBOSE = "Omits all statements besides those with verbosity type 'veryverbose'. Stackable with other verbosity level commands" |
76 |
|
77 | DESCRIPTION_BEFORE = "Limits log results to before a certain timestamp. A millisecond UNIX timestamp must be provided" |
78 | DESCRIPTION_AFTER = "Limits log results to after a certain timestamp. A millisecond UNIX timestamp must be provided" |
79 | DESCRIPTION_TAG = "Limits log results to a tag. A string of the tag/invoker must be provided" |
80 | DESCRIPTION_ITEM = "Limits log results to a numbered log item (statement or event). A positive integer must be provided" |
81 |
|
82 | DESCRIPTION_FOLLOW = "Provides a live view of the log tree stream, similar to the 'tail -f' command" |
83 |
|
84 | import platform # sigh |
85 | DESCRIPTION_PYTHON_VERSION = "Running Python version {0}".format(platform.python_version()) |
86 |
|
87 | # TUI messages |
88 |
|
89 | HEADER_MESSAGE = "lognestmonster - {0}" |
90 |
|
91 | METADATA_MESSAGE = "Size: {0} bytes | Timestamp: {1}" |
92 |
|
93 | DATA_MESSAGE_DEFAULT = "{0} Statements | {1} Events | {2} Unsaved Data Trees" |
94 |
|
95 | CONTROLS_MESSAGE = "press q to exit | h for help" |
96 |
|
97 | CONTROLS_SCREEN = """h for help |
98 | q to exit |
99 | up and down arrow keys to select |
100 | right arrow key to expand |
101 | left arrow key to collapse |
102 | spacebar to pause |
103 | """ |
104 |
|