Example #1
0
def parse(subject, body):
  # circular import
  from discoversong.parse import has_parts, get_parts
  lead = 'Check out '
  separator = ' by '
  terminator = '! I just found it using TrackID'
  
  if not has_parts(body, lead, separator, terminator):
    raise ParseError('Not TrackID!')
  return get_parts(body, lead, separator, terminator)
Example #2
0
def parse_twitter_1(twit_content):
  # circular import
  from discoversong.parse import has_parts, get_parts
  lead = 'discover '
  separator = ' by '
  terminator = '.'
  if not has_parts(twit_content, lead, separator, terminator):
    raise ParseError('%s Not Shazam!' % twit_content)
  title, artist = get_parts(twit_content, lead, separator, terminator)
  return title, artist
Example #3
0
def parse_twitter_2(twit_content):
  # I just used #Shazam to tag Lights by Ellie Goulding. http://shz.am/t53069421
  from discoversong.parse import has_parts, get_parts
  lead = '#Shazam to tag '
  separator = ' by '
  terminator = '. http'
  if not has_parts(twit_content, lead, separator, terminator):
    raise ParseError('%s Not Shazam 2!' % twit_content)
  title, artist = get_parts(twit_content, lead, separator, terminator)
  return title, artist
Example #4
0
def parse_1(subject, body):
  # circular import
  from discoversong.parse import has_parts, get_parts
  lead = 'I just used Shazam to tag '
  separator = ' by '
  terminator = '.'
  
  if not has_parts(subject, lead, separator, terminator):
    raise ParseError('Not Shazam!')
  return get_parts(subject, lead, separator, terminator)
Example #5
0
def parse(subject, body):
  # circular import
  from discoversong.parse import has_parts, get_parts
  lead = 'Just found '
  separator = ' by '
  terminator = ' on #SoundHound'
  
  if not has_parts(body, lead, separator, terminator):
    raise ParseError('Not SoundHound!')
  return get_parts(body, lead, separator, terminator)
Example #6
0
def parse(subject, body):
  # circular import
  from discoversong.parse import has_parts, get_parts
  lead = 'I just used @musixmatch to discover '
  separator = ' by '
  terminator = ' #lyrics'
  
  if not has_parts(body, lead, separator, terminator):
    raise ParseError('Not MusixMatch!')
  return get_parts(body, lead, separator, terminator)
Example #7
0
def parse_2(subject, body):
  # circular import
  from discoversong.parse import has_parts, get_parts
  expected_subject = 'I just used Shazam'
  lead = 'I just used #Shazam to discover '
  separator = ' by '
  terminator = '.'

  if subject != expected_subject or not has_parts(body, lead, separator, terminator):
    raise ParseError('Not Shazam!')
  return get_parts(body, lead, separator, terminator)
Example #8
0
def parse_twitter(twit_content):
  # circular import
  from discoversong.parse import has_parts, get_parts
  lead = u'@dscvrsng – '
  separator = ' by '
  url_prefix = ', from #SoundHound '
  if not has_parts(twit_content, lead, separator, url_prefix):
    raise ParseError('%s Not SoundHound!' % twit_content)
  title, artist = get_parts(twit_content, lead, separator, url_prefix)
  if artist.startswith('@'):
    url = twit_content[twit_content.find(url_prefix) + len(url_prefix):]
    tree = etree.HTML(requests.get(url).text)
    artist = tree.xpath('//div[@class="artistName"]/a/text()')[0]
  return title, artist