author | Edouard Tisserant <edouard.tisserant@gmail.com> |
Thu, 22 Dec 2022 02:46:08 +0100 | |
branch | wxPython4 |
changeset 3710 | 51c2d434e10e |
parent 2609 | c8cb60bf6c6a |
child 3750 | f62625418bff |
permissions | -rw-r--r-- |
2007
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
1 |
#!/usr/bin/env python |
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
2 |
# -*- coding: utf-8 -*- |
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
3 |
|
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
4 |
# See COPYING file for copyrights details. |
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
5 |
|
2329
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
6 |
from __future__ import absolute_import |
2007
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
7 |
|
2329
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
8 |
from itertools import repeat, islice, chain |
2007
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
9 |
|
2329
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
10 |
from connectors.SchemeEditor import SchemeEditor |
2007
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
11 |
|
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
12 |
|
2492
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2334
diff
changeset
|
13 |
model = [('host', _("Host:")), |
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2334
diff
changeset
|
14 |
('port', _("Port:"))] |
2007
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
15 |
|
2334
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
16 |
# (scheme, model, secure) |
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
17 |
models = [("LOCAL", [], False), ("PYRO", model, False), ("PYROS", model, True)] |
2007
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
18 |
|
2329
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
19 |
Schemes = list(zip(*models)[0]) |
2007
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
20 |
|
2492
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2334
diff
changeset
|
21 |
_PerSchemeConf = {sch: (mod, sec) for sch, mod, sec in models} |
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2334
diff
changeset
|
22 |
|
2007
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
23 |
|
2329
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
24 |
class PYRO_dialog(SchemeEditor): |
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
25 |
def __init__(self, scheme, *args, **kwargs): |
2334
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
26 |
# ID selector is enabled only on PYROS (secure) |
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
27 |
self.model, self.EnableIDSelector = _PerSchemeConf[scheme] |
d1470c052662
Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents:
2329
diff
changeset
|
28 |
|
2329
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
29 |
SchemeEditor.__init__(self, scheme, *args, **kwargs) |
2007
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
30 |
|
2492
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2334
diff
changeset
|
31 |
# pylint: disable=unused-variable |
2329
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
32 |
def SetLoc(self, loc): |
2492
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2334
diff
changeset
|
33 |
hostport, ID = list(islice(chain(loc.split("#"), repeat("")), 2)) |
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2334
diff
changeset
|
34 |
host, port = list(islice(chain(hostport.split(":"), repeat("")), 2)) |
2329
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
35 |
self.SetFields(locals()) |
2007
ef2d479f564f
#2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
36 |
|
2329
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
37 |
def GetLoc(self): |
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
38 |
if self.model: |
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
39 |
fields = self.GetFields() |
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
40 |
template = "{host}" |
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
41 |
if fields['port']: |
2492
7dd551ac2fa0
check_sources.sh makes me become even less productive
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
2334
diff
changeset
|
42 |
template += ":{port}" |
2609
c8cb60bf6c6a
Fixed exception when using URI editor for PYRO addresses
Edouard Tisserant
parents:
2537
diff
changeset
|
43 |
if self.EnableIDSelector: |
c8cb60bf6c6a
Fixed exception when using URI editor for PYRO addresses
Edouard Tisserant
parents:
2537
diff
changeset
|
44 |
if fields['ID']: |
c8cb60bf6c6a
Fixed exception when using URI editor for PYRO addresses
Edouard Tisserant
parents:
2537
diff
changeset
|
45 |
template += "#{ID}" |
2329
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
46 |
|
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
47 |
return template.format(**fields) |
e5703dc8848e
URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents:
2182
diff
changeset
|
48 |
return '' |