コード例 #1
0
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
コード例 #2
0
ファイル: __init__.py プロジェクト: huangyingjun1989/sia
#coding=utf8

from ops_sia.api.utils import load_url_map
from ops_sia import log as logging

LOG = logging.getLogger('api')

url_map = load_url_map(__path__, __package__, log=LOG)
コード例 #3
0
ファイル: auth_code.py プロジェクト: huangyingjun1989/sia
import json
import tornado.web

from ops_sia.plugins.JsonResponses import BaseHander
from ops_sia.plugins.code_auth import CodeAuth
from ops_sia.utils import get_token
from ops_sia.api.auth import auth as Auth
from ops_sia.cache import Backend
from ops_sia.options import get_options
options = get_options()



import ops_sia.log as logging

LOG = logging.getLogger(__name__)

url_map = {
    r"/auth_code": "AuthCodeApi",
    # r"/usr/getuserid": "GetIdByUserName"
}


class AuthCodeApi(BaseHander, Auth.Base):
    def get(self):
        session_id = self.get_argument("session_id", "").strip()
        obj = CodeAuth()
        img, code_str = obj.gene_code()
        self.set_header("Content-type", "image/png")
        self.write(img)
        cache = Backend()
コード例 #4
0
from ops_sia import log as logging

from ops_sia.service import db as service_db

auth_opts = [
    {
        "name": "policy",
        "default": "ops_sia.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)