Mercurial > libervia-backend
annotate sat_frontends/jp/cmd_uri.py @ 2617:81b70eeb710f
quick_frontend(contact list): refactored update:
update is now called with appropriate constant value (C.UPDATE_ADD, C.UPDATE_DELETE, C.UPDATE_MODIFY and so on) when a widget change visibility according to current options.
Before it was linked to cache only (C.UPDATE_ADD was only called when contact was first added to cache).
This make widget handling in frontends more easy.
Renamed entityToShow to entityVisible, which seems to correspond better.
Started reducing lines lenght to 90 chars as a test. May become the new coding style soon.
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 24 Jun 2018 21:59:29 +0200 |
parents | 26edcf3a30eb |
children | 56f94936df1e |
rev | line source |
---|---|
2240
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
1 #!/usr/bin/env python2 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
2 # -*- coding: utf-8 -*- |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
3 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
4 # jp: a SàT command line tool |
2483 | 5 # Copyright (C) 2009-2018 Jérôme Poisson (goffi@goffi.org) |
2240
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
6 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
7 # This program is free software: you can redistribute it and/or modify |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
8 # it under the terms of the GNU Affero General Public License as published by |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
9 # the Free Software Foundation, either version 3 of the License, or |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
10 # (at your option) any later version. |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
11 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
12 # This program is distributed in the hope that it will be useful, |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
15 # GNU Affero General Public License for more details. |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
16 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
17 # You should have received a copy of the GNU Affero General Public License |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
19 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
20 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
21 import base |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
22 from sat.core.i18n import _ |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
23 from sat_frontends.jp.constants import Const as C |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
24 from sat.tools.common import uri |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
25 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
26 __commands__ = ["Uri"] |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
27 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
28 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
29 class Parse(base.CommandBase): |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
30 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
31 def __init__(self, host): |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
32 base.CommandBase.__init__(self, host, 'parse', use_profile=False, use_output=C.OUTPUT_DICT, help=_(u'parse URI')) |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
33 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
34 def add_parser_options(self): |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
35 self.parser.add_argument("uri", type=base.unicode_decoder, help=_(u"XMPP URI to parse")) |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
36 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
37 def start(self): |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
38 self.output(uri.parseXMPPUri(self.args.uri)) |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
39 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
40 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
41 class Build(base.CommandBase): |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
42 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
43 def __init__(self, host): |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
44 base.CommandBase.__init__(self, host, 'build', use_profile=False, help=_(u'build URI')) |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
45 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
46 def add_parser_options(self): |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
47 self.parser.add_argument("type", type=base.unicode_decoder, help=_(u"URI type")) |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
48 self.parser.add_argument("path", type=base.unicode_decoder, help=_(u"URI path")) |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
49 self.parser.add_argument("-f", |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
50 "--field", |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
51 type=base.unicode_decoder, |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
52 action='append', |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
53 nargs=2, |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
54 dest='fields', |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
55 metavar=(u"KEY", u"VALUE"), |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
56 help=_(u"URI fields")) |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
57 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
58 def start(self): |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
59 fields = dict(self.args.fields) if self.args.fields else {} |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
60 self.disp(uri.buildXMPPUri(self.args.type, path=self.args.path, **fields)) |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
61 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
62 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
63 class Uri(base.CommandBase): |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
64 subcommands = (Parse, Build) |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
65 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
66 def __init__(self, host): |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
67 super(Uri, self).__init__(host, 'uri', use_profile=False, help=_('XMPP URI parsing/generation')) |