Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
 def setUp(self):
     self.fetcher = LinkFetcher()