author | dporopat <denis.poropat@smarteh.si> |
Wed, 09 May 2018 15:09:54 +0200 | |
branch | #2476 |
changeset 2006 | c4ba142bf3fb |
permissions | -rw-r--r-- |
2006
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
1 |
from __future__ import absolute_import |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
2 |
from os import listdir, path |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
3 |
import util.paths as paths |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
4 |
|
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
5 |
_base_path = paths.AbsDir(__file__) |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
6 |
|
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
7 |
|
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
8 |
def _GetLocalConnectorClassDialog(name): |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
9 |
return lambda: getattr(__import__(name, globals(), locals()), name + "_connector_dialog") |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
10 |
|
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
11 |
def _GetLocalConnectorURITypes(name): |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
12 |
return lambda: getattr(__import__(name, globals(), locals()), "URITypes", None) |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
13 |
|
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
14 |
connectors_dialog = {name: |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
15 |
{"function":_GetLocalConnectorClassDialog(name), "URITypes": _GetLocalConnectorURITypes(name)} |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
16 |
for name in listdir(_base_path) |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
17 |
if (path.isdir(path.join(_base_path, name)) and |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
18 |
not name.startswith("__"))} |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
19 |
|
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
20 |
def ConnectorDialog(type, confnodesroot): |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
21 |
if type not in connectors_dialog: |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
22 |
return None |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
23 |
|
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
24 |
connectorclass = connectors_dialog[type]["function"]() |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
25 |
return connectorclass(confnodesroot) |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
26 |
|
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
27 |
def GetConnectorFromURI(uri): |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
28 |
typeOfConnector = None |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
29 |
for t in connectors_dialog: |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
30 |
connectorTypes = connectors_dialog[t]["URITypes"]() |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
31 |
if connectorTypes and uri in connectorTypes: |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
32 |
typeOfConnector = t |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
33 |
break |
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
34 |
|
c4ba142bf3fb
#2476 Separate connectors dialogs from connectors module.
dporopat <denis.poropat@smarteh.si>
parents:
diff
changeset
|
35 |
return typeOfConnector |