diff --git a/.gitignore b/.gitignore index b6e4761..0701d5b 100644 --- a/.gitignore +++ b/.gitignore @@ -127,3 +127,6 @@ dmypy.json # Pyre type checker .pyre/ + +# configuration files +*.ini diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/main.py b/src/main.py new file mode 100644 index 0000000..23d2544 --- /dev/null +++ b/src/main.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python + +from utils.databaseConnect import connect + +if __name__=='__main__': + connect() \ No newline at end of file diff --git a/src/utils/databaseConfig.py b/src/utils/databaseConfig.py new file mode 100644 index 0000000..cd24a93 --- /dev/null +++ b/src/utils/databaseConfig.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python + +from configparser import ConfigParser + +def config(filename='configuration/database.ini', section='postgresql'): + parser = ConfigParser() + parser.read(filename) + + db = {} + if parser.has_section(section): + params = parser.items(section) + for param in params: + db[param[0]] = param[1] + else: + raise Exception('Section {0} not found in the {1} file'.format(section, filename)) + + return db \ No newline at end of file diff --git a/src/utils/databaseConnect.py b/src/utils/databaseConnect.py new file mode 100644 index 0000000..5b44d29 --- /dev/null +++ b/src/utils/databaseConnect.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python + +import psycopg2 +from utils.databaseConfig import config + +def connect(): + """ Connect to the PostgreSQL database server """ + conn = None + try: + # read connection parameters + params = config() + + # connect to the PostgreSQL server + print('Connecting to the PostgreSQL database...') + conn = psycopg2.connect(**params) + + # create a cursor + cur = conn.cursor() + + # execute a statement + print('PostgreSQL database version:') + cur.execute('SELECT version()') + + # display the PostgreSQL database server version + db_version = cur.fetchone() + print(db_version) + + # close the communication with the PostgreSQL + cur.close() + except (Exception, psycopg2.DatabaseError) as error: + print(error) + finally: + if conn is not None: + conn.close() + print('Database connection closed.') \ No newline at end of file diff --git a/test/__init__.py b/test/__init__.py new file mode 100644 index 0000000..e69de29