def new(activity): if not isinstance(activity, Activity): raise Exception('invalid activity object', activity) try: c = Db().get('activities') tmp = activity.toDatabase() if '_id' in tmp: del tmp['_id'] id = c.insert(tmp, True) activity.id = id except DbError: output.error('cannot access db', 503)
def new(obj): #Db().get('users').ensure_index([('username', storage.DESCENDING)], { 'unique' : True, 'background' : False, 'dropDups' : True }) Db().get('users').ensure_index([('uid', DESCENDING) ], {'unique': True, 'background': False, 'dropDups': True}) Db().get('users').ensure_index([('email', DESCENDING) ], {'unique': True, 'background': False, 'dropDups': True}) Db().get('users').ensure_index([('connect.facebook', DESCENDING)], {'unique': True, 'background': False, 'sparse': True, 'dropDups': True}) c = Db().get('users') try: id = c.insert(obj.__dict__, True) obj._id = id except Exception as e: e = '%s' % e err = e if 'username' in e: err = 'username' elif 'email' in e: err = 'email' raise Duplicate(err) return obj