def duplicate(self, message, chat, apiBot): """ Function description. :type message: string :type chat: int """ if message.isdigit(): task_id = int(message) try: task = self.find_task(task_id, chat) except sqlalchemy.orm.exc.NoResultFound: self.id_error_message(message, chat, apiBot) return duplicated_task = Task(chat=task.chat, name=task.name, status=task.status, dependencies=task.dependencies, parents=task.parents, priority=task.priority, duedate=task.duedate) db.session.add(duplicated_task) for dependent_task_id in task.dependencies.split(',')[:-1]: dependent_task = self.find_task(dependent_task_id, chat) dependent_task.parents += '{},'.format(duplicated_task.id) issue = repository.create_issue(duplicated_task.name) duplicated_task.issue_number = issue.number db.session.commit() apiBot.send_message( "New task *TODO* [[{}]] {}".format(duplicated_task.id, duplicated_task.name), chat) else: self.id_error_message(message, chat, apiBot)
def new(self, message, chat, apiBot): """ Function description. :type message: string :type chat: int """ task = Task(chat=chat, name=message, status='TODO', dependencies='', parents='', priority='low', duedate=datetime.date(2100, 12, 12)) issue = repository.create_issue(message) task.issue_number = issue.number db.session.add(task) db.session.commit() apiBot.send_message( "New task *TODO* [[{}]] {}".format(task.id, task.name), chat)