mirror of
https://github.com/Pardus-LiderAhenk/ahenk
synced 2024-12-22 23:22:16 +03:00
ahenk db service
This commit is contained in:
parent
fbe9b68fe1
commit
a7e729e18a
7 changed files with 114 additions and 23 deletions
|
@ -1,5 +1,6 @@
|
|||
[BASE]
|
||||
logconfigurationfilepath = /etc/ahenk/log.conf
|
||||
dbPath=/etc/ahenk/ahenk.db
|
||||
|
||||
[PLUGIN]
|
||||
pluginfolderpath = /home/volkan/devzone/
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Author: İsmail BAŞARAN <ismail.basaran@tubitak.gov.tr> <basaran.ismaill@gmail.com>
|
||||
|
||||
import configparser,os
|
||||
import os,configparser
|
||||
from os import listdir
|
||||
from os.path import isfile, join
|
||||
from configparser import SafeConfigParser
|
||||
|
@ -15,7 +15,6 @@ class ConfigManager(object):
|
|||
is configuration files folder path
|
||||
"""
|
||||
def __init__(self, configurationFilePath=None, configurationFolderPath=None):
|
||||
super(ConfigManager, self).__init__()
|
||||
self.configurationFilePath = configurationFilePath
|
||||
self.configurationFolderPath = configurationFolderPath
|
||||
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
# Author: İsmail BAŞARAN <ismail.basaran@tubitak.gov.tr> <basaran.ismaill@gmail.com>
|
||||
|
||||
|
||||
class AhenkDao(object):
|
||||
"""
|
||||
Sqlite manager for ahenk
|
||||
"""
|
||||
def __init__(self):
|
||||
super(AhenkDao, self).__init__()
|
83
opt/ahenk/base/database/AhenkDbService.py
Normal file
83
opt/ahenk/base/database/AhenkDbService.py
Normal file
|
@ -0,0 +1,83 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
# Author: İsmail BAŞARAN <ismail.basaran@tubitak.gov.tr> <basaran.ismaill@gmail.com>
|
||||
from base.Scope import Scope
|
||||
import sqlite3
|
||||
|
||||
class AhenkDbService(object):
|
||||
"""
|
||||
Sqlite manager for ahenk
|
||||
"""
|
||||
def __init__(self):
|
||||
scope = Scope.getInstance()
|
||||
self.logger = scope.getLogger()
|
||||
self.configurationManager = scope.getConfigurationManager()
|
||||
self.db_path=self.configurationManager.get("BASE","dbPath")
|
||||
self.connection=None
|
||||
self.cursor = None
|
||||
|
||||
def connect():
|
||||
try:
|
||||
self.connection=sqlite3.connect(self.db_path, check_same_thread=False)
|
||||
self.cursor = self.connection.cursor()
|
||||
except Exception as e:
|
||||
self.logger.error('Database connection error ' + str(e))
|
||||
|
||||
def check_and_create_table(self,table_name,cols):
|
||||
if self.cursor:
|
||||
cols = ', '.join([str(x) for x in cols])
|
||||
self.cursor.execute("create table if not exists "+table_name+" ("+cols+")")
|
||||
else
|
||||
self.warn("Could not create table cursor is None! Table Name : " + str(table_name))
|
||||
|
||||
def update(self, table_name, cols, args, criteria=None):
|
||||
try:
|
||||
if self.connection:
|
||||
if criteria == None:
|
||||
cols = ', '.join([str(x) for x in cols])
|
||||
params = ', '.join(["?" for x in args])
|
||||
sql = "INSERT INTO "+table_name+" ("+cols+") VALUES ("+params+")"
|
||||
self.cursor.execute(sql, tuple(args))
|
||||
else:
|
||||
update_list = ""
|
||||
params = ', '.join(["?" for x in args])
|
||||
for index in range(len(cols)):
|
||||
update_list = update_list + " " + cols[index] +" = ?,"
|
||||
|
||||
update_list = update_list.strip(',')
|
||||
sql = "UPDATE "+table_name+" SET " + update_list + " " + criteria
|
||||
self.cursor.execute(sql, tuple(args))
|
||||
self.connection.commit()
|
||||
else:
|
||||
self.warn("Could not update table cursor is None! Table Name : " + str(table_name))
|
||||
except Exception, e:
|
||||
self.logger.error("Updating table error ! Table Name : " + str(table_name) + " " + str(e))
|
||||
|
||||
def delete(self):
|
||||
sql = "DELETE FROM " + table_name + str(criteria)
|
||||
self.cursor.execute(sql)
|
||||
self.connection.commit()
|
||||
|
||||
def findByProperty(self):
|
||||
# Not implemented yet
|
||||
pass
|
||||
def select(self,table_name, cols="*", criteria="", orderby=""):
|
||||
if self.cursor:
|
||||
try:
|
||||
if not cols == "*":
|
||||
cols = ', '.join([str(x) for x in cols])
|
||||
sql = "SELECT "+cols+" FROM " + table_name + " " + str(criteria) + " " + orderby
|
||||
self.cursor.execute(sql)
|
||||
rows = self.cursor.fetchall()
|
||||
return rows
|
||||
except Exception as e:
|
||||
raise
|
||||
else:
|
||||
self.warn("Could not select table cursor is None! Table Name : " + str(table_name))
|
||||
|
||||
def close(self):
|
||||
try:
|
||||
self.cursor.close()
|
||||
self.connection.close()
|
||||
except Exception as e:
|
||||
self.logger.error("Closing database connection error " + str(e))
|
9
opt/ahenk/base/model/Policy.py
Normal file
9
opt/ahenk/base/model/Policy.py
Normal file
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
# Author: İsmail BAŞARAN <ismail.basaran@tubitak.gov.tr> <basaran.ismaill@gmail.com>
|
||||
import json
|
||||
|
||||
class Policy(object):
|
||||
"""docstring for Policy"""
|
||||
def __init__(self,message):
|
||||
self.message = message
|
|
@ -1,16 +1,26 @@
|
|||
#!/usr/bin/python3
|
||||
# -*- coding: utf-8 -*-
|
||||
# Author: İsmail BAŞARAN <ismail.basaran@tubitak.gov.tr> <basaran.ismaill@gmail.com>
|
||||
import json
|
||||
|
||||
class Task(object):
|
||||
"""docstring for Task"""
|
||||
def __init__(self,message):
|
||||
super(Task, self).__init__()
|
||||
self.payload = json.loads(message)
|
||||
self.request = self.payload[u'request']
|
||||
|
||||
def getPluginId(self):
|
||||
# Not implemented yet
|
||||
pass
|
||||
@property
|
||||
def getPluginName(self):
|
||||
self.request[u'pluginName']
|
||||
|
||||
def getcommandId(self):
|
||||
# Not implemented yet
|
||||
pass
|
||||
@property
|
||||
def getCommandId(self):
|
||||
self.request[u'commandId']
|
||||
|
||||
@property
|
||||
def params(self):
|
||||
self.request[u'parameterMap']
|
||||
|
||||
@property
|
||||
def pluginVersion(self):
|
||||
self.request[u'pluginVersion']
|
||||
|
|
|
@ -11,11 +11,11 @@ class PluginManager(object):
|
|||
#implement logger
|
||||
def __init__(self):
|
||||
super(PluginManager, self).__init__()
|
||||
scope = Scope.getInstance()
|
||||
self.configManager = scope.getConfigurationManager()
|
||||
self.scope = Scope.getInstance()
|
||||
self.configManager = self.scope.getConfigurationManager()
|
||||
self.plugins = []
|
||||
self.pluginQueueDict = dict()
|
||||
self.logger = scope.getLogger()
|
||||
self.logger = self.scope.getLogger()
|
||||
|
||||
def loadPlugins(self):
|
||||
print("loading")
|
||||
|
|
Loading…
Reference in a new issue