Odyssey
Public Member Functions | Public Attributes | List of all members
ody_migr_db_handler.PGSession Class Reference

Public Member Functions

def __init__ (self)
 
def __enter__ (self)
 
def __exit__ (self, exception_type, exception_value, _traceback)
 

Public Attributes

 conn
 

Detailed Description

Context manager for PG database connection

TODO: investigate connection pooling:
http://initd.org/psycopg/docs/pool.html

Definition at line 27 of file ody_migr_db_handler.py.

Constructor & Destructor Documentation

◆ __init__()

def ody_migr_db_handler.PGSession.__init__ (   self)
initialize database manager

Definition at line 34 of file ody_migr_db_handler.py.

34  def __init__(self):
35  """initialize database manager"""
36  self.conn = None
37 

Member Function Documentation

◆ __enter__()

def ody_migr_db_handler.PGSession.__enter__ (   self)
open database connection

Definition at line 38 of file ody_migr_db_handler.py.

38  def __enter__(self):
39  """open database connection"""
40  try:
41  self.conn = psycopg2.connect(("host={} dbname={} "
42  "user={} password={}")
43  .format(
44  PG_DB_HOST,
45  PG_DB_NAME,
46  PG_DB_USER,
47  PG_DB_PWD
48  ))
49  return self.conn
50 
51  except psycopg2.OperationalError as err:
52  raise SystemExit("Unable to connect!{}".format(err))
53 

◆ __exit__()

def ody_migr_db_handler.PGSession.__exit__ (   self,
  exception_type,
  exception_value,
  _traceback 
)
close database connection

Definition at line 54 of file ody_migr_db_handler.py.

54  def __exit__(self, exception_type, exception_value, _traceback):
55  """close database connection"""
56  if exception_type:
57  LOGGER.error(exception_value)
58  if self.conn is not None:
59  self.conn.close()
60 
61 
62 # DATABASE UTILITIES
63 

The documentation for this class was generated from the following file: