小编joe*_*3ch的帖子

使用lxml查找基于xsd类型的元素

我试图获取具有lxml 2.x的特定xsd类型的元素列表,我无法弄清楚如何遍历特定类型的xsd.

架构示例:

<xsd:element name="ServerOwner" type="srvrs:string90" minOccurs="0">
<xsd:element name="HostName" type="srvrs:string35" minOccurs="0">
Run Code Online (Sandbox Code Playgroud)

示例xml数据:

<srvrs:ServerOwner>John Doe</srvrs:ServerOwner>
<srvrs:HostName>box01.example.com</srvrs:HostName>
Run Code Online (Sandbox Code Playgroud)

理想的功能如下:

    elements = getElems(xml_doc, 'string90')

    def getElems(xml_doc, xsd_type):
      ** xpath or something to find the elements and build a dict
      return elements
Run Code Online (Sandbox Code Playgroud)

python xml xsd lxml

8
推荐指数
1
解决办法
3422
查看次数

Tornado的多种身份验证选项

刚开始玩Tornado并希望提供多种身份验证方法.目前,我的应用程序与使用tornado.auth.GoogleMixin的Google混合OpenID/oAuth正常运行,未经身份验证的用户会自动发送到Google的身份验证页面.

如果未经身份验证的用户想要使用其他选项(即local auth或tornado.auth.TwitterMixin),我如何实现逻辑以在登录处理程序中选择auth机制?

我将装饰器'tornado.web.authenticated'添加到我所有暴露的方法中,这是我的登录处理程序类(几乎直接来自Tornado示例),目前正在使用Google OpenID/oAuth:

class AuthLoginHandler(BaseHandler, tornado.auth.GoogleMixin):
    @tornado.web.asynchronous
    def get(self):

        if self.get_argument('openid.mode', None):
            self.get_authenticated_user(self.async_callback(self._on_auth))
            return

        ## redirect after auth
        self.authenticate_redirect()

    def _on_auth(self, user):
        ## auth fail
        if not user:
            raise tornado.web.HTTPError(500, 'Google auth failed')

        ## auth success
        identity = self.get_argument('openid.identity', None)

        ## set identity in cookie
        self.set_secure_cookie('identity', tornado.escape.json_encode(identity))
        self.redirect('/')
Run Code Online (Sandbox Code Playgroud)

感谢任何解决方案的建议.谢谢

python authentication tornado

8
推荐指数
1
解决办法
4359
查看次数

Android中的问题匹配正则表达式模式

我正在尝试搜索此字符串:

,"tt" : "ABC","r" : "+725.00","a" : "55.30",
Run Code Online (Sandbox Code Playgroud)

对于:

"r" : "725.00"
Run Code Online (Sandbox Code Playgroud)

这是我目前的代码:

Pattern p = Pattern.compile("([r]\".:.\"[+|-][0-9]+.[0-9][0-9]\")");
Matcher m = p.matcher(raw_string);
Run Code Online (Sandbox Code Playgroud)

我一直在尝试模式的多种变体,并且永远找不到匹配.第二组眼睛会很棒!

java regex android

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×2

android ×1

authentication ×1

java ×1

lxml ×1

regex ×1

tornado ×1

xml ×1

xsd ×1