Exemplo n.º 1
0
def handle_repair(data=None, session=None):
    "Handle repair request. Return whole server database."
    include_extensions = 'exclude_extensions' not in (data or {})
    latest_version_id = core.get_latest_version_id(session=session)
    message = BaseMessage()
    for model in list(core.synched_models.models.keys()):
        for obj in query_model(session, model):
            message.add_object(obj, include_extensions=include_extensions)
    response = message.to_json()
    response['latest_version_id'] = latest_version_id
    return response
Exemplo n.º 2
0
def handle_repair(data=None, session=None):
    "Handle repair request. Return whole server database."
    include_extensions = 'exclude_extensions' not in (data or {})
    latest_version_id = core.get_latest_version_id(session=session)
    message = BaseMessage()
    for model in core.synched_models.models.iterkeys():
        for obj in query_model(session, model):
            message.add_object(obj, include_extensions=include_extensions)
    response = message.to_json()
    response['latest_version_id'] = latest_version_id
    return response
Exemplo n.º 3
0
def handle_query(data, session=None):
    "Responds to a query request."
    model = core.synched_models.model_names.\
        get(data.get('model', None), core.null_model).model
    if model is None: return None
    mname = model.__name__
    filters = dict((k, v) for k, v in ((k[len(mname) + 1:], v)
                                       for k, v in list(data.items())
                                       if k.startswith(mname + '_'))
                   if k and k in column_properties(model))
    message = BaseMessage()
    q = query_model(session, model)
    if filters:
        q = q.filter_by(**filters)
    for obj in q:
        message.add_object(obj)
    return message.to_json()
Exemplo n.º 4
0
def handle_query(data, session=None):
    "Responds to a query request."
    model = core.synched_models.model_names.\
        get(data.get('model', None), core.null_model).model
    if model is None: return None
    mname = model.__name__
    filters = dict((k, v) for k, v in ((k[len(mname) + 1:], v)
                                       for k, v in data.iteritems()
                                       if k.startswith(mname + '_'))
                   if k and k in column_properties(model))
    message = BaseMessage()
    q = query_model(session, model)
    if filters:
        q = q.filter_by(**filters)
    for obj in q:
        message.add_object(obj)
    return message.to_json()