connectors/WAMP_dialog.py
author Edouard Tisserant
Mon, 07 Jan 2019 11:33:34 +0100
changeset 2478 733d77bf0aa7
parent 2334 d1470c052662
child 2492 7dd551ac2fa0
permissions -rw-r--r--
Disable MDNS:// scheme support. Also prevent discovery pannel to produce some. For now it seems that that feature is unused, and could be a security issue.
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
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
     9
import wx
2182
eeca1aff0691 Fix linter errors
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2180
diff changeset
    10
2329
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    11
from connectors.SchemeEditor import SchemeEditor
2182
eeca1aff0691 Fix linter errors
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 2180
diff changeset
    12
2329
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    13
Schemes = ["WAMP", "WAMPS"]
2007
ef2d479f564f #2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff changeset
    14
2329
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    15
model = [('host',_("Host:")),
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    16
         ('port',_("Port:")),
2334
d1470c052662 Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents: 2329
diff changeset
    17
         ('realm',_("Realm:"))]
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
class WAMP_dialog(SchemeEditor):
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    20
    def __init__(self, *args, **kwargs):
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    21
        self.model = model
2334
d1470c052662 Added early implementation of IDManager.py. For now only used to select ID in URIEditor
Edouard Tisserant
parents: 2329
diff changeset
    22
        self.EnableIDSelector = True
2329
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    23
        SchemeEditor.__init__(self, *args, **kwargs)
2007
ef2d479f564f #2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff changeset
    24
2329
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    25
    def SetLoc(self, loc):
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    26
        hostport, realm, ID = list(islice(chain(loc.split("#"), repeat("")),3))
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    27
        host, port = list(islice(chain(hostport.split(":"), repeat("")),2))
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    28
        self.SetFields(locals())
2007
ef2d479f564f #2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff changeset
    29
2329
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    30
    def GetLoc(self):
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    31
        fields = self.GetFields()
2007
ef2d479f564f #2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff changeset
    32
2329
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    33
        #TODO : input validation test
2007
ef2d479f564f #2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff changeset
    34
2329
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    35
        template = "{host}" + \
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    36
                   (":{port}" if fields['port'] else '') +\
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    37
                   "#{realm}#{ID}"
2007
ef2d479f564f #2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff changeset
    38
2329
e5703dc8848e URI editor : Rewrote most of it, cleaner.
Edouard Tisserant
parents: 2182
diff changeset
    39
        return template.format(**fields)
2007
ef2d479f564f #2476 Connectors dialog module added.
dporopat <denis.poropat@smarteh.si>
parents:
diff changeset
    40