David Blume commited on 2016-09-11 01:23:13
Showing 1 changed files, with 5 additions and 20 deletions.
... | ... |
@@ -56,7 +56,6 @@ if __name__ == '__main__': |
56 | 56 |
localdir = os.path.abspath(os.path.dirname(sys.argv[0])) |
57 | 57 |
args = cgi.FieldStorage() |
58 | 58 |
key = None |
59 |
- extra = None |
|
60 | 59 |
auth = None |
61 | 60 |
get_key = False |
62 | 61 |
auth_in_get = False |
... | ... |
@@ -83,28 +82,13 @@ if __name__ == '__main__': |
83 | 82 |
if not auth_in_get and "auth" in args: |
84 | 83 |
auth = args["auth"].value |
85 | 84 |
|
86 |
- if "extra" in args: |
|
87 |
- extra = args["extra"].value |
|
88 |
- |
|
89 | 85 |
store = read_file(os.path.join(localdir, store_name)) |
90 | 86 |
if get_key: |
91 | 87 |
keys = key.split(',') |
92 |
- if len(keys) > 1: |
|
93 |
- devices = set() |
|
94 |
- for k in store: |
|
95 |
- d = store[k] |
|
96 |
- if k in keys: |
|
97 |
- devices.add((d['time'], key, d['value'])) |
|
98 |
- if devices: # not empty |
|
99 |
- print "Content-type: text/plain; charset=utf-8\n" |
|
100 |
- sys.stdout.write(sorted(devices, reverse=True)[0][2]) |
|
101 |
- else: |
|
102 |
- print 'Status: 404 Not Found\n' |
|
103 |
- elif key in store: |
|
88 |
+ matches = sorted([(store[x]['time'], store[x]['value']) for x in keys if x in store], reverse=True) |
|
89 |
+ if matches: |
|
104 | 90 |
print "Content-type: text/plain; charset=utf-8\n" |
105 |
- sys.stdout.write(store[key]['value']) |
|
106 |
- if extra is not None: |
|
107 |
- sys.stdout.write('\n%s' % (store[key]['time'],)) |
|
91 |
+ sys.stdout.write(matches[0][1]) |
|
108 | 92 |
else: |
109 | 93 |
print 'Status: 404 Not Found\n' |
110 | 94 |
else: |
... | ... |
@@ -113,7 +97,7 @@ if __name__ == '__main__': |
113 | 97 |
authorization = f.read().strip() |
114 | 98 |
if doing_post and auth == authorization: |
115 | 99 |
for new_key in args: |
116 |
- if new_key not in ('auth', 'extra') and \ |
|
100 |
+ if new_key not in ('auth', ) and \ |
|
117 | 101 |
len(new_key) < 80 and len(args[new_key].value) < 140: |
118 | 102 |
if new_key in store and 'created' in store[new_key]: |
119 | 103 |
created_time = store[new_key]['created'] |
... | ... |
@@ -163,6 +147,7 @@ if __name__ == '__main__': |
163 | 147 |
print 'Tip:' |
164 | 148 |
print 'sync_ip () { export ENV_VAR=$(curl -s "%s?k=2FN50L002036,2FN44N010911"); }' % os.environ['SCRIPT_URI'] |
165 | 149 |
print 'curl --data "`hostname -s`=`hostname -i`&auth=$AUTH" "%s"' % os.environ['SCRIPT_URI'] |
150 |
+ print 'Source code at http://git.dlma.com/kvs.git/' |
|
166 | 151 |
|
167 | 152 |
if not wrote_response: |
168 | 153 |
print 'Status: 400 Bad Request\n' |
169 | 154 |