def updateStatus(status, user, services=['Facebook', 'Buzz', 'Twitter'], settings={}): if status in (None, ""): {"result": "error", "message": "Empty Status"} return urlMatchObj = re.search( "((https?|ftp):\/\/)?([-a-z0-9+&@#\/%?=~_|!:,;]{2,}\.)+[-a-z0-9+&@#\/%=~_|]+", status, re.IGNORECASE) urlMatch = status[urlMatchObj.start():urlMatchObj.end( )] if urlMatchObj else None s = ['Facebook', 'Buzz', 'Twitter'] services = list(set(services) & set(s)) if services == []: return { "result": "error", "message": "Service specification error!" } res = {} statusObj = {"status": status, "settings": settings} if urlMatch: from LinkFetcher import LinkFetcher try: lf = LinkFetcher(urlMatch) statusObj['link'] = {} statusObj['link']['url'] = lf.url() statusObj['link']['description'] = lf.description() statusObj['link']['title'] = lf.title() except Exception, e: pass
def getURLs(query, key, urlToQueryMap): ''' This function returns Google search result URLs against a query. :param query: A list containing query keywords :param urlToQueryMap: A dictionary that maps URLs to their queries :return: A list of URLs ''' links = [] results = LinkFetcher().getUrlsGoogle(query, key) try: if "items" in results: for item in results["items"]: link = item["link"] links.append(link) if link in urlToQueryMap: urlToQueryMap[link].append(query) else: urlToQueryMap[link] = [query] except Exception as e: logging.exception( "Exception occurred while trying to fetch links for query " + str(query) + ", returned results: " + str(results) + ", Exception: " + str(e)) return links
def setUp(self): self.fetcher = LinkFetcher()