Odyssey
Functions | Variables
generate_analog_map Namespace Reference

Functions

def create_analog_map ()
 
def __create_conn__ ()
 
def __query_cu_info__ (conn)
 
def __write_analog_map_rows__ (filename, rows)
 

Variables

 LOGGER = logging.getLogger(__name__)
 
 DATABASE_HOST = os.environ['DATABASE_HOST']
 
 DATABASE_PORT = os.environ['DATABASE_PORT']
 
 DATABASE_NAME = os.environ['DATABASE_NAME']
 
 DATABASE_USER = os.environ['DATABASE_USER']
 
 DATABASE_PASSWORD = os.environ['DATABASE_PASSWORD']
 
string DB_URL
 
 MAP_DIR = os.environ.get('ANALOG_MAP_DIR', '/home/httpd/homecu/stats')
 
 UID = pwd.getpwnam('www-data').pw_uid
 

Detailed Description

Generate map.txt for analog stats parsing

Function Documentation

◆ __create_conn__()

def generate_analog_map.__create_conn__ ( )
Create Database connection

Definition at line 42 of file generate_analog_map.py.

42 def __create_conn__():
43  '''Create Database connection'''
44  return psycopg2.connect(DB_URL)
45 
46 

◆ __query_cu_info__()

def generate_analog_map.__query_cu_info__ (   conn)
Query cuinfo for username and urls

Definition at line 47 of file generate_analog_map.py.

47 def __query_cu_info__(conn):
48  '''Query cuinfo for username and urls'''
49  assert conn
50  with conn.cursor() as cur:
51  cur.execute('SELECT user_name, web_host FROM cuinfo;')
52  return cur.fetchall()
53 
54 

◆ __write_analog_map_rows__()

def generate_analog_map.__write_analog_map_rows__ (   filename,
  rows 
)
Write map.txt with provided rows

Definition at line 55 of file generate_analog_map.py.

55 def __write_analog_map_rows__(filename, rows):
56  '''Write map.txt with provided rows'''
57  with open(filename, 'w') as map_file:
58  for (user_name, web_host) in rows:
59  map_file.write('%s:%s %s' % (user_name.upper(),
60  user_name.lower(),
61  urlparse(web_host).hostname))
62  # write EOF \n
63  map_file.write(os.linesep)
64  return filename
65 

◆ create_analog_map()

def generate_analog_map.create_analog_map ( )
Query DB and create analog map.txt

Definition at line 32 of file generate_analog_map.py.

32 def create_analog_map():
33  '''Query DB and create analog map.txt'''
34  if not os.path.exists(MAP_DIR):
35  os.makedirs(MAP_DIR)
36  map_filename = os.path.join(MAP_DIR, 'map.txt')
37  with __create_conn__() as conn:
38  compose(partial(__write_analog_map_rows__, map_filename),
39  __query_cu_info__)(conn)
40 
41 

Variable Documentation

◆ DB_URL

string generate_analog_map.DB_URL
Initial value:
1 = 'postgresql://%s:%s@%s:%s/%s' % (DATABASE_USER,
2  DATABASE_PASSWORD,
3  DATABASE_HOST,
4  DATABASE_PORT,
5  DATABASE_NAME)

Definition at line 23 of file generate_analog_map.py.