Ejemplo n.º 1
0
    def _query_for_id(self):
	if not self.db_conn:
	    return False
	time_check_query="""SELECT CASE
    WHEN (SELECT COUNT(1) FROM {0} WHERE {1}_truncate=(SELECT date_trunc('{1}',now())::timestamp without time zone)) > 0 
    THEN NULL ELSE LOCALTIMESTAMP END AS actual_time,
    date_trunc('{1}',LOCALTIMESTAMP) AS {1}_truncate""".format(self.table_name,self.truncate_unit)
	cur=self.db_conn.cursor()
	cur.execute(time_check_query)
	time_data=cur.fetchone()
	if not time_data[0]:
	    logger.critical('Appropriate record for "{0}" already exists'.format(time_data[1]))
	    cur.close()
	    return False
#	logger.debug('Log time obtained. Actual Time: {0}\tHour Truncate: {1}'.format(time_data[0],time_data[1]))
	try:
	    cur.execute("INSERT INTO {0} ({1}_truncate,actual_time) VALUES (%s,%s) RETURNING id".format(self.table_name,self.truncate_unit),(time_data[1],time_data[0]))
	except Exception as e:
	    logger.critical("Cannot create time log record into {0}. Error: {1}".format(self.table_name,e.pgerror))
	    cur.close()
	    self.db_conn.rollback()
	    return False
	self.id=cur.fetchone()[0]
#	logger.debug("Log time ID: {0}".format(self.id))
	cur.close()
	self.db_conn.commit()
	return True
Ejemplo n.º 2
0
def makeTraceDir():
    try:
        mode = stat(TRACES_DIR).st_mode
        if (mode & S_IFDIR == 0):
            logger.critical('%s is not a directory or not accessible -- tell a friend' % TRACES_DIR)
    except OSError:
        print 'making', TRACES_DIR
        try:
            makedirs(TRACES_DIR)
        except:
            logger.critical('could not create %s == tell a friend' % TRACES_DIR)
Ejemplo n.º 3
0
    def connect(self):
        try:
            self.conn = psycopg2.connect(self.connect_str)
            self.conn.autocommit = True
            self.cursor = self.conn.cursor()
            logger.debug(__name__ + " Connected to Database")
            self.initilaize()
            return self.cursor
        except Exception as e:
            logger.critical(__name__ + " Database Connection Error!" + str(e))

        return None
Ejemplo n.º 4
0
def setting_recup():  # Function to read parameter settings
    args = parser_generation()
    logger.setLevel(args.verbose.upper())

    if args.i_path is None and not args.profile == 2:
        logger.warning(
            "\nCannot analyse an image neither a video without a path\nSwitching to Webcam..."
        )
        args.profile = 2

    try:
        model = load_model(args.model_path)
    except OSError:
        logger.critical("\nCannot localize model\nLeaving...")
        sys.exit(3)
    return args, model
Ejemplo n.º 5
0
def runMatch(red, blue):
    (redUser, redPlayer) = red
    (blueUser, bluePlayer) = blue

    rname = redUser + '/' + redPlayer
    bname = blueUser + '/' + bluePlayer
    logger.info('playing %s vs. %s' % (rname, bname))
    
    makeTraceDir()
    command = (runtemplate % (ICYPC_JAR, script(redUser, redPlayer), script(blueUser, bluePlayer), TRACES_DIR)).split()
    logger.info('running: "%s"' % command)
    
    p = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    (output, stderr) = p.communicate();
    m = output_pattern.match(output)
    
    (winner, loser) = (red, blue) # default
    if m:
        logger.info('winner is %s' % m.group(1))
        challengerState = 'loses'
        if m.group(1) == '1':
            challengerState = 'wins'
            (winner, loser) = (blue, red) # challenger won
        log = 'challenger (%s) %s: %s [%s (%s %s)] vs. %s [%s (%s %s)]' % (bname, challengerState,
                                                                          rname, m.group(2), m.group(3), m.group(4),
                                                                          bname, m.group(5), m.group(6), m.group(7))
        r = Result(time=datetime.now(), winnerUser=winner[0], winnerPlayer=winner[1], loserUser=loser[0], loserPlayer=loser[1],
                   output=log)
        r.save()
        umask(002)  # ensure world can read these files
        rename(TRACES_DIR + '/trace.txt', TRACES_DIR + '/%s.txt' % r.pk)
        
        try:
            f = open('%s/%s-stdout.txt' % (TRACES_DIR, r.pk), 'w'); f.write(output); f.close()
            f = open('%s/%s-stderr.txt' % (TRACES_DIR, r.pk), 'w'); f.write(stderr); f.close()
        except:
            logger.critical('could not write std out/err files in %s--tell a friend' % TRACES_DIR)
    else:
        logger.error('no winner found in stdout; probably a script was not executable; stdout and stderr follow')
        logger.error('===== begin stdout =====\n%s\n===== end stdout' % output)
        logger.error('===== begin stderr =====\n%s\n===== end stderr' % stderr)
        
        
    return (winner, loser)
