예제 #1
0
 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)
예제 #2
0
    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