Mercurial > libervia-backend
annotate sat_frontends/jp/constants.py @ 2807:0b7ce5daee9b
plugin XEP-0277: blog items data are now entirely serialised before going to bridge:
So far, and for historical reasons, blog items data where serialised using a unicode: unicode dict, which was causing trouble for many types of values (timestamps, booleans, lists).
This patch changes it by serialising the whole items before going to bridge, and deserialising it when going back. This way, complex data can be used easily in items.
This impact psEvent and serItemsData* methods which are renamed transItemsData* because there are not always serialising anymore (a new argument "serialise" allows to specify it).
When editing a blog post in jp, metadata are now more easy to manipulate, specially lists like tags.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 23 Feb 2019 18:59:00 +0100 |
parents | ff1b40823b07 |
children | ab2696e34d29 |
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 | 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 | 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 | 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 | 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) |