annotate frontends/src/jp/constants.py @ 2409:d2ff5ff3de77

jp (ad-hoc): new "list" and "run" commands: - list just display commands available at ad-hoc entry point. --verbose allows to display values names, which is useful for automation. - run can either run interactively a command, or execute a workflow to automate them.
author Goffi <goffi@goffi.org>
date Tue, 31 Oct 2017 23:20:04 +0100
parents 0fed4a1c033a
children 8b37a62336c3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1934
2daf7b4c6756 use of /usr/bin/env instead of /usr/bin/python in shebang
Goffi <goffi@goffi.org>
parents: 1766
diff changeset
1 #!/usr/bin/env python2
970
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
2 # -*- coding: utf-8 -*-
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
3
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
4 # Primitivus: a SAT frontend
1766
d17772b0fe22 copyright update
Goffi <goffi@goffi.org>
parents: 1396
diff changeset
5 # Copyright (C) 2009-2016 Jérôme Poisson (goffi@goffi.org)
970
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
6
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
7 # This program is free software: you can redistribute it and/or modify
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
8 # it under the terms of the GNU Affero General Public License as published by
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
9 # the Free Software Foundation, either version 3 of the License, or
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
10 # (at your option) any later version.
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
11
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
12 # This program is distributed in the hope that it will be useful,
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
15 # GNU Affero General Public License for more details.
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
16
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
17 # You should have received a copy of the GNU Affero General Public License
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
19
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
20 from sat_frontends.quick_frontend import constants
2232
4f389486667d jp: added constant to handle ANSI code for header and subheaders
Goffi <goffi@goffi.org>
parents: 2190
diff changeset
21 from sat.tools.common.ansi import ANSI as A
970
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
22
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
23
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
24 class Const(constants.Const):
2e052998c7eb jp: using C.APP_URL for application url
Goffi <goffi@goffi.org>
parents:
diff changeset
25
2163
75667727c500 jp (output): template output first draft:
Goffi <goffi@goffi.org>
parents: 2156
diff changeset
26 APP_NAME = u"jp"
75667727c500 jp (output): template output first draft:
Goffi <goffi@goffi.org>
parents: 2156
diff changeset
27 PLUGIN_CMD = u"commands"
75667727c500 jp (output): template output first draft:
Goffi <goffi@goffi.org>
parents: 2156
diff changeset
28 PLUGIN_OUTPUT = u"outputs"
75667727c500 jp (output): template output first draft:
Goffi <goffi@goffi.org>
parents: 2156
diff changeset
29 OUTPUT_TEXT = u'text' # blob of unicode text
75667727c500 jp (output): template output first draft:
Goffi <goffi@goffi.org>
parents: 2156
diff changeset
30 OUTPUT_DICT = u'dict' # simple key/value dictionary
75667727c500 jp (output): template output first draft:
Goffi <goffi@goffi.org>
parents: 2156
diff changeset
31 OUTPUT_LIST = u'list'
2233
bf998d8626d9 jp (output): added LIST_DICT output, to handle list of dictionaries
Goffi <goffi@goffi.org>
parents: 2232
diff changeset
32 OUTPUT_LIST_DICT = u'list_dict' # list of dictionaries
2295
31f586d6ab16 jp (constants): added OUTPUT_DICT_DICT for dictionaries of nested dictionaries
Goffi <goffi@goffi.org>
parents: 2278
diff changeset
33 OUTPUT_DICT_DICT = u'dict_dict' # dict of nested dictionaries
2163
75667727c500 jp (output): template output first draft:
Goffi <goffi@goffi.org>
parents: 2156
diff changeset
34 OUTPUT_COMPLEX = u'complex' # complex data (e.g. multi-level dictionary)
2190
d823a0cdbcc2 jp (outputs): new xml and list_xml outputs, handling pretty formatting and syntax highlighting
Goffi <goffi@goffi.org>
parents: 2163
diff changeset
35 OUTPUT_XML = u'xml' # XML node (as unicode string)
d823a0cdbcc2 jp (outputs): new xml and list_xml outputs, handling pretty formatting and syntax highlighting
Goffi <goffi@goffi.org>
parents: 2163
diff changeset
36 OUTPUT_LIST_XML = u'list_xml' # list of XML nodes (as unicode strings)
2295
31f586d6ab16 jp (constants): added OUTPUT_DICT_DICT for dictionaries of nested dictionaries
Goffi <goffi@goffi.org>
parents: 2278
diff changeset
37 OUTPUT_TYPES = (OUTPUT_TEXT, OUTPUT_DICT, OUTPUT_LIST, OUTPUT_LIST_DICT, OUTPUT_DICT_DICT, OUTPUT_COMPLEX, OUTPUT_XML, OUTPUT_LIST_XML)
1951
ac89f455fcbf jp: added consts for exit codes, not used yet
Goffi <goffi@goffi.org>
parents: 1950
diff changeset
38
2232
4f389486667d jp: added constant to handle ANSI code for header and subheaders
Goffi <goffi@goffi.org>
parents: 2190
diff changeset
39 # ANSI
4f389486667d jp: added constant to handle ANSI code for header and subheaders
Goffi <goffi@goffi.org>
parents: 2190
diff changeset
40 A_HEADER = A.BOLD + A.FG_YELLOW
4f389486667d jp: added constant to handle ANSI code for header and subheaders
Goffi <goffi@goffi.org>
parents: 2190
diff changeset
41 A_SUBHEADER = A.BOLD + A.FG_RED
2278
489efbda377c jp (input): input command first draft:
Goffi <goffi@goffi.org>
parents: 2268
diff changeset
42 A_SUCCESS = A.BOLD + A.FG_GREEN
489efbda377c jp (input): input command first draft:
Goffi <goffi@goffi.org>
parents: 2268
diff changeset
43 A_FAILURE = A.BOLD + A.FG_RED
2309
c7a72b75232b jp (shell): shell command (REPL mode), first draft:
Goffi <goffi@goffi.org>
parents: 2295
diff changeset
44 # A_PROMPT_* is for shell
2355
0fed4a1c033a jp (shell): changed prompt colour
Goffi <goffi@goffi.org>
parents: 2309
diff changeset
45 A_PROMPT_PATH = A.BOLD + A.FG_CYAN
2309
c7a72b75232b jp (shell): shell command (REPL mode), first draft:
Goffi <goffi@goffi.org>
parents: 2295
diff changeset
46 A_PROMPT_SUF = A.BOLD
2232
4f389486667d jp: added constant to handle ANSI code for header and subheaders
Goffi <goffi@goffi.org>
parents: 2190
diff changeset
47
1951
ac89f455fcbf jp: added consts for exit codes, not used yet
Goffi <goffi@goffi.org>
parents: 1950
diff changeset
48 # exit codes
ac89f455fcbf jp: added consts for exit codes, not used yet
Goffi <goffi@goffi.org>
parents: 1950
diff changeset
49 EXIT_OK = 0
ac89f455fcbf jp: added consts for exit codes, not used yet
Goffi <goffi@goffi.org>
parents: 1950
diff changeset
50 EXIT_ERROR = 1 # generic error, when nothing else match
ac89f455fcbf jp: added consts for exit codes, not used yet
Goffi <goffi@goffi.org>
parents: 1950
diff changeset
51 EXIT_BAD_ARG = 2 # arguments given by user are bad
2098
e0066920a661 primitivus, jp: dynamic bridge + fixed D-Bus bridge:
Goffi <goffi@goffi.org>
parents: 2073
diff changeset
52 EXIT_BRIDGE_ERROR = 3 # can't connect to bridge
2112
877d0a2d0d86 jp (constants): added exit code for error on bridge method call
Goffi <goffi@goffi.org>
parents: 2098
diff changeset
53 EXIT_BRIDGE_ERRBACK = 4 # something went wrong when calling a bridge method
2073
3d633458d962 jp (core): added EXIT_NOT_FOUND constant, which return 16 as exit code
Goffi <goffi@goffi.org>
parents: 1951
diff changeset
54 EXIT_NOT_FOUND = 16 # an item required by a command was not found
2268
a29d1351bc83 jp (constants): added exit code for data error.
Goffi <goffi@goffi.org>
parents: 2233
diff changeset
55 EXIT_DATA_ERROR = 17 # data needed for a command is invalid
1951
ac89f455fcbf jp: added consts for exit codes, not used yet
Goffi <goffi@goffi.org>
parents: 1950
diff changeset
56 EXIT_FILE_NOT_EXE = 126 # a file to be executed was found, but it was not an executable utility (cf. man 1 exit)
ac89f455fcbf jp: added consts for exit codes, not used yet
Goffi <goffi@goffi.org>
parents: 1950
diff changeset
57 EXIT_CMD_NOT_FOUND = 127 # a utility to be executed was not found (cf. man 1 exit)
ac89f455fcbf jp: added consts for exit codes, not used yet
Goffi <goffi@goffi.org>
parents: 1950
diff changeset
58 EXIT_SIGNAL_INT = 128 # a command was interrupted by a signal (cf. man 1 exit)