Bladeren bron

server: support /list?sort=name|id

Helge Jung 9 jaren geleden
bovenliggende
commit
4812373f81
1 gewijzigde bestanden met toevoegingen van 10 en 1 verwijderingen
  1. 10 1
      ffstatus/server.py

+ 10 - 1
ffstatus/server.py

@@ -91,7 +91,16 @@ class BatcaveHttpRequestHandler(BaseHTTPRequestHandler):
 		self.wfile.write('<thead><tr><th>ID</th><th>Name</th></tr></thead>\n')
 		self.wfile.write('<tbody>\n')
 
-		for nodeid in storage.data:
+		data = storage.data
+		if 'sort' in query:
+			if query['sort'] == 'name':
+				sorteddata = sorted(data, key=lambda x: data[x]['hostname'].lower())
+				data = sorteddata
+			elif query['sort'] == 'id':
+				sorteddata = sorted(data)
+				data = sorteddata
+
+		for nodeid in data:
 			nodename = storage.data[nodeid]['hostname'] if 'hostname' in storage.data[nodeid] else '&lt;?&gt;'
 			self.wfile.write('<tr><td><a href="/node/' + nodeid + '.json">' + nodeid + '</a></td><td>' + nodename + '</td></tr>')