Skip to content

Commit efd0d6d

Browse files
committed
pytest
1 parent 7e06594 commit efd0d6d

3 files changed

Lines changed: 18 additions & 5 deletions

File tree

dcoraid/dbmodel/db_api_cached.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ def search_dataset(self, query="", limit=100):
125125
"""
126126
return DBExtract(self._mc.search(query, limit))
127127

128-
def update(self, reset=False, abort_event=None):
128+
def update(self, reset=False, abort_event=None, callback=None):
129129
"""Update the local metadata cache based on the last local timestamp"""
130130
# Clear the fleeting cache.
131131
self._cache_fleeting.clear()
@@ -137,19 +137,29 @@ def update(self, reset=False, abort_event=None):
137137
self._mc.reset()
138138

139139
# Call these methods now so they reflect the current database state.
140-
self.get_circles()
141-
self.get_collections()
140+
circles = self.get_circles()
141+
collections = self.get_collections()
142142

143143
new_timestamp = time.time()
144144

145-
for cdict in self.get_circles():
145+
datasets_new = 0
146+
147+
for cdict in circles:
148+
if callback is not None:
149+
callback({
150+
"circles": circles,
151+
"collections": collections,
152+
"datasets_new": datasets_new,
153+
"circle_current": cdict,
154+
})
146155
logger.info(f"Fetching dataset from circle {cdict['name']}")
147156
dbe = self.ai.search_dataset_via_api(
148157
since_time=self.local_timestamp,
149158
circles=[cdict["name"]],
150159
limit=0,
151160
ret_db_extract=False,
152161
)
162+
datasets_new += len(dbe)
153163
if abort_event and abort_event.is_set():
154164
break
155165
self._mc.upsert_many(dbe, org_id=cdict["id"])

dcoraid/gui/main.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,10 @@ def check_update_database(self, reset=False, force=False):
212212
prog.setModal(True)
213213
prog.show()
214214

215+
216+
def prog_update_callback(circle_name, num_circles, num_datasets)
217+
218+
215219
thr = threading.Thread(target=self.database.update,
216220
args=(reset, abort_event))
217221
thr.start()

tests/conftest.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88

99
from PyQt6 import QtCore
1010
from PyQt6.QtCore import QStandardPaths
11-
import pytest
1211

1312
from dcoraid.api import APIConflictError
1413

0 commit comments

Comments
 (0)