示例#1
0
    def short_url_in_message(self, message):
        all_urls = get_urls(message)
        if len(all_urls) == 0:
            raise NoURLToShorten

        for long_url in all_urls:
            try:
                short_url = self.short_single_url(long_url)
            except URLAlreadyShort:
                short_url = long_url
            finally:
                message = message.replace(long_url, short_url)
        return message
示例#2
0
    def short_url_in_message(self, message):
        all_urls = get_urls(message)
        if len(all_urls) == 0:
            raise NoURLToShorten

        for long_url in all_urls:
            try:
                short_url = self.short_single_url(long_url)
            except URLAlreadyShort:
                short_url = long_url
            finally:
                message = message.replace(long_url, short_url)
        return message
示例#3
0
    def autoshort_url(self, message):
        service = self.config.read('Services', 'shorten-url')
        try:
            all_urls = get_urls(message)
            if len(all_urls) == 0:
                raise NoURLException

            # TODO: Validate already shorten URLs
            for url in all_urls:
                urlshorter = URL_SERVICES[service].do_service(url)
                message = message.replace(url, urlshorter.response)
            return Response(message)
        except Exception, exc:
            return self.__handle_exception(exc)
示例#4
0
    def autoshort_url(self, message):
        service = self.config.read('Services', 'shorten-url')
        try:
            all_urls = get_urls(message)
            if len(all_urls) == 0:
                raise NoURLException

            # TODO: Validate already shorten URLs
            for url in all_urls:
                urlshorter = URL_SERVICES[service].do_service(url)
                message = message.replace(url, urlshorter.response)
            return Response(message)
        except Exception, exc:
            return self.__handle_exception(exc)
示例#5
0
文件: protocol.py 项目: pnael/Python
    def get_entities(self, status):
        entities = {
            'urls': [],
            'hashtags': [],
            'mentions': [],
            'groups': [],
        }
        text = status['text']

        for url in get_urls(text):
            entities['urls'].append(Entity(self.account_id, url, url, url))

        for item in HASHTAG_PATTERN.findall(text):
            url = "%s/%s" % (self.hashtags_url, item[1:])
            entities['hashtags'].append(Entity(self.account_id,
                                               url, item, item))

        for item in MENTION_PATTERN.findall(text):
            entities['mentions'].append(Entity(self.account_id, item[1:],
                                               item, item))
        return entities
示例#6
0
    def get_entities(self, status):
        entities = {
            'urls': [],
            'hashtags': [],
            'mentions': [],
            'groups': [],
        }
        text = status['text']

        for url in get_urls(text):
            entities['urls'].append(Entity(self.account_id, url, url, url))

        for item in HASHTAG_PATTERN.findall(text):
            url = "%s/%s" % (self.hashtags_url, item[1:])
            entities['hashtags'].append(
                Entity(self.account_id, url, item, item))

        for item in MENTION_PATTERN.findall(text):
            entities['mentions'].append(
                Entity(self.account_id, item[1:], item, item))
        return entities
示例#7
0
文件: updatebox.py 项目: urkh/Turpial
 def __count_chars(self):
     message = self.text_edit.toPlainText()
     urls = [str(url) for url in get_urls(message) if len(url) > 23]
     for url in urls:
         message = message.replace(url, '0' * 23)
     return MAX_CHAR - len(message)