Ejemplo n.º 1
0
 def POST(self):
   db = get_db()
   
   form_input = get_input()
   
   envelope = json.loads(form_input['envelope'])
   to_addresses = envelope['to']
   
   for to_address in to_addresses:
     
     lookup = db.select(USER_TABLE, where="address='%s'" % to_address)
     
     if len(lookup) == 1:
       result = lookup[0]
       
       access_token = str(result['token'])
       access_token_secret = str(result['secret'])
       
       rdio, current_user, user_id = get_rdio_and_current_user(access_token=access_token, access_token_secret=access_token_secret)
       
       stats.got_email(user_id)
       
       subject = form_input['subject']
       body = form_input['text']
       
       try:
         title, artist = parse(subject, body)
       except Exception as e:
         logging.exception(e.message)
         return None
       
       search_results = well_formed_search(rdio, user_id, artist, title)
       return_results(rdio, user_id, search_results)
   
   return None
Ejemplo n.º 2
0
#!/usr/bin/env python

from discoversong.parse import parse_twitter
from discoversong.rdio import get_discoversong_user_by_twitter, get_rdio_and_current_user
from discoversong.twitter import get_mentions
from discoversong.stats import read_to_mention
from discoversong.well_formed_search import well_formed_search, return_results

mentions = get_mentions()
for mention in mentions:
  disco_user_row = get_discoversong_user_by_twitter(mention["user"]["screen_name"])
  if disco_user_row is None:
    continue
  try:
    title, artist = parse_twitter(mention["text"])
  except:
    continue
  
  token, secret = str(disco_user_row['token']), str(disco_user_row['secret'])
  
  rdio, current_user, user_id = get_rdio_and_current_user(access_token=token, access_token_secret=secret)
  search_results = well_formed_search(rdio, user_id, artist, title)
  return_results(rdio, user_id, search_results, from_tweet_id=mention["id"])
  read_to_mention(mention["id"])