def __init__(self): if os.environ.has_key('PYSILHOUETTE_CONF') is False: print >>sys.stderr, '[Error] "PYSILHOUETTE_CONF" did not exist in the environment.' sys.exit(1) self.cf = pysilhouette.prep.readconf(os.environ['PYSILHOUETTE_CONF']) if self.logger is None: pysilhouette.log.reload_conf(self.cf["env.sys.log.conf.path"]) self.logger = logging.getLogger('pysilhouette.command') try: self.db = Database(self.cf['database.url'], encoding="utf-8", convert_unicode=True, #assert_unicode='warn', # DEBUG echo = False, echo_pool = False, ) reload_mappers(self.db.get_metadata()) self.session = self.db.get_session() except Exception, e: print >>sys.stderr, '[Error] Initializing a database error - %s' % str(e.args) self.logger.error('Initializing a database error - %s' % str(e.args)) t_logger = logging.getLogger('pysilhouette_traceback') t_logger.error(traceback.format_exc()) sys.exit(1)
def create_database(cf): db = None if cf['database.url'][:6].strip() == 'sqlite': db = Database( cf['database.url'], encoding="utf-8", convert_unicode=True, ) else: if cf['database.pool.status'] == 1: db = Database( cf['database.url'], encoding="utf-8", convert_unicode=True, poolclass=QueuePool, pool_size=cf['database.pool.size'], max_overflow=cf['database.pool.max.overflow'], ) else: db = Database( cf['database.url'], encoding="utf-8", convert_unicode=True, poolclass=SingletonThreadPool, pool_size=cf['database.pool.size'], ) if db is None: raise SilhouetteDBException( 'Initializing a database error - "Database" failed to create.') reload_mappers(db.get_metadata()) return db
def __init__(self): if os.environ.has_key('PYSILHOUETTE_CONF') is False: print >> sys.stderr, '[Error] "PYSILHOUETTE_CONF" did not exist in the environment.' sys.exit(1) self.cf = pysilhouette.prep.readconf(os.environ['PYSILHOUETTE_CONF']) if self.logger is None: pysilhouette.log.reload_conf(self.cf["env.sys.log.conf.path"]) self.logger = logging.getLogger('pysilhouette.command') try: self.db = Database( self.cf['database.url'], encoding="utf-8", convert_unicode=True, #assert_unicode='warn', # DEBUG echo=False, echo_pool=False, ) reload_mappers(self.db.get_metadata()) self.session = self.db.get_session() except Exception, e: print >> sys.stderr, '[Error] Initializing a database error - %s' % str( e.args) self.logger.error('Initializing a database error - %s' % str(e.args)) t_logger = logging.getLogger('pysilhouette_traceback') t_logger.error(traceback.format_exc()) sys.exit(1)
def create_database(cf): db = None if cf['database.url'][:6].strip() == 'sqlite': db = Database(cf['database.url'], encoding="utf-8", convert_unicode=True, ) else: if cf['database.pool.status'] == 1: db = Database(cf['database.url'], encoding="utf-8", convert_unicode=True, poolclass=QueuePool, pool_size=cf['database.pool.size'], max_overflow=cf['database.pool.max.overflow'], ) else: db = Database(cf['database.url'], encoding="utf-8", convert_unicode=True, poolclass=SingletonThreadPool, pool_size=cf['database.pool.size'], ) if db is None: raise SilhouetteDBException('Initializing a database error - "Database" failed to create.') reload_mappers(db.get_metadata()) return db
def setUp(self): # O/R mapping self._db = Database(cf['database.url'], encoding="utf-8", convert_unicode=True, echo=True) reload_mappers(self._db.get_metadata()) # database init self._db.get_metadata().drop_all() self._db.get_metadata().create_all() # create table pass
def test_setup(cf): # -- db = Database(cf['database.url'], encoding='utf-8', convert_unicode=True) reload_mappers(db.get_metadata()) db.get_metadata().drop_all() db.get_metadata().create_all() f_cmd = ( u'python /root/repository/pysilhouette_svn/pysilhouette/job/sendmail.py' u' --from="root@localhost"' u' --to="root@localhost"' u' --subject="test"' u' --hostname="localhost"' u' --port="25"' u' --msg="%s"' u' --charset="utf-8"') session = db.get_session() jg1 = JobGroup(u'get date', '172.16.0.123') jg1.finish_command = f_cmd % jg1.name jb1 = Job(u'get date', '0', u'/bin/date error') jb1.rollback_command = u'/bin/date' jg1.jobs.append(jb1) jg2 = JobGroup(u'get route', '172.16.0.123') jg2.finish_command = f_cmd % jg2.name jg2.jobs.append(Job(u'get route', '1', u'/sbin/route')) jg3 = JobGroup(u'print string', '172.16.0.123') jg3.finish_command = f_cmd % jg3.name jg3.jobs.append(Job(u'print string', '2', u'/bin/echo test')) session.add_all([jg1, jg2, jg3]) #session.add(jg1) session.commit() from pysilhouette.db.access import jobgroup_findbystatus _m_jgs = jobgroup_findbystatus(session) return db, session, _m_jgs
def test_setup(cf): # -- db = Database(cf['database.url'], encoding='utf-8', convert_unicode=True) reload_mappers(db.get_metadata()) db.get_metadata().drop_all() db.get_metadata().create_all() f_cmd = (u'python /root/repository/pysilhouette_svn/pysilhouette/job/sendmail.py' u' --from="root@localhost"' u' --to="root@localhost"' u' --subject="test"' u' --hostname="localhost"' u' --port="25"' u' --msg="%s"' u' --charset="utf-8"') session = db.get_session() jg1 = JobGroup(u'get date', '172.16.0.123') jg1.finish_command = f_cmd % jg1.name jb1 = Job(u'get date','0',u'/bin/date error') jb1.rollback_command = u'/bin/date' jg1.jobs.append(jb1) jg2 = JobGroup(u'get route', '172.16.0.123') jg2.finish_command = f_cmd % jg2.name jg2.jobs.append(Job(u'get route','1', u'/sbin/route')) jg3 = JobGroup(u'print string', '172.16.0.123') jg3.finish_command = f_cmd % jg3.name jg3.jobs.append(Job(u'print string','2', u'/bin/echo test')) session.add_all([jg1,jg2,jg3]) #session.add(jg1) session.commit() from pysilhouette.db.access import jobgroup_findbystatus _m_jgs = jobgroup_findbystatus(session) return db, session, _m_jgs