def __init__(self, id, createDate): self.__id = unicode(id) jst = Utility.convert_jst_time(createDate) # self.__createDate = jst.strftime('%Y年%m月%d日 %H時%M分ごろの絵') とやりたいけれど、unicodeを渡せない # 改行して見やすくするために、右辺はカッコで閉じている self.__createDate = ( unicode(jst.year) + u'年' + unicode(jst.month) + u'月' + unicode(jst.day) + u'日 ' + unicode(jst.hour) + u'時' + unicode(jst.minute) + u'分ごろの絵' )
def get(self): # 本とは異なり、main.htmlにuser関連の情報を持たせていないので、ここで取得する user, nickname = user_filter.do_filter() # ログインしていなければ登録しない if user == None: return # Over Runしていたら登録しない # leftLengthの算出方法は、main.jsの82行目に合わせる:小数点以下は切り捨てで計算、6での除算はトライ・アンド・エラーによるものらしい decimalLength = decimal.Decimal(self.request.get('leftLength')) leftLength = int((decimalLength / 6).to_integral_exact(rounding=decimal.ROUND_DOWN)) if leftLength < 0: return # スコアエンティティを登録する accountId = user.federated_identity() if accountId == None: accountId = user.user_id() if nickname == None: nickname = 'Unknown nickname' jst = Utility.get_jst_now() offset = Score.get_date_offset(jst) rankValue = offset + leftLength q = Score( key_name=accountId, nickname=nickname, registerDate=jst, rankValue=rankValue, ) q.put()
def get_left_length(self): jst = Utility.convert_jst_time(self.registerDate) offset = self.get_date_offset(jst) return unicode(float(self.rankValue - offset) / 10)