def add_mongo_id(obj, objidkeys=[ '_id', u'_id', ]): if isinstance(obj, str) or isinstance(obj, unicode): try: if len(obj) == 24: obj = ObjectId(obj) except: pass d = None try: d = datetime.datetime.strptime(obj, "%Y-%m-%d %H:%M:%S.%F") except: try: d = datetime.datetime.strptime(obj, "%Y-%m-%d %H:%M:%S") except: try: d = datetime.datetime.strptime(obj, "%Y-%m-%d") except: d = None if d: obj = d return obj elif isinstance(obj, dict): for k in obj.keys(): if k in objidkeys and obj[k] is None: obj[k] = ObjectId() obj[k] = add_mongo_id(obj[k]) elif isinstance(obj, list): for i in obj: obj[obj.index(i)] = add_mongo_id(i) return obj
def add_mongo_id(obj, objidkeys = ['_id', u'_id',]): if isinstance(obj, str) or isinstance(obj, unicode): try: if len(obj) == 24: obj = ObjectId(obj) except: pass d = None try: d = datetime.datetime.strptime(obj, "%Y-%m-%d %H:%M:%S.%F") except: try: d = datetime.datetime.strptime(obj, "%Y-%m-%d %H:%M:%S") except: try: d = datetime.datetime.strptime(obj, "%Y-%m-%d") except: d = None if d: obj = d return obj elif isinstance(obj, dict): for k in obj.keys(): if k in objidkeys and obj[k] is None: obj[k] = ObjectId() obj[k] = add_mongo_id(obj[k]) elif isinstance(obj, list): for i in obj: obj[obj.index(i)] = add_mongo_id(i) return obj