52 lines
1.5 KiB
Python
52 lines
1.5 KiB
Python
import sqlite3
|
|
import os
|
|
import argparse
|
|
import json
|
|
import getpass
|
|
import datetime
|
|
import logging
|
|
import action
|
|
|
|
class Action:
|
|
def __init__(self, row):
|
|
if not row:
|
|
logging.debug('Action - empty row')
|
|
# TODO
|
|
# raise Exception('No action found - database need to be initialized.')
|
|
else:
|
|
logging.debug('Action - fill fields')
|
|
self.project_id, self.task_id, self.note_id = row
|
|
|
|
def __str__(self):
|
|
return str(self.__dict__)
|
|
|
|
def handle_action(args, last_action, conn):
|
|
logging.info('>> handle action')
|
|
query = 'SELECT * FROM action;'
|
|
cursor = conn.cursor()
|
|
cursor.execute(query)
|
|
for row in cursor.fetchall():
|
|
result = row
|
|
logging.debug(result)
|
|
|
|
|
|
def create_action(cursor, project_id = '', task_id = '', note_id = '', message = ''):
|
|
query = """
|
|
INSERT INTO action (project_id, task_id, note_id, username, message, created_at)
|
|
VALUES (?, ?, ?, ?, ?, ?);
|
|
"""
|
|
|
|
cursor.execute(query, (project_id, task_id, note_id, getpass.getuser(), message, datetime.datetime.now(),))
|
|
|
|
logging.debug('created action')
|
|
|
|
def read_last_action(conn):
|
|
logging.info('> last_action')
|
|
# query = 'SELECT * FROM action WHERE id = (SELECT MAX(id) FROM action'
|
|
# query = 'SELECT project_id, task_id, note_id FROM action'
|
|
query = 'SELECT project_id, task_id, note_id FROM action ORDER BY id DESC LIMIT 1;'
|
|
|
|
cursor = conn.cursor()
|
|
cursor.execute(query)
|
|
last_action = Action(cursor.fetchone())
|
|
return last_action |