コード例 #1
0
def test_multi():
    dec = lazydecorator()
    class A:
        @dec(1)
        def c(self):
            pass
        @dec(2)
        def b(self):
            pass
        @dec(3)
        def a(self):
            pass

    a = A()

    l2 = []
    def anotherdec(arg, kw=None):
        def wrapped(func):
            l2.append((func, arg))
            return func
        return wrapped

    dec.discover_and_call(a, anotherdec)
    assert len(l2) == 3
    assert l2[0] == (a.c, 1)
    assert l2[1] == (a.b, 2)
    assert l2[2] == (a.a, 3)
コード例 #2
0
def test_multi():
    dec = lazydecorator()

    class A:
        @dec(1)
        def c(self):
            pass

        @dec(2)
        def b(self):
            pass

        @dec(3)
        def a(self):
            pass

    a = A()

    l2 = []

    def anotherdec(arg, kw=None):
        def wrapped(func):
            l2.append((func, arg))
            return func

        return wrapped

    dec.discover_and_call(a, anotherdec)
    assert len(l2) == 3
    assert l2[0] == (a.c, 1)
    assert l2[1] == (a.b, 2)
    assert l2[2] == (a.a, 3)
コード例 #3
0
def test_simpler_dict():
    dec = lazydecorator()

    @dec()
    def f():
        pass
    @dec(x=1)
    def g():
        pass
    d = {"f": f, "g": g, "something": lambda: None}
    l = dec.discover(d)
    assert len(l) == 2
    assert l[0] == (f, (), {})
    assert l[1] == (g, (), dict(x=1))
コード例 #4
0
def test_simpler_dict():
    dec = lazydecorator()

    @dec()
    def f():
        pass

    @dec(x=1)
    def g():
        pass

    d = {"f": f, "g": g, "something": lambda: None}
    l = dec.discover(d)
    assert len(l) == 2
    assert l[0] == (f, (), {})
    assert l[1] == (g, (), dict(x=1))
コード例 #5
0
def test_simpler():
    dec = lazydecorator()
    class A:
        @dec(5)
        @dec(1, kw=3)
        def f(self):
            pass

    a = A()

    l2 = []
    def anotherdec(arg, kw=None):
        def wrapped(func):
            l2.append((func, arg, kw))
            return func
        return wrapped

    dec.discover_and_call(a, anotherdec)
    assert len(l2) == 2
    assert l2[0] == (a.f, 1, 3)
    assert l2[1] == (a.f, 5, None)
コード例 #6
0
def test_simpler():
    dec = lazydecorator()

    class A:
        @dec(5)
        @dec(1, kw=3)
        def f(self):
            pass

    a = A()

    l2 = []

    def anotherdec(arg, kw=None):
        def wrapped(func):
            l2.append((func, arg, kw))
            return func

        return wrapped

    dec.discover_and_call(a, anotherdec)
    assert len(l2) == 2
    assert l2[0] == (a.f, 1, 3)
    assert l2[1] == (a.f, 5, None)
コード例 #7
0
ファイル: main.py プロジェクト: vartec/devpi
import argparse
import subprocess
from base64 import b64encode
from contextlib import closing
from devpi import hookspecs
from devpi_common.types import lazydecorator, cached_property
from devpi_common.url import URL
from devpi_common.proc import check_output
from devpi.use import PersistentCurrent
from devpi_common.request import new_requests_session
from devpi import __version__ as client_version
from pluggy import PluginManager
import json

std = py.std
subcommand = lazydecorator()

main_description = """
The devpi commands (installed via devpi-client) wrap common Python
packaging, uploading, installation and testing activities, using a remote
devpi-server managed index.  For more information see http://doc.devpi.net
"""


def main(argv=None):
    if argv is None:
        argv = list(sys.argv)
    hub, method = initmain(argv)
    with closing(hub):
        return method(hub, hub.args)
コード例 #8
0
ファイル: main.py プロジェクト: kenatbasis/devpi
import sys
import py
import argparse
import subprocess
import devpi
from devpi_common.types import lazydecorator, cached_property
from devpi_common.url import URL
from devpi_common.proc import check_output
from devpi.use import Current
from devpi_common.request import new_requests_session
from devpi import __version__ as client_version

import json

std = py.std
subcommand = lazydecorator()

main_description = """
The devpi commands (installed via devpi-client) wrap common Python
packaging, uploading, installation and testing activities, using a remote
devpi-server managed index.  For more information see http://doc.devpi.net
"""


def main(argv=None):
    if argv is None:
        argv = list(sys.argv)
    hub, method = initmain(argv)
    return method(hub, hub.args)

コード例 #9
0
ファイル: views.py プロジェクト: kenatbasis/devpi
    if message:
        d["message"] = message
    data = json.dumps(d, indent=2) + "\n"
    header = meta_headers.copy()
    header[str("content-type")] = "application/json"
    raise HTTPResponse(body=data, status=code, header=header)

def json_preferred():
    # XXX do proper "best" matching
    return "application/json" in request.headers.get("Accept", "")

def html_preferred():
    accept = request.headers.get("Accept", "")
    return not accept or "text/html" in accept

route = lazydecorator()

class PyPIView:
    def __init__(self, xom):
        self.xom = xom
        self.db = xom.db
        self.auth = Auth(xom.db, xom.config.secret)

    def getstage(self, user, index):
        stage = self.db.getstage(user, index)
        if not stage:
            abort(404, "no such stage")
        return stage


    #
コード例 #10
0
ファイル: views.py プロジェクト: kenatbasis/devpi
    header = meta_headers.copy()
    header[str("content-type")] = "application/json"
    raise HTTPResponse(body=data, status=code, header=header)


def json_preferred():
    # XXX do proper "best" matching
    return "application/json" in request.headers.get("Accept", "")


def html_preferred():
    accept = request.headers.get("Accept", "")
    return not accept or "text/html" in accept


route = lazydecorator()


class PyPIView:
    def __init__(self, xom):
        self.xom = xom
        self.db = xom.db
        self.auth = Auth(xom.db, xom.config.secret)

    def getstage(self, user, index):
        stage = self.db.getstage(user, index)
        if not stage:
            abort(404, "no such stage")
        return stage

    #