def createCache(obj, formatted, modelType, user):
    obj = MODELS()[modelType]().load(obj['_id'], force=True)
    if "cached" in obj:
        oc = obj.get("oldCache", [])
        obj["oldCache"] = (oc if oc is not None else []).append(obj["cached"])
    if modelType in NONES:
        print("No modelType!")
        print(obj)
    if formatted is None:
        print("formatting failed!")
        print(obj)
    obj["cached"] = json_util.dumps({
        **formatted, "prov:generatedAtTime":
        xsdNow()
    })
    return (MODELS()[modelType]().save(obj, validate=False))
Exemple #2
0
def createCache(obj, formatted, modelType, user=None):
    obj = MODELS()[modelType]().load(obj['_id'], force=True)
    if modelType in NONES:
        print("No modelType!")
        print(obj)
    if formatted is None:
        print("formatting failed!")
        print(obj)

    if obj.get('cached'):
        cache_id = obj['cached']
        CacheModel().updateCache(cache_id,
                                 MODELS()[modelType]().name, obj['_id'],
                                 modelType, formatted)
    else:
        saved = CacheModel().insertCache(MODELS()[modelType]().name,
                                         obj['_id'], modelType, formatted)
        obj['cached'] = saved['_id']
        MODELS()[modelType]().update({'_id': ObjectId(obj['_id'])},
                                     {'$set': {
                                         'cached': obj['cached']
                                     }}, False)
    return obj