def request_data(self, title, artist): quote_title = urllib.quote(title) quote_artist = urllib.quote(artist) raw_data = public_curl.get(self.TTPOD_SEARCH_URL % (quote_title, quote_artist)) json_data = parser_json(raw_data) lrc_data = json_data.get('data', {}).get('lrc', None) return lrc_data
def api_request(self, url, method="GET", extra_data=dict(), retry_limit=2, **params): ret = None data = {} data.update(extra_data) data.update(params) for key in data: if callable(data[key]): data[key] = data[key]() if isinstance(data[key], (list, tuple, set)): data[key] = ",".join(map(str, list(data[key]))) if isinstance(data[key], unicode): data[key] = data[key].encode("utf-8") try: if method == "GET": if data: query = urllib.urlencode(data) url = "%s?%s" % (url, query) ret = public_curl.get(url) elif method == "POST": body = urllib.urlencode(data) ret = public_curl.post(url, body) except CurlException: if retry_limit == 0: return data else: retry_limit -= 1 return self.api_request(url, method, extra_data, retry_limit, **params) data = common.parser_json(ret) return data
def query_artist_cover_from_xiami(artist_name): xiami_search_url = "http://www.xiami.com/search?key={0}&pos=1" search_url = xiami_search_url.format(artist_name) html = public_curl.get(search_url) try: search_query = PyQuery(html) except Exception, e: return False
def read_entire_file(uri): ''' Return entire_file content. ''' data = "" if get_scheme(uri) == "file": f = file(get_path_from_uri(uri), "r") data = f.read() f.close() else: try: data = public_curl.get(uri) except CurlException, e: logger.logexception("failed read %s, %s", uri, e) data = ""
def query_album_cover_from_xiami(artist_name, album_name): if not artist_name and not album_name: return False xiami_album_search_url = 'http://www.xiami.com/search/album?key=' + artist_name + '+' + album_name html = public_curl.get(xiami_album_search_url) try: search_result_object = PyQuery(html) album_info_element = search_result_object('div.albumBlock_list div.album_item100_block p.cover a.CDcover100 img') info_href_attr = album_info_element.attr('src') if not info_href_attr: return False return info_href_attr.replace("_1", "_2") except: return False
def request(self, title, artist): quote_title = urllib.quote(title) quote_artist = urllib.quote(artist) raw_data = public_curl.get(self.TTPOD_SEARCH_URL % (quote_title, quote_artist)) json_data = parser_json(raw_data) lrc_infos = [] lrc_data = json_data.get('data', {}).get('lrc', None) if lrc_data: temp_url = self.save_to_temp(lrc_data) lrc_infos.append((artist, title, temp_url)) return lrc_infos
def query_album_cover_from_xiami(artist_name, album_name): if not is_network_connected(): return None if not artist_name and not album_name: return False xiami_album_search_url = 'http://www.xiami.com/search/album?key=' + artist_name + '+' + album_name html = public_curl.get(xiami_album_search_url) try: search_result_object = PyQuery(html) album_info_element = search_result_object('div.albumBlock_list div.album_item100_block p.cover a.CDcover100 img') info_href_attr = album_info_element.attr('src') if not info_href_attr: return False return info_href_attr.replace("_1", "_2") except: return False