ソースを参照

add list nodes to mongodb driver

oz123 10 年 前
コミット
448c2b579a
2 ファイル変更7 行追加2 行削除
  1. 7 1
      pwman/data/drivers/mongodb.py
  2. 0 1
      tests/test_mongodb.py

+ 7 - 1
pwman/data/drivers/mongodb.py

@@ -63,7 +63,13 @@ class MongoDB(Database):
         return nodes
 
     def listnodes(self, filter=None):
-        pass
+        if not filter:
+            nodes = self._db.nodes.find({}, {'_id': 1})
+
+        else:
+            nodes = self._db.nodes.find({"tags": {'$in': [filter]}}, {'_id': 1})
+
+        return [node['_id'] for node in list(nodes)]
 
     def add_node(self, node):
         nid = self._get_next_node_id()

+ 0 - 1
tests/test_mongodb.py

@@ -80,7 +80,6 @@ class TestMongoDB(unittest.TestCase):
         outnode = self.db.getnodes([1])[0]
         self.assertEqual(innode[:-1] + [t for t in innode[-1]], outnode[1:])
 
-    @unittest.skip("")
     def test_6_list_nodes(self):
         ret = self.db.listnodes()
         self.assertEqual(ret, [1])