[O] Better null safety
This commit is contained in:
+3
-8
@@ -198,12 +198,9 @@ def enable(update: Update, context: CallbackContext):
|
||||
if name not in database.userRequests[user]:
|
||||
return "*Error:* %s doesn't exist." % name
|
||||
|
||||
# Check if name is enabled
|
||||
if scheduler.isStarted(user, name):
|
||||
return "*Error:* %s is already enabled." % name
|
||||
|
||||
# Start task
|
||||
scheduler.start(user, database.userRequests[user][name])
|
||||
if not scheduler.start(user, database.userRequests[user][name]):
|
||||
return "*Error:* %s is already enabled." % name
|
||||
|
||||
return "Started!"
|
||||
|
||||
@@ -218,11 +215,9 @@ def disable(update: Update, context: CallbackContext):
|
||||
|
||||
# Check if name is running
|
||||
name = context.args[0]
|
||||
if not scheduler.isStarted(user, name):
|
||||
if not scheduler.stop(user, name):
|
||||
return "*Error:* %s isn't enabled." % name
|
||||
|
||||
scheduler.stop(user, name)
|
||||
|
||||
return "Removed!"
|
||||
|
||||
|
||||
|
||||
@@ -51,6 +51,10 @@ class Scheduler:
|
||||
|
||||
def start(self, user: str, request):
|
||||
name = request['name']
|
||||
|
||||
if self.isStarted(user, name):
|
||||
return False
|
||||
|
||||
if user not in self.tasks:
|
||||
self.tasks[user] = {}
|
||||
|
||||
@@ -61,7 +65,12 @@ class Scheduler:
|
||||
request['enabled'] = True
|
||||
self.database.save()
|
||||
|
||||
return True
|
||||
|
||||
def stop(self, user: str, name: str):
|
||||
if not self.isStarted(user, name):
|
||||
return False
|
||||
|
||||
# Stop and remove task
|
||||
job = self.tasks[user][name]
|
||||
job.enabled = False
|
||||
@@ -70,6 +79,8 @@ class Scheduler:
|
||||
self.database.userRequests[user][name]['enabled'] = False
|
||||
self.database.save()
|
||||
|
||||
return True
|
||||
|
||||
def isStarted(self, user: str, name: str):
|
||||
return user in self.tasks and name in self.tasks[user]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user