51 lines
1014 B
Python
51 lines
1014 B
Python
# standard imports
|
|
import os
|
|
import json
|
|
|
|
# local imports
|
|
from .base import *
|
|
|
|
|
|
class Network(Data):
|
|
|
|
def __init__(self, path='.'):
|
|
super(Network, self).__init__()
|
|
self.references = None
|
|
self.path = path
|
|
self.network_path = os.path.join(self.path, 'network.json')
|
|
|
|
|
|
def load(self):
|
|
super(Network, self).load()
|
|
|
|
f = open(self.network_path, 'r')
|
|
o = json.load(f)
|
|
f.close()
|
|
|
|
self.references = o['references']
|
|
|
|
self.inited = True
|
|
|
|
|
|
def start(self):
|
|
super(Network, self).load()
|
|
|
|
f = open(self.network_path, 'w')
|
|
json.dump({'references': {}}, f)
|
|
f.close()
|
|
|
|
|
|
def reference(self, k):
|
|
v = self.references.get(k)
|
|
if v == None:
|
|
raise AttributeError('no defined reference for {}'.format(k))
|
|
return v
|
|
|
|
|
|
def __str__(self):
|
|
s = ''
|
|
for k in self.references.keys():
|
|
s += '[ref] {}: {}'.format(k, self.references[k])
|
|
|
|
return s
|