def update_photo_data(self, data): success = False old_id = self.photo_id try: new_id = old_id + 1 doubanfs.set("/me/card/%s/photo/%s/%s" % (self.id, new_id, Cate.ORIGIN), data) from webapp.models.utils import scale d = scale(data, Cate.LARGE, DEFAULT_CONFIG) doubanfs.set("/me/card/%s/photo/%s/%s" % (self.id, new_id, Cate.LARGE), d) print "update photo success photo_id=%s" % new_id store.execute("update me_card set `photo`=%s where `user_id`=%s", (new_id, self.id)) store.commit() success = True except: print "doubanfs write fail!!! %s" % self.id self.photo_id = old_id store.execute("update me_card set `photo`=`photo`-1 where `user_id`=%s", self.id) store.commit() doubanfs.delete("/me/card/%s/photo/%s/%s" % (self.id, new_id, Cate.LARGE)) doubanfs.delete("/me/card/%s/photo/%s/%s" % (self.id, new_id, Cate.ORIGIN)) print 'rollback photo to old_id', old_id if success: Notify.new(self.id, self.id, Notify.TYPE_CHANGE_PHOTO, extra={'photo_id':new_id}) print "send change photo blog" from webapp.models.blog import Blog Blog.new(self.id, Blog.TYPE_BLOG, Blog.BLOG_ICON, extra={'photo_id':new_id}) doubanmc.delete(self.MC_KEY % self.id) doubanmc.delete(self.MC_KEY % self.uid)
def hide(cls, card_id, admin_id): if admin_id in ADMINS: store.execute("update me_card set flag=%s where user_id=%s", (cls.FLAG_HIDE, card_id)) store.commit() card = cls.get(card_id) if card: doubanmc.delete(cls.MC_KEY % card.id) doubanmc.delete(cls.MC_KEY % card.uid)
def update_photo_id(self, photo_id): store.execute("update me_card set `photo`=%s where `user_id`=%s", (photo_id, self.id)) store.commit() doubanmc.delete(self.MC_KEY % self.id) doubanmc.delete(self.MC_KEY % self.uid)
def update_basic(self, name, skype, alias, join_time): store.execute("update me_card set `name`=%s, skype=%s, `alias`=%s, join_time=%s where" " `user_id`=%s", (name, skype, alias, join_time, self.id)) store.commit() doubanmc.delete(self.MC_KEY % self.id) doubanmc.delete(self.MC_KEY % self.uid)
def update_account(self, name, email): store.execute("update me_card set email=%s, `name`=%s where `user_id`=%s", (email, name, self.id)) store.commit() doubanmc.delete(self.MC_KEY % self.id) doubanmc.delete(self.MC_KEY % self.uid)
def new(cls, user_id, uid): now = datetime.now() store.execute("insert into me_card(`user_id`,`uid`, `ctime`) values(%s,%s,%s)" " on duplicate key update rtime=%s", (user_id, uid, now, now)) store.commit() doubanmc.delete("me:users:dict")