Index

lognestmonster / 955bc8d

A general-purpose single-header C logging library and parser for event-based logs. (Incomplete)

Latest Commit

{#}TimeHashSubjectAuthor#(+)(-)GPG?
9001 Sep 2019 21:000faeedcupdate log reading/parsingJosh Stockin130N

Blob @ lognestmonster / parser / text.py

application/x-python5184 bytesdownload raw
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
20from format import *
21
22VERSION = "0.3.0"
23TITLE = "lognestmonster"
24YEAR = "2019"
25AUTHOR = "Joshua 'joshuas3' Stockin"
26
27VERSION_SHORT = "{0}/{1} Copyright (c) {2} {3}".format(TITLE, VERSION, YEAR, AUTHOR)
28
29VERSION_MESSAGE = """{0}
30Licensed under version 3 of the GNU General Public License
31<https://github.com/JoshuaS3/lognestmonster/>
32
33
34This program is free software: you can redistribute it and/or modify
35it under the terms of the GNU General Public License as published by
36the Free Software Foundation, either version 3 of the License, or
37(at your option) any later version.
38
39This program is distributed in the hope that it will be useful,
40but WITHOUT ANY WARRANTY; without even the implied warranty of
41MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
42GNU General Public License for more details.
43
44You should have received a copy of the GNU General Public License
45along with this program. If not, see <https://www.gnu.org/licenses/>.
46
47
48Written by {1}.""".format(VERSION_SHORT, AUTHOR)
49
50# Help screen information
51
52HELP_MESSAGE = "Run with --help to display usage information"
53USAGE_MESSAGE = "[OPTION]... <QUEUE>"
54
55COMMAND_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
59By 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
63Unless manually switched, the verbosity levels `verbose` (-v) and `veryverbose` (-vv) are not displayed in the interactive textual interface."""
64
65DESCRIPTION_HELP = "Displays program description and a list of valid options and other arguments"
66DESCRIPTION_VERSION = "Displays program information about copyright and the version"
67
68DESCRIPTION_STATUS = "Reads the directory and outputs file and log metadata for each log tree"
69
70DESCRIPTION_ERRORS = "Omits all statements besides errors. Stackable with other verbosity level commands"
71DESCRIPTION_WARNINGS = "Omits all statements besides warnings. Stackable with other verbosity level commands"
72DESCRIPTION_INFO = "Omits all statements besides those with verbosity type 'info'. Stackable with other verbosity level commands"
73DESCRIPTION_DEBUG = "Omits all statements besides those with verbosity type 'debug'. Stackable with other verbosity level commands"
74DESCRIPTION_VERBOSE = "Omits all statements besides those with verbosty type 'verbose'. Stackable with other verbosity level commands"
75DESCRIPTION_VERYVERBOSE = "Omits all statements besides those with verbosity type 'veryverbose'. Stackable with other verbosity level commands"
76
77DESCRIPTION_BEFORE = "Limits log results to before a certain timestamp. A millisecond UNIX timestamp must be provided"
78DESCRIPTION_AFTER = "Limits log results to after a certain timestamp. A millisecond UNIX timestamp must be provided"
79DESCRIPTION_TAG = "Limits log results to a tag. A string of the tag/invoker must be provided"
80DESCRIPTION_ITEM = "Limits log results to a numbered log item (statement or event). A positive integer must be provided"
81
82DESCRIPTION_FOLLOW = "Provides a live view of the log tree stream, similar to the 'tail -f' command"
83
84import platform # sigh
85DESCRIPTION_PYTHON_VERSION = "Running Python version {0}".format(platform.python_version())
86
87# TUI messages
88
89HEADER_MESSAGE = "lognestmonster - {0}"
90
91METADATA_MESSAGE = "Size: {0} bytes | Timestamp: {1}"
92
93DATA_MESSAGE_DEFAULT = "{0} Statements | {1} Events | {2} Unsaved Data Trees"
94
95CONTROLS_MESSAGE = "press q to exit | h for help"
96
97CONTROLS_SCREEN = """h for help
98q to exit
99up and down arrow keys to select
100right arrow key to expand
101left arrow key to collapse
102spacebar to pause
103"""
104