def __init__(self, config=None, dbengine=None, **kwargs): self.config = config settings = dict( cookie_secret="12oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo=", login_url="/admin/login", template_path=os.path.join(os.path.dirname(toughradius.__file__), "views"), static_path=os.path.join(os.path.dirname(toughradius.__file__), "static"), xsrf_cookies=True, config=self.config, debug=self.config.system.debug, xheaders=True, ) self.tp_lookup = TemplateLookup( directories=[settings['template_path']], default_filters=['decode.utf8'], input_encoding='utf-8', output_encoding='utf-8', encoding_errors='ignore', module_directory="/tmp/toughradius_admin" ) self.db_engine = dbengine or get_engine(config) self.db = scoped_session(sessionmaker(bind=self.db_engine, autocommit=False, autoflush=False)) self.session_manager = session.SessionManager(settings["cookie_secret"], self.db_engine, 600) redisconf = redis_conf(config) self.session_manager = redis_session.SessionManager(redisconf,settings["cookie_secret"], 600) self.mcache = redis_cache.CacheManager(redisconf,cache_name='RadiusManageCache-%s'%os.getpid()) self.mcache.print_hit_stat(60) self.db_backup = DBBackup(models.get_metadata(self.db_engine), excludes=[ 'tr_online','system_session','system_cache','tr_ticket','tr_billing','tr_online_stat', 'tr_flow_stat' ]) self.aes = utils.AESCipher(key=self.config.system.secret) # cache event init dispatch.register(self.mcache) # app init_route load_handlers(handler_path=os.path.join(os.path.abspath(os.path.dirname(__file__))), pkg_prefix="toughradius.manage", excludes=['views','webserver','radius']) # app event init event_params= dict(dbengine=self.db_engine, mcache=self.mcache, aes=self.aes) dispatch.load_events(os.path.join(os.path.abspath(os.path.dirname(toughradius.manage.events.__file__))), "toughradius.manage.events",event_params=event_params) permit.add_route(cyclone.web.StaticFileHandler, r"/admin/backup/download/(.*)", u"下载数据",MenuSys, handle_params={"path": self.config.database.backup_path}, order=5.0005) cyclone.web.Application.__init__(self, permit.all_handlers, **settings)
def __init__(self, config=None, dbengine=None, **kwargs): self.config = config settings = dict( cookie_secret="12oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo=", login_url="/admin/login", template_path=os.path.join(os.path.dirname(toughradius.__file__), "views"), static_path=os.path.join(os.path.dirname(toughradius.__file__), "static"), xsrf_cookies=True, config=self.config, debug=self.config.system.debug, xheaders=True, ) self.tp_lookup = TemplateLookup( directories=[settings['template_path']], default_filters=['decode.utf8'], input_encoding='utf-8', output_encoding='utf-8', encoding_errors='ignore', module_directory="/tmp/toughradius_admin" ) self.db_engine = dbengine or get_engine(config) self.db = scoped_session(sessionmaker(bind=self.db_engine, autocommit=False, autoflush=False)) self.session_manager = session.SessionManager(settings["cookie_secret"], self.db_engine, 600) redisconf = redis_conf(config) self.session_manager = redis_session.SessionManager(redisconf,settings["cookie_secret"], 600) self.mcache = redis_cache.CacheManager(redisconf,cache_name='RadiusManageCache-%s'%os.getpid()) self.mcache.print_hit_stat(60) self.db_backup = DBBackup(models.get_metadata(self.db_engine), excludes=[ 'tr_online','system_session','system_cache','tr_ticket']) self.aes = utils.AESCipher(key=self.config.system.secret) # cache event init dispatch.register(self.mcache) # app init_route load_handlers(handler_path=os.path.join(os.path.abspath(os.path.dirname(__file__))), pkg_prefix="toughradius.manage", excludes=['views','webserver','radius']) # app event init event_params= dict(dbengine=self.db_engine, mcache=self.mcache, aes=self.aes) dispatch.load_events(os.path.join(os.path.abspath(os.path.dirname(toughradius.manage.events.__file__))), "toughradius.manage.events",event_params=event_params) permit.add_route(cyclone.web.StaticFileHandler, r"/admin/backup/download/(.*)", u"下载数据",MenuSys, handle_params={"path": self.config.database.backup_path}, order=5.0005) cyclone.web.Application.__init__(self, permit.all_handlers, **settings)
def __init__(self, config=None, log=None, **kwargs): self.config = config self.syslog = log or logger.Logger(config) settings = dict( cookie_secret="12oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo=", login_url="/admin/login", template_path=os.path.join(os.path.dirname(__file__), "views"), static_path=os.path.join(os.path.dirname(toughradius.__file__), "static"), xsrf_cookies=True, config=config, debug=self.config.system.debug, xheaders=True, ) self.tp_lookup = TemplateLookup( directories=[settings['template_path']], default_filters=['decode.utf8'], input_encoding='utf-8', output_encoding='utf-8', encoding_errors='replace', module_directory="/tmp/admin") self.db_engine = get_engine(config) self.db = scoped_session( sessionmaker(bind=self.db_engine, autocommit=False, autoflush=False)) self.session_manager = session.SessionManager( settings["cookie_secret"], self.db_engine, 600) self.mcache = cache.CacheManager(self.db_engine) self.db_backup = DBBackup(models.get_metadata(self.db_engine), excludes=[ 'tr_online', 'system_session', 'system_cache', 'tr_ticket' ]) self.aes = utils.AESCipher(key=self.config.system.secret) permit.add_route( cyclone.web.StaticFileHandler, r"/backup/download/(.*)", u"下载数据", MenuSys, handle_params={"path": self.config.database.backup_path}, order=1.0405) self.init_route() self.zauth_agent = authorize.ZAuthAgent(self) self.zacct_agent = acctounting.ZAcctAgent(self) cyclone.web.Application.__init__(self, permit.all_handlers, **settings)
def __init__(self, config=None, dbengine=None, **kwargs): self.config = config settings = dict( cookie_secret="12oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo=", login_url="/login", template_path=os.path.join(os.path.dirname(toughwlan.__file__), "views"), static_path=os.path.join(os.path.dirname(toughwlan.__file__), "static"), xsrf_cookies=True, config=self.config, debug=self.config.system.debug, xheaders=True, ) self.cache = CacheManager(**parse_cache_config_options({ 'cache.type': 'file', 'cache.data_dir': '/tmp/cache/data', 'cache.lock_dir': '/tmp/cache/lock' })) self.tp_lookup = TemplateLookup(directories=[settings['template_path']], default_filters=['decode.utf8'], input_encoding='utf-8', output_encoding='utf-8', encoding_errors='replace', module_directory="/tmp/toughwlan") self.db_engine = dbengine self.db = scoped_session(sessionmaker(bind=self.db_engine, autocommit=False, autoflush=False)) redisconf = redis_conf(config) self.session_manager = redis_session.SessionManager(redisconf,settings["cookie_secret"], 600) self.mcache = redis_cache.CacheManager(redisconf,cache_name='ToughWlanWeb-%s'%os.getpid()) self.db_backup = DBBackup(models.get_metadata(self.db_engine), excludes=[ 'trw_online','system_session','system_cache']) self.aes = utils.AESCipher(key=self.config.system.secret) permit.add_route(cyclone.web.StaticFileHandler, r"/backup/download/(.*)", u"下载数据", u"系统管理", handle_params={"path": self.config.database.backup_path}, order=1.0405) handler_path = os.path.join(os.path.abspath(os.path.dirname(toughwlan.__file__)), "manage") load_handlers(handler_path=handler_path, pkg_prefix="toughwlan.manage",excludes=['views','httpd','ddns_task']) cyclone.web.Application.__init__(self, permit.all_handlers, **settings)
def __init__(self, config=None, dbengine=None, log=None, **kwargs): self.config = config self.syslog = log or logger.Logger(config) settings = dict( cookie_secret="12oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo=", login_url="/login", template_path=os.path.join(os.path.dirname(__file__), "views"), static_path=os.path.join(os.path.dirname(toughwlan.__file__), "static"), xsrf_cookies=True, config=config, debug=self.config.system.debug, xheaders=True, ) self.cache = CacheManager(**parse_cache_config_options({ 'cache.type': 'file', 'cache.data_dir': '/tmp/cache/data', 'cache.lock_dir': '/tmp/cache/lock' })) self.tp_lookup = TemplateLookup(directories=[settings['template_path']], default_filters=['decode.utf8'], input_encoding='utf-8', output_encoding='utf-8', encoding_errors='replace', module_directory="/tmp") self.db_engine = dbengine self.db = scoped_session(sessionmaker(bind=self.db_engine, autocommit=False, autoflush=False)) self.session_manager = session.SessionManager(settings["cookie_secret"], self.db_engine, 600) self.mcache = cache.CacheManager(self.db_engine) self.aes = utils.AESCipher(key=self.config.system.secret) permit.add_route(cyclone.web.StaticFileHandler, r"/backup/download/(.*)", u"下载数据", u"系统管理", handle_params={"path": self.config.database.backup_path}, order=1.0405) self.init_route() cyclone.web.Application.__init__(self, permit.all_handlers, **settings)
def __init__(self, config=None, dbengine=None, log=None, **kwargs): self.config = config self.syslog = log or logger.Logger(config) settings = dict( cookie_secret="12oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo=", login_url="/admin/login", template_path=os.path.join(os.path.dirname(__file__), "views"), static_path=os.path.join(os.path.dirname(toughradius.__file__), "static"), xsrf_cookies=True, config=config, debug=self.config.system.debug, xheaders=True, ) self.tp_lookup = TemplateLookup( directories=[settings["template_path"]], default_filters=["decode.utf8"], input_encoding="utf-8", output_encoding="utf-8", encoding_errors="replace", module_directory="/tmp/admin", ) self.db_engine = dbengine or get_engine(config) self.db = scoped_session(sessionmaker(bind=self.db_engine, autocommit=False, autoflush=False)) self.session_manager = session.SessionManager(settings["cookie_secret"], self.db_engine, 600) self.mcache = cache.CacheManager(self.db_engine) self.db_backup = DBBackup( models.get_metadata(self.db_engine), excludes=["tr_online", "system_session", "system_cache", "tr_ticket"] ) self.aes = utils.AESCipher(key=self.config.system.secret) permit.add_route( cyclone.web.StaticFileHandler, r"/backup/download/(.*)", u"下载数据", MenuSys, handle_params={"path": self.config.database.backup_path}, order=1.0405, ) self.init_route() cyclone.web.Application.__init__(self, permit.all_handlers, **settings)
############################################################################## @permit.route(r"/dashboard", u"控制面板", MenuSys, is_menu=True, order=1.0000) class DashboardHandler(BaseHandler): @cyclone.web.authenticated def get(self): group_count = self.nagapi.count_hostgroup() host_count = self.nagapi.count_host() service_count = self.nagapi.count_service() self.render("index.html", group_count = self.nagapi.count_hostgroup(), host_count = self.nagapi.count_host(), service_count = self.nagapi.count_service(), alert_count = self.mongodb.query_alert(None,None,None).count()) permit.add_route(DashboardHandler, r"/", u"控制面板", MenuSys, order=1.0001) @permit.route(r"/dashboard/update", u" 刷新服务", MenuSys, order=1.0002) class UpdateHandler(BaseHandler): @cyclone.web.authenticated def post(self): return self.render_json(**execute("supervisorctl status all"))