def load_url_map(path, package, log=None): log = log or logging.getLogger(__name__) url_map = [] our_dir = path[0] for dirpath, dirnames, filenames in os.walk(our_dir): for fname in filenames: root, ext = os.path.splitext(fname) if ext != '.py' or root == '__init__': continue class_path = os.path.join(dirpath, fname) handle_class = imp.load_source(fname, class_path) _url_map = getattr(handle_class, 'url_map', {}) if _url_map: for _url, _handler in _url_map.items(): url_map.append((_url, getattr(handle_class, _handler))) log.info('url map:\n' + '\n'.join(['%20s\t%s' % (_url_map[0], _url_map[1]) \ for _url_map in url_map])) return url_map
import inspect import os import socket import eventlet import greenlet from ops_charging.service import db from ops_charging import exception from ops_charging import log as logging from ops_charging import utils from ops_charging.options import get_options LOG = logging.getLogger(__name__) service_opts = [ { "name": 'report_interval', "default": 30, "help": 'seconds between nodes reporting state to datastore', "type": int, }, { "name": 'periodic_interval', "default": 60, "help": 'seconds between running periodic tasks', "type": int, }, ]
from ops_charging import log as logging from ops_charging.service import db as service_db auth_opts = [ { "name": "policy", "default": "ops_charging.api.auth.policy", "help": "", "type": str, }, ] options = get_options(auth_opts, 'auth') LOG = logging.getLogger() def load_policy(): option_split = options.policy.split(".") mod = option_split[0] fun = options.policy[options.policy.rfind('.') + 1:] fn_, modpath, desc = imp.find_module(mod) fn_, path, desc = imp.find_module( fun, [os.path.join(modpath, "/".join(option_split[1:-1]))]) return imp.load_module(fun, fn_, path, desc) class BaseAuth(tornado.web.RequestHandler): def __init__(self, application, request, **kwargs): super(BaseAuth, self).__init__(application, request, **kwargs)
#coding=utf8 from ops_charging.api.utils import load_url_map from ops_charging import log as logging LOG = logging.getLogger('api') url_map = load_url_map(__path__, __package__, log=LOG)