Example #1
0
  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() )
      })
Example #2
0
 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() )
     })
Example #3
0
  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() )
      })
Example #4
0
  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
      })