Mercurial > libervia-backend
annotate frontends/src/jp/cmd_uri.py @ 2361:5defafc8ede6
core, frontends (xmlui): new LabelContainer:
LabelContainer is like a PairContainer where first widget can only be LabelWidget or EmptyWidget. This case is the most common, and allow to generate better code when label can be associated to widget (e.g. in HTML).
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 24 Sep 2017 16:36:11 +0200 |
parents | 4b66f070cfbb |
children | 8b37a62336c3 |
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 |
4b66f070cfbb
jp (uri): new command to parse or generate XMPP URIs
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
5 # Copyright (C) 2009-2016 Jérôme Poisson (goffi@goffi.org) |
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')) |