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)
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
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
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)
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)
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)
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)
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