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