Rev1754, Don't reload domain database on very request
This commit is contained in:
parent
a5290288c7
commit
bbbfffd1cb
2 changed files with 16 additions and 4 deletions
|
@ -1,5 +1,6 @@
|
||||||
import logging
|
import logging
|
||||||
import re
|
import re
|
||||||
|
import time
|
||||||
|
|
||||||
from Config import config
|
from Config import config
|
||||||
from Plugin import PluginManager
|
from Plugin import PluginManager
|
||||||
|
@ -12,6 +13,8 @@ log = logging.getLogger("ZeronamePlugin")
|
||||||
@PluginManager.registerTo("SiteManager")
|
@PluginManager.registerTo("SiteManager")
|
||||||
class SiteManagerPlugin(object):
|
class SiteManagerPlugin(object):
|
||||||
site_zeroname = None
|
site_zeroname = None
|
||||||
|
db_domains = None
|
||||||
|
db_domains_modified = None
|
||||||
|
|
||||||
def load(self, *args, **kwargs):
|
def load(self, *args, **kwargs):
|
||||||
super(SiteManagerPlugin, self).load(*args, **kwargs)
|
super(SiteManagerPlugin, self).load(*args, **kwargs)
|
||||||
|
@ -35,9 +38,18 @@ class SiteManagerPlugin(object):
|
||||||
domain = domain.lower()
|
domain = domain.lower()
|
||||||
if not self.site_zeroname:
|
if not self.site_zeroname:
|
||||||
self.site_zeroname = self.need(config.bit_resolver)
|
self.site_zeroname = self.need(config.bit_resolver)
|
||||||
self.site_zeroname.needFile("data/names.json", priority=10)
|
|
||||||
db = self.site_zeroname.storage.loadJson("data/names.json")
|
site_zeroname_modified = self.site_zeroname.content_manager.contents.get("content.json", {}).get("modified", 0)
|
||||||
return db.get(domain)
|
if not self.db_domains or self.db_domains_modified != site_zeroname_modified:
|
||||||
|
self.site_zeroname.needFile("data/names.json", priority=10)
|
||||||
|
s = time.time()
|
||||||
|
self.db_domains = self.site_zeroname.storage.loadJson("data/names.json")
|
||||||
|
log.debug(
|
||||||
|
"Domain db with %s entries loaded in %.3fs (modification: %s -> %s)" %
|
||||||
|
(len(self.db_domains), time.time() - s, self.db_domains_modified, site_zeroname_modified)
|
||||||
|
)
|
||||||
|
self.db_domains_modified = site_zeroname_modified
|
||||||
|
return self.db_domains.get(domain)
|
||||||
|
|
||||||
# Return or create site and start download site files
|
# Return or create site and start download site files
|
||||||
# Return: Site or None if dns resolve failed
|
# Return: Site or None if dns resolve failed
|
||||||
|
|
|
@ -9,7 +9,7 @@ class Config(object):
|
||||||
|
|
||||||
def __init__(self, argv):
|
def __init__(self, argv):
|
||||||
self.version = "0.5.1"
|
self.version = "0.5.1"
|
||||||
self.rev = 1751
|
self.rev = 1754
|
||||||
self.argv = argv
|
self.argv = argv
|
||||||
self.action = None
|
self.action = None
|
||||||
self.config_file = "zeronet.conf"
|
self.config_file = "zeronet.conf"
|
||||||
|
|
Loading…
Reference in a new issue