From 0ca1833deeb1000e64aa5fa759e5bf4ea051be9d Mon Sep 17 00:00:00 2001 From: Mariana Marasoiu Date: Tue, 9 Aug 2011 13:17:13 +0300 Subject: [PATCH] ppf: Add configuration file for database connection. Modify DatabaseAccess.py to use config file. --- ppf/db-mysql/DatabaseAccess.py | 39 +++++++++++++++++++++++++--------- ppf/db-mysql/database.cnf | 10 +++++++++ 2 files changed, 39 insertions(+), 10 deletions(-) create mode 100644 ppf/db-mysql/database.cnf diff --git a/ppf/db-mysql/DatabaseAccess.py b/ppf/db-mysql/DatabaseAccess.py index 2e10578..9f18c5e 100644 --- a/ppf/db-mysql/DatabaseAccess.py +++ b/ppf/db-mysql/DatabaseAccess.py @@ -3,6 +3,7 @@ import sys import MySQLdb import os.path +import yaml DEBUG = False @@ -19,17 +20,34 @@ class DatabaseAccess: """ operators={'eq':'=', 'neq':'<>', 'gt':'>', 'gte':'>=', 'lt':'<', 'lte':'<=', 'lk':'LIKE'} - def __init__ (self, dbname): - self.dbname = dbname + def __init__ (self, dbconf): + self.dbconf = dbconf def connect(self): -# if not os.path.isfile(self.dbname): -# return False - self.conn = MySQLdb.Connection(db = self.dbname, - user = "root", - passwd = "p2p4th3m42232") - self.cursor = self.conn.cursor() - return True + if not os.path.isfile(self.dbconf): + print("Configuration file database.cnf doesn't exist!") + return False + f=open("database.cnf") + confMap=yaml.load(f) + f.close() + try: + if ('port' in confMap['configuration']): + self.conn = MySQLdb.Connection(db = confMap['configuration']['database'], + user = confMap['configuration']['username'], + host = confMap['configuration']['hostname'], + passwd = confMap['configuration']['password'], + port = confMap['configuration']['port']) + self.cursor = self.conn.cursor() + return True + else: + self.conn = MySQLdb.Connection(db = confMap['configuration']['database'], + user = confMap['configuration']['username'], + host = confMap['configuration']['hostname'], + passwd = confMap['configuration']['password']) + self.cursor = self.conn.cursor() + return True + except MySQLdb.Error, e: + print "[select] error: ", e.args[0] def disconnect(self): self.cursor.close() @@ -303,7 +321,7 @@ def main(): """ if len(sys.argv) != 2: - print "Usage: python DatabaseAccess dbfile" + print "Usage: python DatabaseAccess dbconf_file" sys.exit(2) dba = DatabaseAccess(sys.argv[1]) @@ -356,3 +374,4 @@ def main(): if __name__ == "__main__": sys.exit(main()) + diff --git a/ppf/db-mysql/database.cnf b/ppf/db-mysql/database.cnf new file mode 100644 index 0000000..4a9a299 --- /dev/null +++ b/ppf/db-mysql/database.cnf @@ -0,0 +1,10 @@ +# Connection configuration file for MySQL database parsers +# Use YAML data serialization standard +# Options: adapter, database, hostname, username, password, port + +configuration: + adapter: mysql + database: p2p_logs_test + hostname: localhost + username: p2p + password: p2pn3xt -- 2.20.1