annotate sat_frontends/jp/constants.py @ 3008:c8c68a3b0a79

plugins XEP-0045, XEP-0198: rejoin MUC rooms while a hot reconnection is done: when resuming is not possible with stream management, a hot reconnection is done (reconnecting without restarting every plugin). This was causing trouble for joined MUC rooms, which were not accessible anymore (because they were not re-joined). This patch fixes it by clearing rooms first (to avoid considering the room joined and broadcasting the initial presence to them), then re-joining them. fix 322
author Goffi <goffi@goffi.org>
date Tue, 16 Jul 2019 21:59:30 +0200
parents ff1b40823b07
children ab2696e34d29
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
2771
003b8b4b56a7 date update
Goffi <goffi@goffi.org>
parents: 2707
diff changeset
5 # Copyright (C) 2009-2019 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"
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
29 OUTPUT_TEXT = u"text" # blob of unicode text
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
30 OUTPUT_DICT = u"dict" # simple key/value dictionary
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
31 OUTPUT_LIST = u"list"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
32 OUTPUT_LIST_DICT = u"list_dict" # list of dictionaries
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
33 OUTPUT_DICT_DICT = u"dict_dict" # dict of nested dictionaries
2707
b156b78b8f9a jp (output): new OUTPUT_MESS output to handle data containing chat messages
Goffi <goffi@goffi.org>
parents: 2624
diff changeset
34 OUTPUT_MESS = u"mess" # messages (chat)
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
35 OUTPUT_COMPLEX = u"complex" # complex data (e.g. multi-level dictionary)
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
36 OUTPUT_XML = u"xml" # XML node (as unicode string)
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
37 OUTPUT_LIST_XML = u"list_xml" # list of XML nodes (as unicode strings)
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
38 OUTPUT_XMLUI = u"xmlui" # XMLUI as unicode string
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
39 OUTPUT_LIST_XMLUI = u"list_xmlui" # list of XMLUI (as unicode strings)
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
40 OUTPUT_TYPES = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
41 OUTPUT_TEXT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
42 OUTPUT_DICT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
43 OUTPUT_LIST,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
44 OUTPUT_LIST_DICT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
45 OUTPUT_DICT_DICT,
2707
b156b78b8f9a jp (output): new OUTPUT_MESS output to handle data containing chat messages
Goffi <goffi@goffi.org>
parents: 2624
diff changeset
46 OUTPUT_MESS,
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
47 OUTPUT_COMPLEX,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
48 OUTPUT_XML,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
49 OUTPUT_LIST_XML,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
50 OUTPUT_XMLUI,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
51 OUTPUT_LIST_XMLUI,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
52 )
1951
ac89f455fcbf jp: added consts for exit codes, not used yet
Goffi <goffi@goffi.org>
parents: 1950
diff changeset
53
2532
772447ec070f jp: pubsub options refactoring:
Goffi <goffi@goffi.org>
parents: 2505
diff changeset
54 # Pubsub options flags
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
55 SERVICE = u"service" # service required
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
56 NODE = u"node" # node required
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
57 ITEM = u"item" # item required
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
58 SINGLE_ITEM = u"single_item" # only one item is allowed
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
59 MULTI_ITEMS = u"multi_items" # multiple items are allowed
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
60 NO_MAX = u"no_max" # don't add --max option for multi items
2532
772447ec070f jp: pubsub options refactoring:
Goffi <goffi@goffi.org>
parents: 2505
diff changeset
61
2232
4f389486667d jp: added constant to handle ANSI code for header and subheaders
Goffi <goffi@goffi.org>
parents: 2190
diff changeset
62 # ANSI
4f389486667d jp: added constant to handle ANSI code for header and subheaders
Goffi <goffi@goffi.org>
parents: 2190
diff changeset
63 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
64 A_SUBHEADER = A.BOLD + A.FG_RED
2485
512c443a58ba jp (forums): forums handling commands, first draft
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
65 # A_LEVEL_COLORS may be used to cycle on colors according to depth of data
512c443a58ba jp (forums): forums handling commands, first draft
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
66 A_LEVEL_COLORS = (A_HEADER, A.BOLD + A.FG_BLUE, A.FG_MAGENTA, A.FG_CYAN)
2278
489efbda377c jp (input): input command first draft:
Goffi <goffi@goffi.org>
parents: 2268
diff changeset
67 A_SUCCESS = A.BOLD + A.FG_GREEN
489efbda377c jp (input): input command first draft:
Goffi <goffi@goffi.org>
parents: 2268
diff changeset
68 A_FAILURE = A.BOLD + A.FG_RED
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
69 #  A_PROMPT_* is for shell
2355
0fed4a1c033a jp (shell): changed prompt colour
Goffi <goffi@goffi.org>
parents: 2309
diff changeset
70 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
71 A_PROMPT_SUF = A.BOLD
2505
8e770ac05b0c jp (file): file sharing + improvments:
Goffi <goffi@goffi.org>
parents: 2485
diff changeset
72 # Files
8e770ac05b0c jp (file): file sharing + improvments:
Goffi <goffi@goffi.org>
parents: 2485
diff changeset
73 A_DIRECTORY = A.BOLD + A.FG_CYAN
8e770ac05b0c jp (file): file sharing + improvments:
Goffi <goffi@goffi.org>
parents: 2485
diff changeset
74 A_FILE = A.FG_WHITE
2232
4f389486667d jp: added constant to handle ANSI code for header and subheaders
Goffi <goffi@goffi.org>
parents: 2190
diff changeset
75
1951
ac89f455fcbf jp: added consts for exit codes, not used yet
Goffi <goffi@goffi.org>
parents: 1950
diff changeset
76 # exit codes
ac89f455fcbf jp: added consts for exit codes, not used yet
Goffi <goffi@goffi.org>
parents: 1950
diff changeset
77 EXIT_OK = 0
2550
1d754bc14381 jp (base): new confirmOrQuit helper method to ask confirmation to user, and quit if he cancel
Goffi <goffi@goffi.org>
parents: 2539
diff changeset
78 EXIT_ERROR = 1 # generic error, when nothing else match
1d754bc14381 jp (base): new confirmOrQuit helper method to ask confirmation to user, and quit if he cancel
Goffi <goffi@goffi.org>
parents: 2539
diff changeset
79 EXIT_BAD_ARG = 2 # arguments given by user are bad
1d754bc14381 jp (base): new confirmOrQuit helper method to ask confirmation to user, and quit if he cancel
Goffi <goffi@goffi.org>
parents: 2539
diff changeset
80 EXIT_BRIDGE_ERROR = 3 # can't connect to bridge
1d754bc14381 jp (base): new confirmOrQuit helper method to ask confirmation to user, and quit if he cancel
Goffi <goffi@goffi.org>
parents: 2539
diff changeset
81 EXIT_BRIDGE_ERRBACK = 4 # something went wrong when calling a bridge method
1d754bc14381 jp (base): new confirmOrQuit helper method to ask confirmation to user, and quit if he cancel
Goffi <goffi@goffi.org>
parents: 2539
diff changeset
82 EXIT_NOT_FOUND = 16 # an item required by a command was not found
2777
ff1b40823b07 jp (pubsub): new "transform" command:
Goffi <goffi@goffi.org>
parents: 2771
diff changeset
83 EXIT_DATA_ERROR = 17 # data needed for a command is invalid
ff1b40823b07 jp (pubsub): new "transform" command:
Goffi <goffi@goffi.org>
parents: 2771
diff changeset
84 EXIT_MISSING_FEATURE = 18 # a needed plugin or feature is not available
2550
1d754bc14381 jp (base): new confirmOrQuit helper method to ask confirmation to user, and quit if he cancel
Goffi <goffi@goffi.org>
parents: 2539
diff changeset
85 EXIT_USER_CANCELLED = 20 # user cancelled action
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
86 EXIT_FILE_NOT_EXE = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
87 126
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2601
diff changeset
88 ) # a file to be executed was found, but it was not an executable utility (cf. man 1 exit)
2550
1d754bc14381 jp (base): new confirmOrQuit helper method to ask confirmation to user, and quit if he cancel
Goffi <goffi@goffi.org>
parents: 2539
diff changeset
89 EXIT_CMD_NOT_FOUND = 127 # a utility to be executed was not found (cf. man 1 exit)
2777
ff1b40823b07 jp (pubsub): new "transform" command:
Goffi <goffi@goffi.org>
parents: 2771
diff changeset
90 EXIT_CMD_ERROR = 127 # a utility to be executed returned an error exit code
2550
1d754bc14381 jp (base): new confirmOrQuit helper method to ask confirmation to user, and quit if he cancel
Goffi <goffi@goffi.org>
parents: 2539
diff changeset
91 EXIT_SIGNAL_INT = 128 # a command was interrupted by a signal (cf. man 1 exit)