Ejemplo n.º 6
0
def main_process():
    args, model = setting_recup()
    if args.profile == 1:  # Image or Video
        if args.i_path.endswith(tuple(images_extension)):
            from src.main_img import main_process_img
            main_process_img(args.i_path, model, args.save)
        elif args.i_path.endswith(tuple(video_extension)):
            from src.main_video import main_grid_detector_video
            main_grid_detector_video(model,
                                     video_path=args.i_path,
                                     save=args.save,
                                     display=args.display)
        else:
            logger.critical("\nCannot identify File type\nLeaving...")
            sys.exit(3)
    else:  # Webcam
        from src.main_video import main_grid_detector_video
        main_grid_detector_video(model, save=args.save,
                                 display=args.display)  #
Ejemplo n.º 7
0
    def __init__(self):
	time_check_query="""SELECT CASE
    WHEN (SELECT TRUE FROM log_time WHERE hour_truncate=date_trunc('hour',now()))
	THEN NULl
    ELSE 
	LOCALTIMESTAMP END AS actual_time,date_trunc('hour',LOCALTIMESTAMP) AS hour_truncate"""
	self.cursor.execute(time_check_query)

	time_data=self.cursor.fetchone()
	if not time_data[0]:
	    logger.critical('Appropriate record for "{0}" already exists'.format(time_data[1]))
	    self.cursor.close()
	    db_handler.close()
	    exit()
	logger.debug('Log time obtained. Actual Time: {0}\tHour Truncate: {1}'.format(time_data[0],time_data[1]))
	self.actual_time=time_data[0]
	self.hour_truncate=time_data[1]
	self.cursor.execute("INSERT INTO log_time (hour_truncate,actual_time) VALUES ('{0}','{1}') RETURNING id".format(time_data[1],time_data[0]))
	self.id=self.cursor.fetchone()[0]
	db_handler.commit()
 def __init__(self,
              host,
              port=80,
              use_https=False,
              user=None,
              password=None):
     self.user = user
     self.password = password
     self.host = host
     self.use_https = use_https
     self.port = str(port)
     self.url = '{}://{}:{}/'.format('https' if use_https else 'http', host,
                                     port)
     try:
         self.marathon_cli = MarathonClient([self.url],
                                            username=self.user,
                                            password=self.password)
     except Exception as e:
         logger.critical(e)
         raise e
Ejemplo n.º 9
0
# -*- coding: utf-8 -*-

import smtplib, sys
from smtplib import SMTPException
import datetime
from settings import logger
import settings as const
from email.MIMEText import MIMEText


def sendmail(alarm, body_msg, subject='EWSoDS detect low disk space !!!'):
    """ Sending mail through the smtp lib. """
    try:
        receiver = const.CRITICAL_EMAIL if alarm == 2 else const.WARNING_EMAIL
        smtpObj = smtplib.SMTP(const.SMTP_HOST, const.SMTP_PORT)
        message = MIMEText(body_msg)
        message['From'] = const.SMTP_SENDER
        message['To'] = receiver
        message['Subject'] = subject
        smtpObj.sendmail( message['From'], message['To'], message.as_string())
        logger.info( "Mail is just sended successfully." )
        return True
    except SMTPException, e:
        logger.error( "Unable to send email. SMTPException !!! see line below for details:\n" + e )
    except Exception, e:
        logger.critical( "Unable to send email. Exception !!! see line below for details:\n" + e )
    return False;

Ejemplo n.º 10
0
#!/usr/local/bin/python -B

from objects import *
from settings import logger,db_handler
import transfer
from sys import exit

db_handler.autocommit=False
self_cursor=db_handler.cursor()
stats=['bgwriter_stat','database_stat','table_stat','table_va_stat','index_stat','table_toast_stat','index_toast_stat']

try:
    self_cursor.execute("DELETE FROM queue_log_time RETURNING id,hour_truncate")
#    self_cursor.execute("SELECT * FROM queue_log_time ORDER BY hour_truncate")
except Exception as e:
    logger.critical("Cannot get queue ids! Details: {0}".format(e.pgerror))
    exit(1)
queue_ids=self_cursor.fetchall()

hc=HostCluster()
sn=SchemaName()

for log_id in queue_ids:
    output=dict()
    output['stat_payload']=dict()
    output['list_payload']=dict()
    output['hour_truncate']=log_id[1]

    s_payload=dict()

    for stat_tbl in stats: