def post(self): self.response.content_type = "application/json" user_id = self.request.get('user_id') password = self.request.get('password') event_id = self.request.get('event_id') try: ShourUser.shour_authorize(user_id, password) except ShourAppError, e: data = {"message": False, "err":e.value} json.dump(data, self.response.out, ensure_ascii=False) return
def is_acceptable(self, user_id, friend_id): user = ShourUser.get_by_id(int(user_id)) friend = ShourUser.get_by_id(int(friend_id)) if not user: # 申請元が存在しない raise ShourAppError(20001) if not friend: # 相手方が存在しない raise ShourAppError(20002) else: # 申請元または相手方ユーザーが存在しない return [user, friend]
def post(self): self.response.content_type = "application/json" name = self.request.get("name") first_name = self.request.get("first_name") last_name = self.request.get("last_name") picture = self.request.get("picture") password = self.request.get("password") email = self.request.get("mail") lang = self.request.get("lang") # メールが重複して登録されていないか try: ShourUser.sign_up_check(email) except ShourAppError, e: data = {"message": False, "err": e.value} json.dump(data, self.response.out, ensure_ascii=False) return
def post(self): self.response.content_type = "application/json; charset=utf-8" profile_id = self.request.get('profile_id') try: profile = ShourUser.show(profile_id) data = {"name": profile.name, "first_name": profile.first_name, "last_name": profile.last_name, "picture_url":profile.picture_url, "created_at":profile.created_at, "last_login":profile.last_login} data = jsonencoder.GqlEncoder().encode(data) self.response.out.write(data) except ShourAppError, e: data = {"message": False, "err":e.value} json.dump(data, self.response.out, ensure_ascii=False)
def post(self): self.response.content_type = "application/json" email = self.request.get("mail") password = self.request.get("password") try: user_id = ShourUser.login_check(email, password) data = {"user_id": user_id} json.dump(data, self.response.out, ensure_ascii=False) except ShourAppError, e: data = {"message": False, "err": e.value} json.dump(data, self.response.out, ensure_ascii=False)
def post(self): self.response.content_type = "application/json" user_id = int(self.request.get('user_id')) password = self.request.get('password') offset = self.request.get('offset') # オフセットを初期化(パラメータが無ければoffset=0) offset = ShourPost.set_offset(offset) try: user = ShourUser.shour_authorize(user_id, password) except ShourAppError, e: data = {"message": False, "err":e.value} json.dump(data, self.response.out, ensure_ascii=False) return
def post(self): self.response.content_type = "application/json" # ここはint()が必要。 user_id = int(self.request.get('user_id')) password = self.request.get('password') start_time = datetime.datetime.strptime(urllib.unquote_plus(self.request.get('start_time')), '%Y-%m-%d %H:%M:%S') end_time = self.request.get('end_time') if end_time != "": end_time = datetime.datetime.strptime(urllib.unquote_plus(self.request.get('end_time')), '%Y-%m-%d %H:%M:%S') place_name = self.request.get('place_name') place_address = self.request.get('place_address') place_lat = self.request.get('place_lat') place_lng = self.request.get('place_lng') comment = self.request.get('comment') status_id = int(self.request.get('status_id')) public_id = int(self.request.get('public_id')) modified_at = datetime.datetime.now() try: ShourUser.shour_authorize(user_id, password) except ShourAppError, e: data = {"message": False, "err":e.value} json.dump(data, self.response.out, ensure_ascii=False) return
def activate(self, token, tmp_user_id, user_id): if token: tmp_user = db.get(token) user = ShourUser.get_by_id(int(user_id)) else: # アクティベートに失敗 raise ShourAppError(10006) if tmp_user and user: if tmp_user.used == True: # アクティベートに失敗 raise ShourAppError(10006) elif user.active == True: # アクティベートに失敗 raise ShourAppError(10006) # クロスグループトランザクションCross-Group (XG) Transactions有効化 xg_on = db.create_transaction_options(xg=True) db.run_in_transaction_options(xg_on, ShourTempUser.activate_all, tmp_user, user) else: # アクティベートに失敗 raise ShourAppError(10006)
data = {"message": False, "err": e.value} json.dump(data, self.response.out, ensure_ascii=False) return # DB保存用のurl picture_url = "http://commondatastorage.googleapis.com/sh_avatar/user/" + str(picture_id) + ext_ # Google Cloud Storage用url READ_PATH = "/gs/sh_avatar/user/" + token + ext_ write_path = files.gs.create(READ_PATH, mime_type=header, acl="public-read") with files.open(write_path, "a") as fp: fp.write(picture) files.finalize(write_path) else: # 無ければデフォルトの画像を設定 picture_url = "http://commondatastorage.googleapis.com/sh_avatar/default/default_avater.png" # 公開鍵作成 rsa = ShourUser.generate_rsa_pub_and_private_key(password) # POSTされたユーザデータをモデルに変換 shour_user = ShourUser( name=name, first_name=first_name, last_name=last_name, picture_url=picture_url, picture_id=picture_id, rsa_pub_key=rsa[0], password=rsa[1], mail=email, active=False, token=token, ) user_id = 0 try: