예제 #1
0
def iter_servers(spec=None, fields=None, page=None):
    limit = None
    skip = None
    page_count = settings.app.server_page_count

    if spec is None:
        spec = {}

    if fields:
        fields = {key: True for key in fields}

    if page is not None:
        limit = page_count
        skip = page * page_count if page else 0

    cursor = Server.collection.find(spec, fields).sort('name')

    if skip is not None:
        cursor = cursor.skip(page * page_count if page else 0)
    if limit is not None:
        cursor = cursor.limit(limit)

    for doc in cursor:
        yield Server(doc=doc, fields=fields)
예제 #2
0
파일: utils.py 프로젝트: Cesar456/pritunl
def new_server(**kwargs):
    server = Server(**kwargs)
    server.initialize()
    return server
예제 #3
0
def get_dict(id):
    return Server(id=id, fields=dict_fields).dict()
예제 #4
0
def get_by_id(id, fields=None):
    return Server(id=id, fields=fields)
예제 #5
0
def new_server(**kwargs):
    server = Server(**kwargs)
    server.initialize()
    return server
예제 #6
0
파일: utils.py 프로젝트: uguryildiz/pritunl
def iter_servers(spec=None, fields=None):
    if fields:
        fields = {key: True for key in fields}

    for doc in Server.collection.find(spec or {}, fields).sort('name'):
        yield Server(doc=doc, fields=fields)
예제 #7
0
파일: utils.py 프로젝트: uguryildiz/pritunl
def iter_servers_dict():
    fields = {key: True for key in dict_fields}
    for doc in Server.collection.find({}, fields).sort('name'):
        yield Server(doc=doc, fields=fields).dict()