def __build_open_item(self, menu, info): _open = gtk.MenuItem(_('Open')) open_menu = gtk.Menu() total_urls = util.detect_urls(info['msg']) total_users = util.detect_mentions(info['msg']) total_tags = util.detect_hashtags(info['msg']) total_groups = util.detect_groups(info['msg']) if not self.mainwin.request_groups_url(): total_groups = [] for u in total_urls: url = u if len(u) < 30 else u[:30] + '...' umenu = gtk.MenuItem(url) umenu.connect('button-release-event', self.__open_url_with_event, u) open_menu.append(umenu) if self.mainwin.read_config_value('General', 'expand-urls') == 'on': def __update_umenu(text): try: umenu.child.set_text( text ) except Exception, error: print error self.mainwin.request_expanded_url(u, __update_umenu)
def __highlight_hashtags(self, text): hashtags = util.detect_hashtags(text) if len(hashtags) == 0: return text for h in hashtags: torep = '#%s' % h cad = '<span foreground="#%s">#%s</span>' % (self.mainwin.link_color, h) text = text.replace(torep, cad) return text
def __build_open_item(self, menu, info): _open = gtk.MenuItem(_('Open')) open_menu = gtk.Menu() total_urls = util.detect_urls(info['msg']) total_users = util.detect_mentions(info['msg']) total_tags = util.detect_hashtags(info['msg']) total_groups = util.detect_groups(info['msg']) if not self.mainwin.request_groups_url(): total_groups = [] for u in total_urls: url = u if len(u) < 30 else u[:30] + '...' umenu = gtk.MenuItem(url) umenu.connect('button-release-event', self.__open_url_with_event, u) open_menu.append(umenu) if len(total_urls) > 0 and len(total_tags) > 0: open_menu.append(gtk.SeparatorMenuItem()) for h in total_tags: hashtag = self.mainwin.request_hashtags_url() + h[1:] hmenu = gtk.MenuItem(h) hmenu.connect('button-release-event', self.__open_url_with_event, hashtag) open_menu.append(hmenu) for h in total_groups: hashtag = '/'.join([self.mainwin.request_groups_url(), h[1:]]) hmenu = gtk.MenuItem(h) hmenu.connect('button-release-event', self.__open_url_with_event, hashtag) open_menu.append(hmenu) if (len(total_urls) > 0 or len(total_tags) > 0 or len(total_groups) > 0) and len(total_users) > 0: open_menu.append(gtk.SeparatorMenuItem()) exist = [] for m in total_users: if m == info['user'] or m in exist: continue exist.append(m) user_prof = '/'.join([self.mainwin.request_profiles_url(), m[1:]]) mentmenu = gtk.MenuItem(m) mentmenu.connect('button-release-event', self.__open_url_with_event, user_prof) open_menu.append(mentmenu) _open.set_submenu(open_menu) if ((len(total_urls) > 0) or (len(total_users) > 0) or (len(total_tags) > 0) or (len(total_groups) > 0)): menu.append(_open) return menu
def __highlight_hashtags(self, text): hashtags = util.detect_hashtags(text) if len(hashtags) == 0: return text for h in hashtags: torep = '%s' % h try: cad = '<span foreground="%s">%s</span>' % ( self.mainwin.link_color, h) text = text.replace(torep, cad) except: log.debug('Problemas para resaltar el hashtag: %s' % h) return text
def __highlight_hashtags(self, text): hashtags = util.detect_hashtags(text) if len(hashtags) == 0: return text for h in hashtags: torep = '%s' % h try: cad = '<span foreground="#%s">%s</span>' % \ (self.mainwin.link_color, h) text = text.replace(torep, cad) except: log.debug('Problemas para resaltar el hashtag: %s' % h) return text
def __build_open_menu(self, user, msg): open = gtk.MenuItem(_('Open')) open_menu = gtk.Menu() total_urls = util.detect_urls(msg) total_users = util.detect_mentions(msg) total_tags = util.detect_hashtags(msg) for u in total_urls: url = u if len(u) < 30 else u[:30] + '...' umenu = gtk.MenuItem(url) umenu.connect('button-release-event', self.__open_url_with_event, u) open_menu.append(umenu) if len(total_urls) > 0 and len(total_tags) > 0: open_menu.append(gtk.SeparatorMenuItem()) for h in total_tags: ht = "#search?q=%23" + h[1:] hashtag = '/'.join(['http://twitter.com', ht]) hmenu = gtk.MenuItem(h) hmenu.connect('button-release-event', self.__open_url_with_event, hashtag) open_menu.append(hmenu) if (len(total_urls) > 0 or len(total_tags) > 0) and \ len(total_users) > 0: open_menu.append(gtk.SeparatorMenuItem()) exist = [] for m in total_users: if m == user or m in exist: continue exist.append(m) user_prof = '/'.join(['http://www.twitter.com', m[1:]]) mentmenu = gtk.MenuItem(m) mentmenu.connect('button-release-event', self.__open_url_with_event, user_prof) open_menu.append(mentmenu) open.set_submenu(open_menu) if (len(total_urls) > 0) or (len(total_users) > 0) or \ (len(total_tags) > 0): return open else: return None