Skip to content

Commit 8198e09

Browse files
committed
fix
1 parent 45e0bce commit 8198e09

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

coderbot/activity.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import logging
12
from tinydb import TinyDB, Query
23
from threading import Lock
34
from datetime import datetime
@@ -29,11 +30,16 @@ def __init__(self):
2930
self.activities = TinyDB("data/activities.json")
3031
self.query = Query()
3132
self.lock = Lock()
33+
self.permanentlyRemoveDeletedActivities()
3234

33-
def load(self, name, default):
35+
def load(self, name, default, active_only=True):
3436
with self.lock:
3537
if name and default is None:
36-
activities = self.activities.search(self.query.name == name)
38+
activities = []
39+
if active_only:
40+
self.activities.search((self.query.name == name) & (self.query.status == ACTIVITY_STATUS_ACTIVE))
41+
else:
42+
self.activities.search(self.query.name == name)
3743
if len(activities) > 0:
3844
return activities[0]
3945
elif default is not None:
@@ -66,7 +72,16 @@ def delete(self, name, logical = True):
6672
else:
6773
self.activities.remove(self.query.name == activity["name"])
6874

75+
def permanentlyRemoveDeletedActivities(self):
76+
for a in self.list(active_only=False):
77+
logging.info("checking: " + a["name"])
78+
if a["status"] == ACTIVITY_STATUS_DELETED:
79+
logging.info("deleting: " + a["name"])
80+
self.delete(a["name"], logical=False)
6981

7082
def list(self, active_only = True):
7183
with self.lock:
72-
return self.activities.search(self.query.status == ACTIVITY_STATUS_ACTIVE)
84+
if active_only:
85+
return self.activities.search(self.query.status == ACTIVITY_STATUS_ACTIVE)
86+
else:
87+
return self.activities.all()

0 commit comments

Comments
 (0)