mirror of
https://github.com/tuna/tunasync.git
synced 2025-06-15 14:12:47 +00:00
add upstream url to status file
This commit is contained in:
parent
1f00ce570b
commit
f9c7da5ba7
@ -13,32 +13,42 @@ class StatusManager(object):
|
|||||||
|
|
||||||
def init_mirrors(self):
|
def init_mirrors(self):
|
||||||
mirrors = {}
|
mirrors = {}
|
||||||
try:
|
for name, cfg in self.parent.mirrors.iteritems():
|
||||||
with open(self.dbfile) as f:
|
|
||||||
_mirrors = json.load(f)
|
|
||||||
for m in _mirrors:
|
|
||||||
mirrors[m["name"]] = m
|
|
||||||
except:
|
|
||||||
for name, _ in self.parent.mirrors.iteritems():
|
|
||||||
mirrors[name] = {
|
mirrors[name] = {
|
||||||
'name': name,
|
'name': name,
|
||||||
'last_update': '-',
|
'last_update': '-',
|
||||||
'status': 'unknown',
|
'status': 'unknown',
|
||||||
|
'upstream': cfg.upstream or '-',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try:
|
||||||
|
with open(self.dbfile) as f:
|
||||||
|
_mirrors = json.load(f)
|
||||||
|
for m in _mirrors:
|
||||||
|
name = m["name"]
|
||||||
|
mirrors[name]["last_update"] = m["last_update"]
|
||||||
|
mirrors[name]["status"] = m["status"]
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
self.mirrors = mirrors
|
self.mirrors = mirrors
|
||||||
|
|
||||||
def get_info(self, name, key):
|
def get_info(self, name, key):
|
||||||
_m = self.mirrors.get(name, {})
|
_m = self.mirrors.get(name, {})
|
||||||
return _m.get(key, None)
|
return _m.get(key, None)
|
||||||
|
|
||||||
def update_info(self, name, key, value):
|
def refresh_mirror(self, name):
|
||||||
|
cfg = self.parent.mirrors.get(name, None)
|
||||||
|
if cfg is None:
|
||||||
|
return
|
||||||
_m = self.mirrors.get(name, {
|
_m = self.mirrors.get(name, {
|
||||||
'name': name,
|
'name': name,
|
||||||
'last_update': '-',
|
'last_update': '-',
|
||||||
'status': '-',
|
'status': '-',
|
||||||
})
|
})
|
||||||
_m[key] = value
|
_m['upstream'] = cfg.upstream or '-'
|
||||||
self.mirrors[name] = dict(_m.items())
|
self.mirrors[name] = dict(_m.items())
|
||||||
|
self.commit_db()
|
||||||
|
|
||||||
def update_status(self, name, status):
|
def update_status(self, name, status):
|
||||||
|
|
||||||
@ -59,10 +69,8 @@ class StatusManager(object):
|
|||||||
_m['status'] = status
|
_m['status'] = status
|
||||||
self.mirrors[name] = dict(_m.items())
|
self.mirrors[name] = dict(_m.items())
|
||||||
|
|
||||||
with open(self.dbfile, 'wb') as f:
|
self.commit_db()
|
||||||
_mirrors = self.list_status()
|
|
||||||
print("Updated status file, {}:{}".format(name, status))
|
print("Updated status file, {}:{}".format(name, status))
|
||||||
json.dump(_mirrors, f, indent=2, separators=(',', ':'))
|
|
||||||
|
|
||||||
def list_status(self, _format=False):
|
def list_status(self, _format=False):
|
||||||
_mirrors = sorted(
|
_mirrors = sorted(
|
||||||
@ -103,5 +111,9 @@ class StatusManager(object):
|
|||||||
tmpl = "{name} last_update: {last_update} status: {status}"
|
tmpl = "{name} last_update: {last_update} status: {status}"
|
||||||
return tmpl.format(**mir)
|
return tmpl.format(**mir)
|
||||||
|
|
||||||
|
def commit_db(self):
|
||||||
|
with open(self.dbfile, 'wb') as f:
|
||||||
|
_mirrors = self.list_status()
|
||||||
|
json.dump(_mirrors, f, indent=2, separators=(',', ':'))
|
||||||
|
|
||||||
# vim: ts=4 sw=4 sts=4 expandtab
|
# vim: ts=4 sw=4 sts=4 expandtab
|
||||||
|
@ -144,6 +144,7 @@ class TUNASync(object):
|
|||||||
for mirror_opt in self._settings["mirrors"]:
|
for mirror_opt in self._settings["mirrors"]:
|
||||||
name = mirror_opt["name"]
|
name = mirror_opt["name"]
|
||||||
newMirCfg = MirrorConfig(self, mirror_opt)
|
newMirCfg = MirrorConfig(self, mirror_opt)
|
||||||
|
self.status_manager.refresh_mirror(name)
|
||||||
|
|
||||||
if name in self._mirrors:
|
if name in self._mirrors:
|
||||||
if newMirCfg.compare(self._mirrors[name]):
|
if newMirCfg.compare(self._mirrors[name]):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user