def isValid(text): """ A valid input should be in the form of: weather <city> """ text = utils.escape_query(text) content = utils.open_file(os.path.join(os.getcwd(),"glaucobot/assets/salutations.txt")) for line in content: if bool(re.search(r'%s' %(line.lower()), text, re.IGNORECASE)): return True return False
def handle(text): text = utils.escape_query(text) text = [t.strip() for t in text[text.find("currency"):].split(" ") if t != ''] cur1, cur2 = text[1].upper(), text[3].upper() r = requests.get(urls.currency % (cur1, cur2)) soup = BeautifulSoup(r.text) value = 0 for table in soup.findAll("tr", attrs={'class': re.compile(urls.curr_class)}): value = table.findAll("td")[-1].string.split(" ")[0].encode("utf-8") return "1 %s is worth %s %s on %s %s" % (cur2, value[11:15], cur1, datelib.seconds_to_formatted_date(str(time.time())), datelib.seconds_to_formatted_time(str(time.time())))
def handle(text): tmp = [] text = utils.escape_query(text) text = [t.strip() for t in text[text.find("weather"):].split(" ") if t != ''] command, city = text[0], text[1] r = requests.get('http://api.openweathermap.org/data/2.5/weather?q=%s' % city) try: weather_info = json.loads(r.text) except ValueError: return "There was a problem with your request, please try again." for condition in weather_info['weather']: tmp.append(condition['main']) condition = "/".join(tmp) city = weather_info["name"] country = weather_info["sys"]["country"] min_temp = utils.k2c(float(weather_info["main"]["temp_min"])) max_temp = utils.k2c(float(weather_info["main"]["temp_max"])) response = "%s in %s/%s. Min %.1f C, Max %.1f C." % (condition, city, country, min_temp, max_temp) return response
query_album_tracks = """ SELECT DISTINCT t.name FROM track t JOIN medium m ON t.medium=m.id JOIN release r ON m.release=r.id WHERE r.release_group = %s """ category_re = {} category_re['en'] = re.compile(r'\[\[Category:(.+?)(?:\|.*?)?\]\]') category_re['fr'] = re.compile(r'\[\[Cat\xe9gorie:(.+?)\]\]') for rg_id, rg_gid, rg_name, ac_name, rg_sec_types, processed in db.execute(query, query_params): colored_out(bcolors.OKBLUE, 'Looking up release group "%s" https://musicbrainz.org/release-group/%s' % (rg_name, rg_gid)) matches = wps.query(escape_query(rg_name), defType='dismax', qf='name', rows=100).results last_wp_request = time.time() for match in matches: title = match['name'] if mangle_name(re.sub(' \(.+\)$', '', title)) != mangle_name(rg_name) and mangle_name(title) != mangle_name(rg_name): continue delay = time.time() - last_wp_request if delay < 1.0: time.sleep(1.0 - delay) last_wp_request = time.time() wikipage = WikiPage.fetch('https://%s.wikipedia.org/wiki/%s' % (wp_lang, title)) page_orig = wikipage.text if not page_orig: continue page_title = title colored_out(bcolors.HEADER, ' * trying article %s' % (title,))
def isValid(text): """ A valid input should be in the form of: weather <city> """ text = utils.escape_query(text) return text[-1] == '?'
-- Select artists of recordings of works for this artist (i.e. performers of works this artist wrote) SELECT acn.artist AS artist FROM artist_credit_name acn JOIN recording ON acn.artist_credit = recording.artist_credit JOIN l_recording_work lrw ON recording.id = lrw.entity0 JOIN l_artist_work law ON lrw.entity1 = law.entity1 WHERE law.entity0 = %s ) """ for artist in db.execute(query, query_params): colored_out( bcolors.OKBLUE, 'Looking up artist "%s" http://musicbrainz.org/artist/%s' % (artist['name'], artist['gid'])) matches = wps.query(escape_query(artist['name']), defType='dismax', qf='name', rows=50).results last_wp_request = time.time() for match in matches: title = match['name'] if title.endswith('album)') or title.endswith('song)'): continue if mangle_name(re.sub(' \(.+\)$', '', title)) != mangle_name( artist['name']) and mangle_name(title) != mangle_name( artist['name']): continue delay = time.time() - last_wp_request if delay < 1.0: time.sleep(1.0 - delay)
JOIN l_artist_work law ON lrw.entity1 = law.entity1 WHERE acn.artist = %s UNION -- Select artists of recordings of works for this artist (i.e. performers of works this artist wrote) SELECT acn.artist AS artist FROM artist_credit_name acn JOIN recording ON acn.artist_credit = recording.artist_credit JOIN l_recording_work lrw ON recording.id = lrw.entity0 JOIN l_artist_work law ON lrw.entity1 = law.entity1 WHERE law.entity0 = %s ) """ for artist in db.execute(query, query_params): colored_out(bcolors.OKBLUE, 'Looking up artist "%s" http://musicbrainz.org/artist/%s' % (artist['name'], artist['gid'])) matches = wps.query(escape_query(artist['name']), defType='dismax', qf='name', rows=50).results last_wp_request = time.time() for match in matches: title = match['name'] if title.endswith('album)') or title.endswith('song)'): continue if mangle_name(re.sub(' \(.+\)$', '', title)) != mangle_name(artist['name']) and mangle_name(title) != mangle_name(artist['name']): continue delay = time.time() - last_wp_request if delay < 1.0: time.sleep(1.0 - delay) last_wp_request = time.time() wikipage = WikiPage.fetch('https://%s.wikipedia.org/wiki/%s' % (wp_lang, title)) page_orig = wikipage.text if not page_orig: continue
JOIN l_artist_work law ON lrw.entity1 = law.entity1 WHERE acn.artist = %s UNION -- Select artists of recordings of works for this artist (i.e. performers of works this artist wrote) SELECT acn.artist AS artist FROM artist_credit_name acn JOIN recording ON acn.artist_credit = recording.artist_credit JOIN l_recording_work lrw ON recording.id = lrw.entity0 JOIN l_artist_work law ON lrw.entity1 = law.entity1 WHERE law.entity0 = %s ) """ for artist in db.execute(query, query_params): colored_out(bcolors.OKBLUE, 'Looking up artist "%s" http://musicbrainz.org/artist/%s' % (artist['name'], artist['gid'])) matches = wps.query(escape_query(artist['name']), defType='dismax', qf='name', rows=50).results last_wp_request = time.time() for match in matches: title = match['name'] if title.endswith('album)') or title.endswith('song)'): continue if mangle_name(re.sub(' \(.+\)$', '', title)) != mangle_name(artist['name']) and mangle_name(title) != mangle_name(artist['name']): continue delay = time.time() - last_wp_request if delay < 1.0: time.sleep(1.0 - delay) last_wp_request = time.time() wikipage = WikiPage.fetch('http://%s.wikipedia.org/wiki/%s' % (wp_lang, title)) page_orig = wikipage.text if not page_orig: continue
JOIN medium m ON t.medium=m.id JOIN release r ON m.release=r.id WHERE r.release_group = %s """ category_re = {} category_re['en'] = re.compile(r'\[\[Category:(.+?)(?:\|.*?)?\]\]') category_re['fr'] = re.compile(r'\[\[Cat\xe9gorie:(.+?)\]\]') for rg_id, rg_gid, rg_name, ac_name, rg_sec_types, processed in db.execute( query, query_params): colored_out( bcolors.OKBLUE, 'Looking up release group "%s" http://musicbrainz.org/release-group/%s' % (rg_name, rg_gid)) matches = wps.query(escape_query(rg_name), defType='dismax', qf='name', rows=100).results last_wp_request = time.time() for match in matches: title = match['name'] if mangle_name(re.sub(' \(.+\)$', '', title)) != mangle_name( rg_name) and mangle_name(title) != mangle_name(rg_name): continue delay = time.time() - last_wp_request if delay < 1.0: time.sleep(1.0 - delay) last_wp_request = time.time() page_orig = get_page_content(wp, title, wp_lang) if not page_orig:
query_album_tracks = """ SELECT DISTINCT t.name FROM track t JOIN medium m ON t.medium=m.id JOIN release r ON m.release=r.id WHERE r.release_group = %s """ category_re = {} category_re['en'] = re.compile(r'\[\[Category:(.+?)(?:\|.*?)?\]\]') category_re['fr'] = re.compile(r'\[\[Cat\xe9gorie:(.+?)\]\]') for rg_id, rg_gid, rg_name, ac_name, rg_sec_types, processed in db.execute(query, query_params): colored_out(bcolors.OKBLUE, 'Looking up release group "%s" http://musicbrainz.org/release-group/%s' % (rg_name, rg_gid)) matches = wps.query(escape_query(rg_name), defType='dismax', qf='name', rows=100).results last_wp_request = time.time() for match in matches: title = match['name'] if mangle_name(re.sub(' \(.+\)$', '', title)) != mangle_name(rg_name) and mangle_name(title) != mangle_name(rg_name): continue delay = time.time() - last_wp_request if delay < 1.0: time.sleep(1.0 - delay) last_wp_request = time.time() page_orig = get_page_content(wp, title, wp_lang) if not page_orig: continue page_title = title url = 'http://%s.wikipedia.org/wiki/%s' % (wp_lang, quote_page_title(page_title),) colored_out(bcolors.HEADER, ' * trying article %s' % (title,))