-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Expand file tree
/
Copy pathSiteManagerPlugin.py
More file actions
73 lines (59 loc) · 2.06 KB
/
SiteManagerPlugin.py
File metadata and controls
73 lines (59 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
from Config import config
from Plugin import PluginManager
from .ENSResolver import ENSResolver
allow_reload = False
@PluginManager.registerTo('SiteManager')
class SiteManagerPlugin:
_ens_resolver = None
@property
def ens_resolver(self):
if not self._ens_resolver:
local = {
'name': 'local',
'providers': config.ens_local_providers,
'enabled': config.ens_use_local,
'instance': None
}
mainnet = {
'name': 'mainnet',
'providers': config.ens_mainnet_providers,
'enabled': config.ens_use_mainnet,
'instance': None
}
ropsten = {
'name': 'ropsten',
'providers': config.ens_ropsten_providers,
'enabled': config.ens_use_ropsten,
'instance': None
}
rinkeby = {
'name': 'rinkeby',
'providers': config.ens_rinkeby_providers,
'enabled': config.ens_use_rinkeby,
'instance': None
}
goerli = {
'name': 'goerli',
'providers': config.ens_goerli_providers,
'enabled': config.ens_use_goerli,
'instance': None
}
networks = [
local,
mainnet,
ropsten,
rinkeby,
goerli
]
self._ens_resolver = ENSResolver(
site_manager=self,
networks=networks
)
return self._ens_resolver
def load(self, *args, **kwargs):
super(SiteManagerPlugin, self).load(*args, **kwargs)
self.ens_resolver.load()
def isDomain(self, address):
return self.ens_resolver.isDomain(address) or super(SiteManagerPlugin, self).isDomain(address)
def resolveDomain(self, domain):
return self.ens_resolver.resolveDomain(domain) or super(SiteManagerPlugin, self).resolveDomain(domain)