41 lines
1.3 KiB
Python
41 lines
1.3 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')
|
|
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 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 |