Skip to content

Commit 0d89a0d

Browse files
committed
fixed collection naming
1 parent 5038766 commit 0d89a0d

File tree

3 files changed

+16
-12
lines changed

3 files changed

+16
-12
lines changed

pyspider/database/couchdb/couchdbbase.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ def _list_project(self):
4141
def create_database(self, name):
4242
url = self.base_url + name
4343
res = requests.put(url, headers={"Content-Type": "application/json"}).json()
44-
if name == "test_create_project":
45-
raise Exception
4644
print('[couchdbbase create_database] - url: {} res: {}'.format(url, res))
4745
return res
4846

pyspider/database/couchdb/resultdb.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,11 @@ def __init__(self, url, database='resultdb'):
1313
self.database = database
1414
self.create_database(database)
1515

16+
def _get_collection_name(self, project):
17+
return self.database + "_" + self._collection_name(project)
18+
1619
def _create_project(self, project):
17-
collection_name = self._collection_name(project)
20+
collection_name = self._get_collection_name(project)
1821
self.create_database(collection_name)
1922
#self.database[collection_name].ensure_index('taskid')
2023
self._list_project()
@@ -34,7 +37,7 @@ def _stringify(self, data):
3437
def save(self, project, taskid, url, result):
3538
if project not in self.projects:
3639
self._create_project(project)
37-
collection_name = self._collection_name(project)
40+
collection_name = self._get_collection_name(project)
3841
obj = {
3942
'taskid': taskid,
4043
'url': url,
@@ -53,7 +56,7 @@ def select(self, project, fields=None, offset=0, limit=0):
5356
return
5457
offset = offset or 0
5558
limit = limit or 0
56-
collection_name = self._collection_name(project)
59+
collection_name = self._get_collection_name(project)
5760
if fields is None:
5861
fields = []
5962
if limit == 0:
@@ -79,7 +82,7 @@ def count(self, project):
7982
self._list_project()
8083
if project not in self.projects:
8184
return
82-
collection_name = self._collection_name(project)
85+
collection_name = self._get_collection_name(project)
8386
return len(self.get_all_docs(collection_name))
8487
#return self.database[collection_name].count()
8588

@@ -88,7 +91,7 @@ def get(self, project, taskid, fields=None):
8891
self._list_project()
8992
if project not in self.projects:
9093
return
91-
collection_name = self._collection_name(project)
94+
collection_name = self._get_collection_name(project)
9295
if fields is None:
9396
fields = []
9497
sel = {

pyspider/database/couchdb/taskdb.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ def __init__(self, url, database='taskdb'):
1616
self.projects = set()
1717
self._list_project()
1818

19+
def _get_collection_name(self, project):
20+
return self.database + "_" + self._collection_name(project)
21+
1922
def _create_project(self, project):
20-
collection_name = self._collection_name(project)
23+
collection_name = self._get_collection_name(project)
2124
self.create_database(collection_name)
2225
#self.database[collection_name].ensure_index('status')
2326
#self.database[collection_name].ensure_index('taskid')
@@ -37,7 +40,7 @@ def load_tasks(self, status, project=None, fields=None):
3740
projects = self.projects
3841

3942
for project in projects:
40-
collection_name = self._collection_name(project)
43+
collection_name = self._get_collection_name(project)
4144
for task in self.get_docs(collection_name, {"selector": {"status": status}, "fields": fields}):
4245
#for task in self.database[collection_name].find({'status': status}, fields):
4346
print("[couchdb taskdb load_tasks] status: {} project: {} fields: {} res: {}".format(status, project, fields, task))
@@ -51,7 +54,7 @@ def get_task(self, project, taskid, fields=None):
5154
return
5255
if fields is None:
5356
fields = []
54-
collection_name = self._collection_name(project)
57+
collection_name = self._get_collection_name(project)
5558
ret = self.get_docs(collection_name, {"selector": {"taskid": taskid}, "fields": fields})
5659
#ret = self.database[collection_name].find_one({'taskid': taskid}, fields)
5760
if len(ret) == 0:
@@ -63,7 +66,7 @@ def status_count(self, project):
6366
self._list_project()
6467
if project not in self.projects:
6568
return {}
66-
collection_name = self._collection_name(project)
69+
collection_name = self._get_collection_name(project)
6770

6871
def _count_for_status(collection_name, status):
6972
total = len(self.get_docs(collection_name, {"selector": {'status': status}}))
@@ -95,7 +98,7 @@ def update(self, project, taskid, obj={}, **kwargs):
9598
obj = dict(obj)
9699
obj.update(kwargs)
97100
obj['updatetime'] = time.time()
98-
collection_name = self._collection_name(project)
101+
collection_name = self._get_collection_name(project)
99102
return self.update_doc(collection_name, taskid, obj)
100103

101104
def drop_database(self):

0 commit comments

Comments
 (0)