Skip to content

Commit 703ab4a

Browse files
committed
Storing server state
1 parent 3750d54 commit 703ab4a

File tree

2 files changed

+30
-8
lines changed

2 files changed

+30
-8
lines changed

net/__main__.py

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
import json
12
from net import lib
23
from sys import argv
34
from time import time
4-
from json import dumps
5+
from os.path import isfile
56
from SocketServer import TCPServer, BaseRequestHandler
67

78

@@ -12,22 +13,38 @@ class Memory(object):
1213
complete = False
1314
start = None
1415

16+
def __init__(self, **kwargs):
17+
self.__dict__.update(kwargs)
18+
1519
def __repr__(self):
1620
return str(self.__dict__)
1721

1822

23+
STORE = 'data.json'
24+
25+
1926
class MyServer(TCPServer):
2027
data = dict()
2128
processing = 1
2229

30+
def __init__(self, *args, **kwargs):
31+
TCPServer.__init__(self, *args, **kwargs)
32+
if isfile(STORE):
33+
print 'Found previous run on disk. Loading + Restoring...'
34+
with open(STORE, 'r') as data:
35+
memories = json.load(data)
36+
for key, value in memories.iteritems():
37+
memories[key] = Memory(**value)
38+
self.data = memories
39+
2340
def save(self):
24-
# TODO: store data to disk
25-
print dumps(
26-
{
27-
key: value.__dict__
28-
for key, value in self.data.iteritems()
29-
}, indent=4
30-
)
41+
data = {
42+
key: value.__dict__
43+
for key, value in self.data.iteritems()
44+
}
45+
print json.dumps(data, indent=4)
46+
with open(STORE, 'w') as file:
47+
json.dump(data, file, indent=4)
3148

3249

3350
class MyTCPHandler(BaseRequestHandler):

src/data/badges/badges.score.p

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
(dp0
2+
S':badges-0'
3+
p1
4+
F1963.9724515975724
5+
s.

0 commit comments

Comments
 (0)