def get(self): # 編集確認 person_id = self.request.get("id") person_obj = '' if (person_id): person_obj = Person.get( person_id ) # 所有しない発言者IDを指定された場合は一覧へリダイレクトする if person_obj and person_obj.owner != users.get_current_user(): self.redirect(urls.APP_PERSON_URL) return # 所有する発言者を取得します query = Person.all() query.filter( 'owner = ', users.get_current_user() ) query.order('-created_on') owned_persons = query.fetch(limit = 1000) # 所有する発言者の名言を取得する meigens = '' if person_obj: query = Meigen.all() query.filter( 'owner = ', users.get_current_user() ) query.filter( 'person = ', person_obj ) meigens = query.fetch(limit = 1000) # 画面を表示する Viewer.generate(Viewer(), self.response, TEMPLATE_PATH, { 'persons': owned_persons, 'current_person': person_obj, 'meigens': meigens } )
def get(self): # パラメータ取得 twitter_id = self.request.get("id") # パラメータがなければ一覧へ if not twitter_id: self.redirect(urls.APP_INDEX_URL) return # データ取得 twitter_obj = Twitter.get( twitter_id ) # データがない! if not twitter_obj: # 無言で一覧へいかせるのさ self.redirect(urls.APP_INDEX_URL) return # 画面を表示する Viewer.generate( Viewer(), self.response, TEMPLATE_APP_INDEX_PATH, { 'current_twitter': twitter_obj, 'owned_twitters': models.get_owned_twitters( users.get_current_user() ) })
def get(self, meigen_id): # 名言個別ページを表示する if meigen_id: PortalMeigenHandler.individual(self, meigen_id) # 名言一覧ページを表示する else: Viewer.generate(Viewer(), self.response, LIST_TEMPLATE_PATH, { 'meigens': Meigen.all().order('-created_on') })
def get(self): # 新着名言を指定数取得する query = Meigen.all().order('-created_on') meigens = query.fetch( limit = DISPLAY_NUMBER ) # 画面を表示する # http://morchin.sakura.ne.jp/effective_python/method.html Viewer.generate(Viewer(), self.response, TEMPLATE_PATH, { 'meigens': meigens })
def get(self): # 所有する新着名言を指定数取得する query = Meigen.all() query.filter( 'owner = ', users.get_current_user() ) query.order('-created_on') owned_meigens = query.fetch( limit = DISPLAY_NUMBER ) # 画面を表示する Viewer.generate(Viewer(), self.response, TEMPLATE_PATH, { 'meigens': owned_meigens } )
def get(self): # 画面を表示する # http://morchin.sakura.ne.jp/effective_python/method.html Viewer.generate( Viewer(), self.response, TEMPLATE_APP_INDEX_PATH, { 'owned_twitters': models.get_owned_twitters( users.get_current_user() ) })
def get(self): # Userモデルに未登録だったら登録する user_obj = users.get_current_user() account = Account.get_or_insert( user_obj.user_id(), owner = user_obj, user_id = user_obj.user_id() ) # 画面表示 Viewer.generate(Viewer(), self.response, TEMPLATE_PATH, {} )
def individual(self, person_id): # 発言者取得 person_obj = Person.get(person_id) message = '' if (not person_obj): message = '指定された発言者は登録されていません' # 発言者の名言を取得 query = Meigen.all().order('-created_on') query.filter( 'person = ', person_obj ) meigens_of_person = query.fetch( limit = 1000 ) Viewer.generate(Viewer(), self.response, INDIVIDUAL_TEMPLATE_PATH, { 'current_person': person_obj, 'current_meigens': meigens_of_person, 'persons': Person.all().order('-created_on'), 'message': message })
def individual(self, meigen_id): meigen_obj = Meigen.get(meigen_id) message = '' if (not meigen_obj): message = '指定された名言は登録されていません' # 発言者の名言を取得 query = Meigen.all().order('-created_on') query.filter( 'person = ', meigen_obj.person ) meigens_of_person = query.fetch( limit = 6 ) Viewer.generate(Viewer(), self.response, INDIVIDUA_TEMPLATE_PATH, { 'current_meigen': meigen_obj, 'meigens_of_person': meigens_of_person, 'meigens': Meigen.all().order('-created_on'), 'message': message })
def post(self): # パラメータを取得する twitter_id = self.request.get("twitter_id") consumer_key = self.request.get("consumer_key") consumer_secret = self.request.get("consumer_secret") access_token = self.request.get("access_token") access_token_secret = self.request.get("access_token_secret") mailaddress = self.request.get("mailaddress") # パラメータチェック if (twitter_id == '' or consumer_key == '' or consumer_secret == ''): self.redirect(urls.APP_INDEX_URL) return # データ登録 or 更新 and 取得 twitter_obj = Twitter.get_or_insert( users.get_current_user().user_id() + twitter_id, owner = users.get_current_user(), twitter_id = twitter_id, consumer_key = consumer_key, consumer_secret = consumer_secret, access_token = access_token, access_token_secret = access_token_secret, mailaddress = mailaddress ) twitter_obj.consumer_key = consumer_key twitter_obj.consumer_secret = consumer_secret twitter_obj.access_token = access_token twitter_obj.access_token_secret = access_token_secret twitter_obj.mailaddress = mailaddress twitter_obj.put() # 画面を表示する Viewer.generate( Viewer(), self.response, TEMPLATE_APP_INDEX_PATH, { 'current_twitter': twitter_obj, 'owned_twitters': models.get_owned_twitters( users.get_current_user() ) })
def get(self): # 所有する発言者のみ取得する query = Person.all() query.filter( 'owner = ', users.get_current_user() ) query.order('-created_on') owned_persons = query.fetch(limit = 1000) # 所有する名言のみ取得する query = Meigen.all() query.filter( 'owner = ', users.get_current_user() ) query.order('-created_on') owned_meigens = query.fetch(limit = 1000) # 編集確認 meigen_id = self.request.get("id") meigen_obj = '' if (meigen_id): meigen_obj = Meigen.get( meigen_id ) # 画面を表示する Viewer.generate(Viewer(), self.response, TEMPLATE_PATH, {'persons': owned_persons, 'meigens': owned_meigens, 'current_meigen': meigen_obj })
def get(self): # 画面を表示する # http://morchin.sakura.ne.jp/effective_python/method.html Viewer.generate(Viewer(), self.response, TEMPLATE_PORTAL_INDEX_PATH, {})
def post(self): # パラメータを取得する mailaddress = self.request.get("mailaddress") twitter_id = self.request.get("twitter_id") consumer_key = self.request.get("consumer_key") consumer_secret = self.request.get("consumer_secret") access_token = self.request.get("access_token") access_token_secret = self.request.get("access_token_secret") # パラメータチェック if (twitter_id == '' or consumer_key == '' or consumer_secret == ''): self.redirect(urls.APP_INDEX_URL) return # データ登録 or 更新 and 取得 twitter_obj = Twitter.get_or_insert( users.get_current_user().user_id() + twitter_id, owner = users.get_current_user(), twitter_id = twitter_id, mailaddress = mailaddress, consumer_key = consumer_key, consumer_secret = consumer_secret, access_token = access_token, access_token_secret = access_token_secret ) twitter_obj.mailaddress = mailaddress twitter_obj.consumer_key = consumer_key twitter_obj.consumer_secret = consumer_secret twitter_obj.access_token = access_token twitter_obj.access_token_secret = access_token_secret twitter_obj.put() # Twitterアカウント有無確認 # result_test_tweet = '' # try: # result = urlfetch.fetch(TWITTER_BASE_URL + twitter_id) # if not (result.status_code == 200): # result_test_tweet = 'Twitterアカウントが間違っているかもしれません' # except urlfetch.DownloadError, e: # logging.error('Download error: %s', e) # result_test_tweet = e # つぶやく client = oauth.TwitterClient(twitter_obj.consumer_key, twitter_obj.consumer_secret, None) try: client.make_request('http://twitter.com/statuses/update.json', token = twitter_obj.access_token, secret = twitter_obj.access_token_secret, additional_params = {'status': u"test"}, protected = True, method = 'POST') result_test_tweet = 'SET (SuccEss Tweet)' except e: logging.error('Tweet error: %s', e) # 画面を表示する Viewer.generate( Viewer(), self.response, TEMPLATE_APP_INDEX_PATH, { 'current_twitter': twitter_obj, 'owned_twitters': models.get_owned_twitters( users.get_current_user() ), 'result_test_tweet': result_test_tweet })
def get(self, person_id): # 発言者個別ページを表示する if person_id: PortalPersonHandler.individual(self, person_id) else: Viewer.generate(Viewer(), self.response, LIST_TEMPLATE_PATH, {'persons': Person.all().order('-created_on') })