diff options
author | miwi <miwi@FreeBSD.org> | 2011-06-25 17:49:35 +0800 |
---|---|---|
committer | miwi <miwi@FreeBSD.org> | 2011-06-25 17:49:35 +0800 |
commit | 186bf7eb7b971a91a4e6f583976e4ca6eab0ddb5 (patch) | |
tree | 40fd192690d4372b85123eaa3fc808b342a53373 | |
parent | d224b80f6781b28761ca5ad6e9d61b26f6648079 (diff) | |
download | freebsd-ports-gnome-186bf7eb7b971a91a4e6f583976e4ca6eab0ddb5.tar.gz freebsd-ports-gnome-186bf7eb7b971a91a4e6f583976e4ca6eab0ddb5.tar.zst freebsd-ports-gnome-186bf7eb7b971a91a4e6f583976e4ca6eab0ddb5.zip |
Turpial is a microblogging client for social networks like Twitter and
Identi.ca.
WWW: http://turpial.org.ve/
PR: ports/157840
Submitted by: Olivier Duchateau <duchateau.olivier at gmail.com>
21 files changed, 1485 insertions, 0 deletions
diff --git a/net-im/Makefile b/net-im/Makefile index ddb026f64e11..c613da7e033c 100644 --- a/net-im/Makefile +++ b/net-im/Makefile @@ -143,6 +143,7 @@ SUBDIR += py-msnp SUBDIR += py-punjab SUBDIR += py-pyxmpp + SUBDIR += py-turpial SUBDIR += py-twistedWords SUBDIR += py-xmpppy SUBDIR += py-xmpppy-irc diff --git a/net-im/py-turpial/Makefile b/net-im/py-turpial/Makefile new file mode 100644 index 000000000000..5cd992a3b500 --- /dev/null +++ b/net-im/py-turpial/Makefile @@ -0,0 +1,105 @@ +# New ports collection makefile for: py-turpial +# Date created: 2011-02-19 +# Whom: Olivier Duchateau <duchateau.olivier@gmail.com> +# +# $FreeBSD$ +# + +PORTNAME= turpial +PORTVERSION= 1.5.0 +CATEGORIES= net-im python +MASTER_SITES= http://turpial.org.ve/files/sources/%SUBDIR%/ +MASTER_SITE_SUBDIR= stable +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME}-${PORTVERSION} + +MAINTAINER= duchateau.olivier@gmail.com +COMMENT= Twitter and Identi.ca client written in Python + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/COPYING + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Babel>=0.9:${PORTSDIR}/devel/py-babel +RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/notify-python.pc:${PORTSDIR}/devel/py-notify \ + ${LOCALBASE}/libdata/pkgconfig/pywebkitgtk-1.0.pc:${PORTSDIR}/www/py-webkitgtk \ + ${PYTHON_SITELIBDIR}/setproctitle.so:${PORTSDIR}/devel/py-setproctitle \ + ${PYTHON_SITELIBDIR}/xdg/__init__.py:${PORTSDIR}/devel/py-xdg + +USE_PYTHON= yes +USE_GNOME= pygobject pygtk2 desktopfileutils +USE_GSTREAMER= python + +REINPLACE_ARGS= -i "" + +DOCSDIR= ${PREFIX}/share/doc/${PORTNAME} +DATADIR= ${PREFIX}/share/${PORTNAME} + +LOCALES_DIR= ca de en es eu fr gl he it nn pt ru zh_CN zh_TW + +.include <bsd.port.pre.mk> + +# Since Python > 2.7, optparse module is deprecated +.if ${PYTHON_REL} >= 270 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-argparse-turpial_main.py +.else +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-optparse-turpial_main.py +.endif + +post-patch: + @${FIND} ${WRKSRC}/turpial -type f -regex '.*\.py' \ + | ${XARGS} ${REINPLACE_CMD} 's|bin/python|bin/env python| ; \ + s|Linux|FreeBSD|g ; \ + s|from turpial\.|from |g ; \ + s|%%PREFIX%%|${PREFIX}|g' +# Avoid to center on screen the window application + ${REINPLACE_CMD} 's|gtk.WIN_POS_CENTER|gtk.WIN_POS_CENTER_ON_PARENT|' \ + ${WRKSRC}/turpial/ui/gtk/main.py + +do-build: + @cd ${WRKSRC} && \ + ${PYTHON_CMD} setup.py compile_catalog --directory turpial/i18n ; \ + ${PYTHON_CMD} -m compileall ${WRKSRC} ; \ + ${PYTHON_CMD} -O -m compileall ${WRKSRC} + + @${ECHO_CMD} "#!/bin/sh" >> ${WRKDIR}/run.sh + @${ECHO_CMD} "" >> ${WRKDIR}/run.sh + @${ECHO_CMD} "cd ${DATADIR} || exit 1" >> ${WRKDIR}/run.sh + @${ECHO_CMD} "exec ${PYTHON_CMD} main.py" >> ${WRKDIR}/run.sh + +pre-install: + @${FIND} ${WRKSRC} -type f -name '*.orig' \ + -exec ${RM} -f "{}" \; + + @${MKDIR} -p ${DOCSDIR} ${DATADIR} \ + ${PREFIX}/share/pixmaps \ + ${PREFIX}/share/applications \ + ${PREFIX}/bin +.for LOCALE in ${LOCALES_DIR} + @${MKDIR} -p ${PREFIX}/share/locale/${LOCALE}/LC_MESSAGES +.endfor + @cd ${WRKSRC}/turpial && \ + ${FIND} . -type d \ + \! -regex '.*i18n.*' -exec ${MKDIR} -p "${DATADIR}/{}" \; + +do-install: + @cd ${WRKSRC} && \ + ${INSTALL_DATA} AUTHORS COPYING TRANSLATORS README.rst ${DOCSDIR} ; \ + ${INSTALL_DATA} turpial/data/pixmaps/turpial.png \ + ${PREFIX}/share/pixmaps ; \ + ${INSTALL_DATA} ${PORTNAME}.desktop ${PREFIX}/share/applications + + @cd ${WRKSRC}/turpial/i18n && \ + ${FIND} . -type f -name '*.mo' \ + -exec ${INSTALL_DATA} "{}" "${PREFIX}/share/locale/{}" \; + + @cd ${WRKSRC}/turpial && \ + ${FIND} . -type f \ + \( ! -name '*.mo' -and ! -name '*.po*' \) \ + -exec ${INSTALL_DATA} "{}" "${DATADIR}/{}" \; + + ${INSTALL_SCRIPT} ${WRKDIR}/run.sh ${PREFIX}/bin/${PORTNAME} + +post-install: + @-update-desktop-database + +.include <bsd.port.post.mk> diff --git a/net-im/py-turpial/distinfo b/net-im/py-turpial/distinfo new file mode 100644 index 000000000000..23c61209247f --- /dev/null +++ b/net-im/py-turpial/distinfo @@ -0,0 +1,2 @@ +SHA256 (turpial-1.5.0.tar.gz) = f0c85cc0639287b66210571841920cb35dc9117bce9a3e37616f29b1f1b4768a +SIZE (turpial-1.5.0.tar.gz) = 558659 diff --git a/net-im/py-turpial/files/extra-patch-argparse-turpial_main.py b/net-im/py-turpial/files/extra-patch-argparse-turpial_main.py new file mode 100644 index 000000000000..652ff5ddab9d --- /dev/null +++ b/net-im/py-turpial/files/extra-patch-argparse-turpial_main.py @@ -0,0 +1,114 @@ +--- turpial/main.py.orig 2011-03-23 17:50:07.000000000 +0100 ++++ turpial/main.py 2011-03-27 16:33:05.000000000 +0200 +@@ -12,7 +12,7 @@ + import base64 + import logging + import getpass +-from optparse import OptionParser ++import argparse + + from turpial.api.servicesapi import HTTPServices + from turpial.api.turpialapi import TurpialAPI +@@ -21,8 +21,8 @@ + + try: + import ctypes +- libc = ctypes.CDLL('libc.so.6') +- libc.prctl(15, 'turpial', 0, 0) ++ libc = ctypes.CDLL(os.path.join('/usr/lib', 'libc.so')) ++ libc.setproctitle('turpial') + except ImportError: + pass + +@@ -44,34 +44,34 @@ + ui_avail = ui_avail[:-1] + ')' + default_ui = INTERFACES[1] if len(INTERFACES) > 1 else '' + +- parser = OptionParser() +- parser.add_option('-d', '--debug', dest='debug', action='store_true', ++ parser = argparse.ArgumentParser() ++ parser.add_argument('-d', '--debug', dest='debug', action='store_true', + help='show debug info in shell during execution', default=False) +- parser.add_option('-i', '--interface', dest='interface', ++ parser.add_argument('-i', '--interface', dest='interface', + help='select interface to use %s' % ui_avail, default=default_ui) +- parser.add_option('-c', '--clean', dest='clean', action='store_true', ++ parser.add_argument('-c', '--clean', dest='clean', action='store_true', + help='clean all bytecodes', default=False) +- parser.add_option('-s', '--save-credentials', dest='save', action='store_true', ++ parser.add_argument('-s', '--save-credentials', dest='save', action='store_true', + help='save user credentials', default=False) +- parser.add_option('--version', dest='version', action='store_true', ++ parser.add_argument('--version', dest='version', action='store_true', + help='show the version of Turpial and exit', default=False) +- parser.add_option('--test', dest='test', action='store_true', ++ parser.add_argument('--test', dest='test', action='store_true', + help='only load timeline and friends', default=False) +- parser.add_option('--no-sound', dest='no_sound', action='store_true', ++ parser.add_argument('--no-sound', dest='no_sound', action='store_true', + help='disable the sounds module', default=False) +- parser.add_option('--no-notif', dest='no_notif', action='store_true', ++ parser.add_argument('--no-notif', dest='no_notif', action='store_true', + help='disable the notifications module', default=False) + +- (options, args) = parser.parse_args() ++ args = parser.parse_args() + + self.config = None + self.global_cfg = ConfigApp() + self.protocol_cfg = {} + self.profile = None +- self.testmode = options.test +- self.interface = options.interface +- self.no_sound = options.no_sound +- self.no_notif = options.no_notif ++ self.testmode = args.test ++ self.interface = args.interface ++ self.no_sound = args.no_sound ++ self.no_notif = args.no_notif + self.httpserv = None + self.api = None + self.version = self.global_cfg.read('App', 'version') +@@ -79,34 +79,34 @@ + for p in PROTOCOLS: + self.protocol_cfg[p] = ConfigProtocol(p) + +- if options.debug or options.clean: ++ if args.debug or args.clean: + logging.basicConfig(level=logging.DEBUG) + else: + logging.basicConfig(level=logging.INFO) + self.log = logging.getLogger('Controller') + +- if options.clean: ++ if args.clean: + self.__clean() + sys.exit(0) + +- if options.version: ++ if args.version: + print "Turpial v%s" % self.version + print "Python v%X" % sys.hexversion + sys.exit(0) + +- if options.save: ++ if args.save: + try: + self.__save_credentials() + except KeyboardInterrupt: + self.log.debug('Interceptado Keyboard Interrupt') + sys.exit(0) + +- self.interface = options.interface +- if options.interface == 'gtk+' and ('gtk+' in INTERFACES): ++ self.interface = args.interface ++ if args.interface == 'gtk+' and ('gtk+' in INTERFACES): + self.ui = _GTK(self, extend=True) +- elif options.interface == 'gtk' and ('gtk' in INTERFACES): ++ elif args.interface == 'gtk' and ('gtk' in INTERFACES): + self.ui = _GTK(self) +- elif options.interface == 'cmd' and ('cmd' in INTERFACES): ++ elif args.interface == 'cmd' and ('cmd' in INTERFACES): + self.ui = _CMD(self, args) + else: + print 'No existe una interfaz válida. Las interfaces válidas son: %s' % INTERFACES diff --git a/net-im/py-turpial/files/extra-patch-optparse-turpial_main.py b/net-im/py-turpial/files/extra-patch-optparse-turpial_main.py new file mode 100644 index 000000000000..430b4e14a0ac --- /dev/null +++ b/net-im/py-turpial/files/extra-patch-optparse-turpial_main.py @@ -0,0 +1,13 @@ +--- turpial/main.py.orig 2011-03-23 17:50:07.000000000 +0100 ++++ turpial/main.py 2011-03-27 11:35:32.000000000 +0200 +@@ -21,8 +21,8 @@ + + try: + import ctypes +- libc = ctypes.CDLL('libc.so.6') +- libc.prctl(15, 'turpial', 0, 0) ++ libc = ctypes.CDLL(os.path.join('/usr/lib', 'libc.so')) ++ libc.setproctitle('turpial') + except ImportError: + pass + diff --git a/net-im/py-turpial/files/patch-turpial.desktop b/net-im/py-turpial/files/patch-turpial.desktop new file mode 100644 index 000000000000..90e4aeeacd9f --- /dev/null +++ b/net-im/py-turpial/files/patch-turpial.desktop @@ -0,0 +1,13 @@ +--- turpial.desktop.orig 2011-01-22 22:05:07.000000000 +0100 ++++ turpial.desktop 2011-02-18 23:38:51.000000000 +0100 +@@ -3,8 +3,10 @@ + Encoding=UTF-8 + Name=Turpial + Name[es]=Turpial ++Name[fr]=Turpial + GenericName=Twitter client + GenericName[es]=Cliente Twitter ++GenericName[fr]=Client pour Twitter et Identi.ca + Comment=Twitter client written in Python + Comment[es]=Cliente Twitter escrito en Python + Exec=turpial diff --git a/net-im/py-turpial/files/patch-turpial_api_interfaces_protocol.py b/net-im/py-turpial/files/patch-turpial_api_interfaces_protocol.py new file mode 100644 index 000000000000..fc29f287b776 --- /dev/null +++ b/net-im/py-turpial/files/patch-turpial_api_interfaces_protocol.py @@ -0,0 +1,11 @@ +--- turpial/api/interfaces/protocol.py.orig 2011-03-23 17:50:07.000000000 +0100 ++++ turpial/api/interfaces/protocol.py 2011-05-07 22:14:22.000000000 +0200 +@@ -280,7 +280,7 @@ + + def get_str_time(self, strdate): + t = self.convert_time(strdate) +- return time.strftime('%b %d, %I:%M %p', t) ++ return time.strftime('%Y-%m-%d @ %H:%M', t) + + def get_int_time(self, strdate): + t = self.convert_time(strdate) diff --git a/net-im/py-turpial/files/patch-turpial_ui_gtk_about.py b/net-im/py-turpial/files/patch-turpial_ui_gtk_about.py new file mode 100644 index 000000000000..9e10547f2371 --- /dev/null +++ b/net-im/py-turpial/files/patch-turpial_ui_gtk_about.py @@ -0,0 +1,35 @@ +--- turpial/ui/gtk/about.py.orig 2011-01-22 22:05:08.000000000 +0100 ++++ turpial/ui/gtk/about.py 2011-02-18 23:35:39.000000000 +0100 +@@ -22,8 +22,8 @@ + about.set_website('http://turpial.org.ve') + + try: +- path = os.path.realpath(os.path.join(os.path.dirname(__file__), +- '..', '..', '..', 'COPYING')) ++ path = os.path.realpath(os.path.join('%%PREFIX%%', 'share', 'doc', ++ 'turpial', 'COPYING')) + lic = file(path, 'r') + license = lic.read() + lic.close() +@@ -39,8 +39,8 @@ + about.set_license(license) + authors = [] + try: +- path = os.path.realpath(os.path.join(os.path.dirname(__file__), +- '..', '..', '..', 'AUTHORS')) ++ path = os.path.realpath(os.path.join('%%PREFIX%%', 'share', 'doc', ++ 'turpial', 'AUTHORS')) + f = file(path, 'r') + for line in f: + authors.append(line.strip('\n')) +@@ -51,8 +51,8 @@ + + translators = '' + try: +- path = os.path.realpath(os.path.join(os.path.dirname(__file__), +- '..', '..', '..', 'TRANSLATORS')) ++ path = os.path.realpath(os.path.join('%%PREFIX%%', 'share', 'doc', ++ 'turpial', 'TRANSLATORS')) + f = file(path, 'r') + translators = f.read() + f.close() diff --git a/net-im/py-turpial/files/patch-turpial_ui_gtk_statuslist.py b/net-im/py-turpial/files/patch-turpial_ui_gtk_statuslist.py new file mode 100644 index 000000000000..4e43fc88e91d --- /dev/null +++ b/net-im/py-turpial/files/patch-turpial_ui_gtk_statuslist.py @@ -0,0 +1,129 @@ +--- turpial/ui/gtk/statuslist.py.orig 2011-05-08 05:01:09.000000000 +0200 ++++ turpial/ui/gtk/statuslist.py 2011-06-12 19:55:15.000000000 +0200 +@@ -5,6 +5,7 @@ + # Author: Wil Alvarez (aka Satanas) + # Jun 25, 2009 + ++import sys + import gtk + import pango + import gobject +@@ -81,14 +82,14 @@ + if len(hashtags) == 0: return text + + for h in hashtags: +- torep = '%s' % h ++ torep = u'%s' % h + try: +- cad = '<span foreground="%s">%s</span>' % ( ++ cad = u'<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) ++ log.debug(u'Problemas para resaltar el hashtag: %s' % h) + return text + + def __highlight_groups(self, text): +@@ -99,14 +100,14 @@ + if len(groups) == 0: return text + + for h in groups: +- torep = '%s' % h ++ torep = u'%s' % h + try: +- cad = '<span foreground="%s">%s</span>' % ( ++ cad = u'<span foreground="%s">%s</span>' % ( + self.mainwin.link_color, h + ) + text = text.replace(torep, cad) + except: +- log.debug('Problemas para resaltar el grupo: %s' % h) ++ log.debug(u'Problemas para resaltar el grupo: %s' % h) + return text + + def __highlight_mentions(self, text): +@@ -117,8 +118,8 @@ + for h in mentions: + if len(h) == 1: + continue +- torep = '%s' % h +- cad = '<span foreground="%s">%s</span>' % ( ++ torep = u'%s' % h ++ cad = u'<span foreground="%s">%s</span>' % ( + self.mainwin.link_color, h + ) + text = text.replace(torep, cad) +@@ -128,7 +129,7 @@ + #if len(urls) == 0: return text + + for u in urls: +- cad = '<span foreground="%s">%s</span>' % ( ++ cad = u'<span foreground="%s">%s</span>' % ( + self.mainwin.link_color, u + ) + text = text.replace(u, cad) +@@ -180,8 +181,17 @@ + amarillo = gtk.gdk.Color(253 * 257, 255 * 257, 229 * 257) + naranja = gtk.gdk.Color(255 * 257, 240 * 257, 229 * 257) + ''' +- me = '@'+self.mainwin.me.lower() +- mention = True if msg.lower().find(me) >= 0 else False ++ me = unichr(64) + self.mainwin.me.lower() ++ if sys.getfilesystemencoding() != 'UTF-8': ++ if msg.startswith(me): ++ mention = True ++ else: ++ mention = False ++ else: ++ if msg.lower().startswith(me): ++ mention = True ++ else: ++ mention = False + + if new: + color = self.mainwin.get_gdk_color_from_base('unread') +@@ -206,15 +216,15 @@ + pango_twt = util.unescape_text(status.text) + pango_twt = gobject.markup_escape_text(pango_twt) + +- user = '<span size="9000" foreground="%s"><b>%s</b></span> ' % ( ++ user = u'<span size="9000" foreground="%s"><b>%s</b></span> ' % ( + self.mainwin.link_color, status.username + ) +- pango_twt = '<span size="9000">%s</span>' % pango_twt ++ pango_twt = u'<span size="9000">%s</span>' % pango_twt + pango_twt = self.__highlight_hashtags(pango_twt) + pango_twt = self.__highlight_groups(pango_twt) + pango_twt = self.__highlight_mentions(pango_twt) + pango_twt = self.__highlight_urls(urls, pango_twt) +- pango_twt += '<span size="2000">\n\n</span>' ++ pango_twt += u'<span size="2000">\n\n</span>' + + try: + pango_twt = user + pango_twt +@@ -227,17 +237,17 @@ + except UnicodeDecodeError: + invalid_chars.append(c) + clear_txt += '?' +- log.debug('Problema con caracteres inválidos en un tweet: %s' % invalid_chars) ++ log.debug(u'Problema con caracteres inválidos en un tweet: %s' % invalid_chars) + pango_twt = clear_txt + +- footer = '<span size="small" foreground="#999">%s' % status.datetime ++ footer = u'<span size="small" foreground="#999">%s' % status.datetime + if status.source: +- footer += ' %s %s' % (_('from'), status.source) ++ footer += u' %s %s' % (_('from'), status.source) + if status.in_reply_to_user: +- footer += ' %s %s' % (_('in reply to'), status.in_reply_to_user) ++ footer += u' %s %s' % (_('in reply to'), status.in_reply_to_user) + if status.retweet_by: +- footer += '\n%s %s' % (_('Retweeted by'), status.retweet_by) +- footer += '</span>' ++ footer += u'\n%s %s' % (_('Retweeted by'), status.retweet_by) ++ footer += u'</span>' + pango_twt += footer + + return pango_twt diff --git a/net-im/py-turpial/pkg-descr b/net-im/py-turpial/pkg-descr new file mode 100644 index 000000000000..7dea65f32bef --- /dev/null +++ b/net-im/py-turpial/pkg-descr @@ -0,0 +1,4 @@ +Turpial is a microblogging client for social networks like Twitter and +Identi.ca. + +WWW: http://turpial.org.ve/ diff --git a/net-im/py-turpial/pkg-plist b/net-im/py-turpial/pkg-plist new file mode 100644 index 000000000000..1506934deb01 --- /dev/null +++ b/net-im/py-turpial/pkg-plist @@ -0,0 +1,316 @@ +bin/turpial +share/applications/turpial.desktop +%%DOCSDIR%%/AUTHORS +%%DOCSDIR%%/COPYING +%%DOCSDIR%%/README.rst +%%DOCSDIR%%/TRANSLATORS +share/locale/ca/LC_MESSAGES/turpial.mo +share/locale/de/LC_MESSAGES/turpial.mo +share/locale/en/LC_MESSAGES/turpial.mo +share/locale/es/LC_MESSAGES/turpial.mo +share/locale/eu/LC_MESSAGES/turpial.mo +share/locale/fr/LC_MESSAGES/turpial.mo +share/locale/gl/LC_MESSAGES/turpial.mo +share/locale/he/LC_MESSAGES/turpial.mo +share/locale/it/LC_MESSAGES/turpial.mo +share/locale/nn/LC_MESSAGES/turpial.mo +share/locale/pt/LC_MESSAGES/turpial.mo +share/locale/ru/LC_MESSAGES/turpial.mo +share/locale/zh_CN/LC_MESSAGES/turpial.mo +share/locale/zh_TW/LC_MESSAGES/turpial.mo +share/pixmaps/turpial.png +%%DATADIR%%/__init__.py +%%DATADIR%%/__init__.pyc +%%DATADIR%%/__init__.pyo +%%DATADIR%%/api/__init__.py +%%DATADIR%%/api/__init__.pyc +%%DATADIR%%/api/__init__.pyo +%%DATADIR%%/api/interfaces/__init__.py +%%DATADIR%%/api/interfaces/__init__.pyc +%%DATADIR%%/api/interfaces/__init__.pyo +%%DATADIR%%/api/interfaces/http.py +%%DATADIR%%/api/interfaces/http.pyc +%%DATADIR%%/api/interfaces/http.pyo +%%DATADIR%%/api/interfaces/post.py +%%DATADIR%%/api/interfaces/post.pyc +%%DATADIR%%/api/interfaces/post.pyo +%%DATADIR%%/api/interfaces/protocol.py +%%DATADIR%%/api/interfaces/protocol.pyc +%%DATADIR%%/api/interfaces/protocol.pyo +%%DATADIR%%/api/interfaces/service.py +%%DATADIR%%/api/interfaces/service.pyc +%%DATADIR%%/api/interfaces/service.pyo +%%DATADIR%%/api/protocols/__init__.py +%%DATADIR%%/api/protocols/__init__.pyc +%%DATADIR%%/api/protocols/__init__.pyo +%%DATADIR%%/api/protocols/identica/__init__.py +%%DATADIR%%/api/protocols/identica/__init__.pyc +%%DATADIR%%/api/protocols/identica/__init__.pyo +%%DATADIR%%/api/protocols/identica/globals.py +%%DATADIR%%/api/protocols/identica/globals.pyc +%%DATADIR%%/api/protocols/identica/globals.pyo +%%DATADIR%%/api/protocols/identica/http.py +%%DATADIR%%/api/protocols/identica/http.pyc +%%DATADIR%%/api/protocols/identica/http.pyo +%%DATADIR%%/api/protocols/identica/identica.py +%%DATADIR%%/api/protocols/identica/identica.pyc +%%DATADIR%%/api/protocols/identica/identica.pyo +%%DATADIR%%/api/protocols/twitter/__init__.py +%%DATADIR%%/api/protocols/twitter/__init__.pyc +%%DATADIR%%/api/protocols/twitter/__init__.pyo +%%DATADIR%%/api/protocols/twitter/globals.py +%%DATADIR%%/api/protocols/twitter/globals.pyc +%%DATADIR%%/api/protocols/twitter/globals.pyo +%%DATADIR%%/api/protocols/twitter/http.py +%%DATADIR%%/api/protocols/twitter/http.pyc +%%DATADIR%%/api/protocols/twitter/http.pyo +%%DATADIR%%/api/protocols/twitter/oauth.py +%%DATADIR%%/api/protocols/twitter/oauth.pyc +%%DATADIR%%/api/protocols/twitter/oauth.pyo +%%DATADIR%%/api/protocols/twitter/twitter.py +%%DATADIR%%/api/protocols/twitter/twitter.pyc +%%DATADIR%%/api/protocols/twitter/twitter.pyo +%%DATADIR%%/api/services/__init__.py +%%DATADIR%%/api/services/__init__.pyc +%%DATADIR%%/api/services/__init__.pyo +%%DATADIR%%/api/services/shorturl/__init__.py +%%DATADIR%%/api/services/shorturl/__init__.pyc +%%DATADIR%%/api/services/shorturl/__init__.pyo +%%DATADIR%%/api/services/shorturl/bitly.py +%%DATADIR%%/api/services/shorturl/bitly.pyc +%%DATADIR%%/api/services/shorturl/bitly.pyo +%%DATADIR%%/api/services/shorturl/cligs.py +%%DATADIR%%/api/services/shorturl/cligs.pyc +%%DATADIR%%/api/services/shorturl/cligs.pyo +%%DATADIR%%/api/services/shorturl/isgd.py +%%DATADIR%%/api/services/shorturl/isgd.pyc +%%DATADIR%%/api/services/shorturl/isgd.pyo +%%DATADIR%%/api/services/shorturl/smlkes.py +%%DATADIR%%/api/services/shorturl/smlkes.pyc +%%DATADIR%%/api/services/shorturl/smlkes.pyo +%%DATADIR%%/api/services/shorturl/supr.py +%%DATADIR%%/api/services/shorturl/supr.pyc +%%DATADIR%%/api/services/shorturl/supr.pyo +%%DATADIR%%/api/services/shorturl/tinyurl.py +%%DATADIR%%/api/services/shorturl/tinyurl.pyc +%%DATADIR%%/api/services/shorturl/tinyurl.pyo +%%DATADIR%%/api/services/shorturl/trim.py +%%DATADIR%%/api/services/shorturl/trim.pyc +%%DATADIR%%/api/services/shorturl/trim.pyo +%%DATADIR%%/api/services/shorturl/unu.py +%%DATADIR%%/api/services/shorturl/unu.pyc +%%DATADIR%%/api/services/shorturl/unu.pyo +%%DATADIR%%/api/services/shorturl/ur1ca.py +%%DATADIR%%/api/services/shorturl/ur1ca.pyc +%%DATADIR%%/api/services/shorturl/ur1ca.pyo +%%DATADIR%%/api/services/shorturl/zima.py +%%DATADIR%%/api/services/shorturl/zima.pyc +%%DATADIR%%/api/services/shorturl/zima.pyo +%%DATADIR%%/api/services/uploadpic/__init__.py +%%DATADIR%%/api/services/uploadpic/__init__.pyc +%%DATADIR%%/api/services/uploadpic/__init__.pyo +%%DATADIR%%/api/services/uploadpic/imgly.py +%%DATADIR%%/api/services/uploadpic/imgly.pyc +%%DATADIR%%/api/services/uploadpic/imgly.pyo +%%DATADIR%%/api/services/uploadpic/mobypicture.py +%%DATADIR%%/api/services/uploadpic/mobypicture.pyc +%%DATADIR%%/api/services/uploadpic/mobypicture.pyo +%%DATADIR%%/api/services/uploadpic/posterous.py +%%DATADIR%%/api/services/uploadpic/posterous.pyc +%%DATADIR%%/api/services/uploadpic/posterous.pyo +%%DATADIR%%/api/services/uploadpic/pyTweetPhoto.py +%%DATADIR%%/api/services/uploadpic/pyTweetPhoto.pyc +%%DATADIR%%/api/services/uploadpic/pyTweetPhoto.pyo +%%DATADIR%%/api/services/uploadpic/tweetphoto.py +%%DATADIR%%/api/services/uploadpic/tweetphoto.pyc +%%DATADIR%%/api/services/uploadpic/tweetphoto.pyo +%%DATADIR%%/api/services/uploadpic/twitgoo.py +%%DATADIR%%/api/services/uploadpic/twitgoo.pyc +%%DATADIR%%/api/services/uploadpic/twitgoo.pyo +%%DATADIR%%/api/services/uploadpic/twitpic.py +%%DATADIR%%/api/services/uploadpic/twitpic.pyc +%%DATADIR%%/api/services/uploadpic/twitpic.pyo +%%DATADIR%%/api/services/uploadpic/yfrog.py +%%DATADIR%%/api/services/uploadpic/yfrog.pyc +%%DATADIR%%/api/services/uploadpic/yfrog.pyo +%%DATADIR%%/api/servicesapi.py +%%DATADIR%%/api/servicesapi.pyc +%%DATADIR%%/api/servicesapi.pyo +%%DATADIR%%/api/turpialapi.py +%%DATADIR%%/api/turpialapi.pyc +%%DATADIR%%/api/turpialapi.pyo +%%DATADIR%%/config.py +%%DATADIR%%/config.pyc +%%DATADIR%%/config.pyo +%%DATADIR%%/data/pixmaps/action-add-friends.png +%%DATADIR%%/data/pixmaps/action-autoscroll.png +%%DATADIR%%/data/pixmaps/action-clear.png +%%DATADIR%%/data/pixmaps/action-mark-all.png +%%DATADIR%%/data/pixmaps/action-refresh.png +%%DATADIR%%/data/pixmaps/dock-about.png +%%DATADIR%%/data/pixmaps/dock-favorites.png +%%DATADIR%%/data/pixmaps/dock-follow.png +%%DATADIR%%/data/pixmaps/dock-home.png +%%DATADIR%%/data/pixmaps/dock-profile.png +%%DATADIR%%/data/pixmaps/dock-settings.png +%%DATADIR%%/data/pixmaps/dock-update.png +%%DATADIR%%/data/pixmaps/dock-uploadpic.png +%%DATADIR%%/data/pixmaps/identica.png +%%DATADIR%%/data/pixmaps/logo.png +%%DATADIR%%/data/pixmaps/logo2.png +%%DATADIR%%/data/pixmaps/turpial-notification.png +%%DATADIR%%/data/pixmaps/turpial-tray-update.png +%%DATADIR%%/data/pixmaps/turpial-tray.png +%%DATADIR%%/data/pixmaps/turpial.png +%%DATADIR%%/data/pixmaps/twitter.png +%%DATADIR%%/data/pixmaps/unknown.png +%%DATADIR%%/data/pixmaps/wait-error.png +%%DATADIR%%/data/pixmaps/wait10.png +%%DATADIR%%/data/pixmaps/wait11.png +%%DATADIR%%/data/pixmaps/wait12.png +%%DATADIR%%/data/pixmaps/wait13.png +%%DATADIR%%/data/pixmaps/wait14.png +%%DATADIR%%/data/pixmaps/wait15.png +%%DATADIR%%/data/pixmaps/wait16.png +%%DATADIR%%/data/pixmaps/wait17.png +%%DATADIR%%/data/pixmaps/wait18.png +%%DATADIR%%/data/pixmaps/wait19.png +%%DATADIR%%/data/pixmaps/wait2.png +%%DATADIR%%/data/pixmaps/wait20.png +%%DATADIR%%/data/pixmaps/wait21.png +%%DATADIR%%/data/pixmaps/wait22.png +%%DATADIR%%/data/pixmaps/wait23.png +%%DATADIR%%/data/pixmaps/wait24.png +%%DATADIR%%/data/pixmaps/wait25.png +%%DATADIR%%/data/pixmaps/wait26.png +%%DATADIR%%/data/pixmaps/wait27.png +%%DATADIR%%/data/pixmaps/wait28.png +%%DATADIR%%/data/pixmaps/wait29.png +%%DATADIR%%/data/pixmaps/wait3.png +%%DATADIR%%/data/pixmaps/wait30.png +%%DATADIR%%/data/pixmaps/wait31.png +%%DATADIR%%/data/pixmaps/wait32.png +%%DATADIR%%/data/pixmaps/wait4.png +%%DATADIR%%/data/pixmaps/wait5.png +%%DATADIR%%/data/pixmaps/wait6.png +%%DATADIR%%/data/pixmaps/wait7.png +%%DATADIR%%/data/pixmaps/wait8.png +%%DATADIR%%/data/pixmaps/wait9.png +%%DATADIR%%/data/sounds/cambur_pinton.ogg +%%DATADIR%%/data/sounds/mencion.ogg +%%DATADIR%%/data/sounds/mencion2.ogg +%%DATADIR%%/data/sounds/mencion3.ogg +%%DATADIR%%/data/sounds/turpial.ogg +%%DATADIR%%/data/themes/default/style.css +%%DATADIR%%/data/themes/default/tweet.html +%%DATADIR%%/data/themes/default/tweet_template.html +%%DATADIR%%/main.py +%%DATADIR%%/main.pyc +%%DATADIR%%/main.pyo +%%DATADIR%%/notification.py +%%DATADIR%%/notification.pyc +%%DATADIR%%/notification.pyo +%%DATADIR%%/sound.py +%%DATADIR%%/sound.pyc +%%DATADIR%%/sound.pyo +%%DATADIR%%/ui/__init__.py +%%DATADIR%%/ui/__init__.pyc +%%DATADIR%%/ui/__init__.pyo +%%DATADIR%%/ui/base_ui.py +%%DATADIR%%/ui/base_ui.pyc +%%DATADIR%%/ui/base_ui.pyo +%%DATADIR%%/ui/cmd/__init__.py +%%DATADIR%%/ui/cmd/__init__.pyc +%%DATADIR%%/ui/cmd/__init__.pyo +%%DATADIR%%/ui/cmd/main.py +%%DATADIR%%/ui/cmd/main.pyc +%%DATADIR%%/ui/cmd/main.pyo +%%DATADIR%%/ui/gtk/__init__.py +%%DATADIR%%/ui/gtk/__init__.pyc +%%DATADIR%%/ui/gtk/__init__.pyo +%%DATADIR%%/ui/gtk/about.py +%%DATADIR%%/ui/gtk/about.pyc +%%DATADIR%%/ui/gtk/about.pyo +%%DATADIR%%/ui/gtk/columns.py +%%DATADIR%%/ui/gtk/columns.pyc +%%DATADIR%%/ui/gtk/columns.pyo +%%DATADIR%%/ui/gtk/conversation.py +%%DATADIR%%/ui/gtk/conversation.pyc +%%DATADIR%%/ui/gtk/conversation.pyo +%%DATADIR%%/ui/gtk/dock.py +%%DATADIR%%/ui/gtk/dock.pyc +%%DATADIR%%/ui/gtk/dock.pyo +%%DATADIR%%/ui/gtk/errorbox.py +%%DATADIR%%/ui/gtk/errorbox.pyc +%%DATADIR%%/ui/gtk/errorbox.pyo +%%DATADIR%%/ui/gtk/follow.py +%%DATADIR%%/ui/gtk/follow.pyc +%%DATADIR%%/ui/gtk/follow.pyo +%%DATADIR%%/ui/gtk/friendwin.py +%%DATADIR%%/ui/gtk/friendwin.pyc +%%DATADIR%%/ui/gtk/friendwin.pyo +%%DATADIR%%/ui/gtk/home.py +%%DATADIR%%/ui/gtk/home.pyc +%%DATADIR%%/ui/gtk/home.pyo +%%DATADIR%%/ui/gtk/login.py +%%DATADIR%%/ui/gtk/login.pyc +%%DATADIR%%/ui/gtk/login.pyo +%%DATADIR%%/ui/gtk/loginlabel.py +%%DATADIR%%/ui/gtk/loginlabel.pyc +%%DATADIR%%/ui/gtk/loginlabel.pyo +%%DATADIR%%/ui/gtk/main.py +%%DATADIR%%/ui/gtk/main.pyc +%%DATADIR%%/ui/gtk/main.pyo +%%DATADIR%%/ui/gtk/menu.py +%%DATADIR%%/ui/gtk/menu.pyc +%%DATADIR%%/ui/gtk/menu.pyo +%%DATADIR%%/ui/gtk/preferences.py +%%DATADIR%%/ui/gtk/preferences.pyc +%%DATADIR%%/ui/gtk/preferences.pyo +%%DATADIR%%/ui/gtk/profile.py +%%DATADIR%%/ui/gtk/profile.pyc +%%DATADIR%%/ui/gtk/profile.pyo +%%DATADIR%%/ui/gtk/statuslist.py +%%DATADIR%%/ui/gtk/statuslist.pyc +%%DATADIR%%/ui/gtk/statuslist.pyo +%%DATADIR%%/ui/gtk/tweetslistwk.py +%%DATADIR%%/ui/gtk/tweetslistwk.pyc +%%DATADIR%%/ui/gtk/tweetslistwk.pyo +%%DATADIR%%/ui/gtk/updatebox.py +%%DATADIR%%/ui/gtk/updatebox.pyc +%%DATADIR%%/ui/gtk/updatebox.pyo +%%DATADIR%%/ui/gtk/uploadpicbox.py +%%DATADIR%%/ui/gtk/uploadpicbox.pyc +%%DATADIR%%/ui/gtk/uploadpicbox.pyo +%%DATADIR%%/ui/gtk/userform.py +%%DATADIR%%/ui/gtk/userform.pyc +%%DATADIR%%/ui/gtk/userform.pyo +%%DATADIR%%/ui/gtk/waiting.py +%%DATADIR%%/ui/gtk/waiting.pyc +%%DATADIR%%/ui/gtk/waiting.pyo +%%DATADIR%%/ui/gtk/wrapper.py +%%DATADIR%%/ui/gtk/wrapper.pyc +%%DATADIR%%/ui/gtk/wrapper.pyo +%%DATADIR%%/ui/util.py +%%DATADIR%%/ui/util.pyc +%%DATADIR%%/ui/util.pyo +@dirrm %%DATADIR%%/ui/gtk +@dirrm %%DATADIR%%/ui/cmd +@dirrm %%DATADIR%%/ui +@dirrm %%DATADIR%%/data/themes/default +@dirrm %%DATADIR%%/data/themes +@dirrm %%DATADIR%%/data/sounds +@dirrm %%DATADIR%%/data/pixmaps +@dirrm %%DATADIR%%/data +@dirrm %%DATADIR%%/api/services/uploadpic +@dirrm %%DATADIR%%/api/services/shorturl +@dirrm %%DATADIR%%/api/services +@dirrm %%DATADIR%%/api/protocols/twitter +@dirrm %%DATADIR%%/api/protocols/identica +@dirrm %%DATADIR%%/api/protocols +@dirrm %%DATADIR%%/api/interfaces +@dirrm %%DATADIR%%/api +@dirrm %%DATADIR%% +@dirrm %%DOCSDIR%% +@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true +@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true diff --git a/net-im/turpial/Makefile b/net-im/turpial/Makefile new file mode 100644 index 000000000000..5cd992a3b500 --- /dev/null +++ b/net-im/turpial/Makefile @@ -0,0 +1,105 @@ +# New ports collection makefile for: py-turpial +# Date created: 2011-02-19 +# Whom: Olivier Duchateau <duchateau.olivier@gmail.com> +# +# $FreeBSD$ +# + +PORTNAME= turpial +PORTVERSION= 1.5.0 +CATEGORIES= net-im python +MASTER_SITES= http://turpial.org.ve/files/sources/%SUBDIR%/ +MASTER_SITE_SUBDIR= stable +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= ${PORTNAME}-${PORTVERSION} + +MAINTAINER= duchateau.olivier@gmail.com +COMMENT= Twitter and Identi.ca client written in Python + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/COPYING + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}Babel>=0.9:${PORTSDIR}/devel/py-babel +RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/notify-python.pc:${PORTSDIR}/devel/py-notify \ + ${LOCALBASE}/libdata/pkgconfig/pywebkitgtk-1.0.pc:${PORTSDIR}/www/py-webkitgtk \ + ${PYTHON_SITELIBDIR}/setproctitle.so:${PORTSDIR}/devel/py-setproctitle \ + ${PYTHON_SITELIBDIR}/xdg/__init__.py:${PORTSDIR}/devel/py-xdg + +USE_PYTHON= yes +USE_GNOME= pygobject pygtk2 desktopfileutils +USE_GSTREAMER= python + +REINPLACE_ARGS= -i "" + +DOCSDIR= ${PREFIX}/share/doc/${PORTNAME} +DATADIR= ${PREFIX}/share/${PORTNAME} + +LOCALES_DIR= ca de en es eu fr gl he it nn pt ru zh_CN zh_TW + +.include <bsd.port.pre.mk> + +# Since Python > 2.7, optparse module is deprecated +.if ${PYTHON_REL} >= 270 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-argparse-turpial_main.py +.else +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-optparse-turpial_main.py +.endif + +post-patch: + @${FIND} ${WRKSRC}/turpial -type f -regex '.*\.py' \ + | ${XARGS} ${REINPLACE_CMD} 's|bin/python|bin/env python| ; \ + s|Linux|FreeBSD|g ; \ + s|from turpial\.|from |g ; \ + s|%%PREFIX%%|${PREFIX}|g' +# Avoid to center on screen the window application + ${REINPLACE_CMD} 's|gtk.WIN_POS_CENTER|gtk.WIN_POS_CENTER_ON_PARENT|' \ + ${WRKSRC}/turpial/ui/gtk/main.py + +do-build: + @cd ${WRKSRC} && \ + ${PYTHON_CMD} setup.py compile_catalog --directory turpial/i18n ; \ + ${PYTHON_CMD} -m compileall ${WRKSRC} ; \ + ${PYTHON_CMD} -O -m compileall ${WRKSRC} + + @${ECHO_CMD} "#!/bin/sh" >> ${WRKDIR}/run.sh + @${ECHO_CMD} "" >> ${WRKDIR}/run.sh + @${ECHO_CMD} "cd ${DATADIR} || exit 1" >> ${WRKDIR}/run.sh + @${ECHO_CMD} "exec ${PYTHON_CMD} main.py" >> ${WRKDIR}/run.sh + +pre-install: + @${FIND} ${WRKSRC} -type f -name '*.orig' \ + -exec ${RM} -f "{}" \; + + @${MKDIR} -p ${DOCSDIR} ${DATADIR} \ + ${PREFIX}/share/pixmaps \ + ${PREFIX}/share/applications \ + ${PREFIX}/bin +.for LOCALE in ${LOCALES_DIR} + @${MKDIR} -p ${PREFIX}/share/locale/${LOCALE}/LC_MESSAGES +.endfor + @cd ${WRKSRC}/turpial && \ + ${FIND} . -type d \ + \! -regex '.*i18n.*' -exec ${MKDIR} -p "${DATADIR}/{}" \; + +do-install: + @cd ${WRKSRC} && \ + ${INSTALL_DATA} AUTHORS COPYING TRANSLATORS README.rst ${DOCSDIR} ; \ + ${INSTALL_DATA} turpial/data/pixmaps/turpial.png \ + ${PREFIX}/share/pixmaps ; \ + ${INSTALL_DATA} ${PORTNAME}.desktop ${PREFIX}/share/applications + + @cd ${WRKSRC}/turpial/i18n && \ + ${FIND} . -type f -name '*.mo' \ + -exec ${INSTALL_DATA} "{}" "${PREFIX}/share/locale/{}" \; + + @cd ${WRKSRC}/turpial && \ + ${FIND} . -type f \ + \( ! -name '*.mo' -and ! -name '*.po*' \) \ + -exec ${INSTALL_DATA} "{}" "${DATADIR}/{}" \; + + ${INSTALL_SCRIPT} ${WRKDIR}/run.sh ${PREFIX}/bin/${PORTNAME} + +post-install: + @-update-desktop-database + +.include <bsd.port.post.mk> diff --git a/net-im/turpial/distinfo b/net-im/turpial/distinfo new file mode 100644 index 000000000000..23c61209247f --- /dev/null +++ b/net-im/turpial/distinfo @@ -0,0 +1,2 @@ +SHA256 (turpial-1.5.0.tar.gz) = f0c85cc0639287b66210571841920cb35dc9117bce9a3e37616f29b1f1b4768a +SIZE (turpial-1.5.0.tar.gz) = 558659 diff --git a/net-im/turpial/files/extra-patch-argparse-turpial_main.py b/net-im/turpial/files/extra-patch-argparse-turpial_main.py new file mode 100644 index 000000000000..652ff5ddab9d --- /dev/null +++ b/net-im/turpial/files/extra-patch-argparse-turpial_main.py @@ -0,0 +1,114 @@ +--- turpial/main.py.orig 2011-03-23 17:50:07.000000000 +0100 ++++ turpial/main.py 2011-03-27 16:33:05.000000000 +0200 +@@ -12,7 +12,7 @@ + import base64 + import logging + import getpass +-from optparse import OptionParser ++import argparse + + from turpial.api.servicesapi import HTTPServices + from turpial.api.turpialapi import TurpialAPI +@@ -21,8 +21,8 @@ + + try: + import ctypes +- libc = ctypes.CDLL('libc.so.6') +- libc.prctl(15, 'turpial', 0, 0) ++ libc = ctypes.CDLL(os.path.join('/usr/lib', 'libc.so')) ++ libc.setproctitle('turpial') + except ImportError: + pass + +@@ -44,34 +44,34 @@ + ui_avail = ui_avail[:-1] + ')' + default_ui = INTERFACES[1] if len(INTERFACES) > 1 else '' + +- parser = OptionParser() +- parser.add_option('-d', '--debug', dest='debug', action='store_true', ++ parser = argparse.ArgumentParser() ++ parser.add_argument('-d', '--debug', dest='debug', action='store_true', + help='show debug info in shell during execution', default=False) +- parser.add_option('-i', '--interface', dest='interface', ++ parser.add_argument('-i', '--interface', dest='interface', + help='select interface to use %s' % ui_avail, default=default_ui) +- parser.add_option('-c', '--clean', dest='clean', action='store_true', ++ parser.add_argument('-c', '--clean', dest='clean', action='store_true', + help='clean all bytecodes', default=False) +- parser.add_option('-s', '--save-credentials', dest='save', action='store_true', ++ parser.add_argument('-s', '--save-credentials', dest='save', action='store_true', + help='save user credentials', default=False) +- parser.add_option('--version', dest='version', action='store_true', ++ parser.add_argument('--version', dest='version', action='store_true', + help='show the version of Turpial and exit', default=False) +- parser.add_option('--test', dest='test', action='store_true', ++ parser.add_argument('--test', dest='test', action='store_true', + help='only load timeline and friends', default=False) +- parser.add_option('--no-sound', dest='no_sound', action='store_true', ++ parser.add_argument('--no-sound', dest='no_sound', action='store_true', + help='disable the sounds module', default=False) +- parser.add_option('--no-notif', dest='no_notif', action='store_true', ++ parser.add_argument('--no-notif', dest='no_notif', action='store_true', + help='disable the notifications module', default=False) + +- (options, args) = parser.parse_args() ++ args = parser.parse_args() + + self.config = None + self.global_cfg = ConfigApp() + self.protocol_cfg = {} + self.profile = None +- self.testmode = options.test +- self.interface = options.interface +- self.no_sound = options.no_sound +- self.no_notif = options.no_notif ++ self.testmode = args.test ++ self.interface = args.interface ++ self.no_sound = args.no_sound ++ self.no_notif = args.no_notif + self.httpserv = None + self.api = None + self.version = self.global_cfg.read('App', 'version') +@@ -79,34 +79,34 @@ + for p in PROTOCOLS: + self.protocol_cfg[p] = ConfigProtocol(p) + +- if options.debug or options.clean: ++ if args.debug or args.clean: + logging.basicConfig(level=logging.DEBUG) + else: + logging.basicConfig(level=logging.INFO) + self.log = logging.getLogger('Controller') + +- if options.clean: ++ if args.clean: + self.__clean() + sys.exit(0) + +- if options.version: ++ if args.version: + print "Turpial v%s" % self.version + print "Python v%X" % sys.hexversion + sys.exit(0) + +- if options.save: ++ if args.save: + try: + self.__save_credentials() + except KeyboardInterrupt: + self.log.debug('Interceptado Keyboard Interrupt') + sys.exit(0) + +- self.interface = options.interface +- if options.interface == 'gtk+' and ('gtk+' in INTERFACES): ++ self.interface = args.interface ++ if args.interface == 'gtk+' and ('gtk+' in INTERFACES): + self.ui = _GTK(self, extend=True) +- elif options.interface == 'gtk' and ('gtk' in INTERFACES): ++ elif args.interface == 'gtk' and ('gtk' in INTERFACES): + self.ui = _GTK(self) +- elif options.interface == 'cmd' and ('cmd' in INTERFACES): ++ elif args.interface == 'cmd' and ('cmd' in INTERFACES): + self.ui = _CMD(self, args) + else: + print 'No existe una interfaz válida. Las interfaces válidas son: %s' % INTERFACES diff --git a/net-im/turpial/files/extra-patch-optparse-turpial_main.py b/net-im/turpial/files/extra-patch-optparse-turpial_main.py new file mode 100644 index 000000000000..430b4e14a0ac --- /dev/null +++ b/net-im/turpial/files/extra-patch-optparse-turpial_main.py @@ -0,0 +1,13 @@ +--- turpial/main.py.orig 2011-03-23 17:50:07.000000000 +0100 ++++ turpial/main.py 2011-03-27 11:35:32.000000000 +0200 +@@ -21,8 +21,8 @@ + + try: + import ctypes +- libc = ctypes.CDLL('libc.so.6') +- libc.prctl(15, 'turpial', 0, 0) ++ libc = ctypes.CDLL(os.path.join('/usr/lib', 'libc.so')) ++ libc.setproctitle('turpial') + except ImportError: + pass + diff --git a/net-im/turpial/files/patch-turpial.desktop b/net-im/turpial/files/patch-turpial.desktop new file mode 100644 index 000000000000..90e4aeeacd9f --- /dev/null +++ b/net-im/turpial/files/patch-turpial.desktop @@ -0,0 +1,13 @@ +--- turpial.desktop.orig 2011-01-22 22:05:07.000000000 +0100 ++++ turpial.desktop 2011-02-18 23:38:51.000000000 +0100 +@@ -3,8 +3,10 @@ + Encoding=UTF-8 + Name=Turpial + Name[es]=Turpial ++Name[fr]=Turpial + GenericName=Twitter client + GenericName[es]=Cliente Twitter ++GenericName[fr]=Client pour Twitter et Identi.ca + Comment=Twitter client written in Python + Comment[es]=Cliente Twitter escrito en Python + Exec=turpial diff --git a/net-im/turpial/files/patch-turpial_api_interfaces_protocol.py b/net-im/turpial/files/patch-turpial_api_interfaces_protocol.py new file mode 100644 index 000000000000..fc29f287b776 --- /dev/null +++ b/net-im/turpial/files/patch-turpial_api_interfaces_protocol.py @@ -0,0 +1,11 @@ +--- turpial/api/interfaces/protocol.py.orig 2011-03-23 17:50:07.000000000 +0100 ++++ turpial/api/interfaces/protocol.py 2011-05-07 22:14:22.000000000 +0200 +@@ -280,7 +280,7 @@ + + def get_str_time(self, strdate): + t = self.convert_time(strdate) +- return time.strftime('%b %d, %I:%M %p', t) ++ return time.strftime('%Y-%m-%d @ %H:%M', t) + + def get_int_time(self, strdate): + t = self.convert_time(strdate) diff --git a/net-im/turpial/files/patch-turpial_ui_gtk_about.py b/net-im/turpial/files/patch-turpial_ui_gtk_about.py new file mode 100644 index 000000000000..9e10547f2371 --- /dev/null +++ b/net-im/turpial/files/patch-turpial_ui_gtk_about.py @@ -0,0 +1,35 @@ +--- turpial/ui/gtk/about.py.orig 2011-01-22 22:05:08.000000000 +0100 ++++ turpial/ui/gtk/about.py 2011-02-18 23:35:39.000000000 +0100 +@@ -22,8 +22,8 @@ + about.set_website('http://turpial.org.ve') + + try: +- path = os.path.realpath(os.path.join(os.path.dirname(__file__), +- '..', '..', '..', 'COPYING')) ++ path = os.path.realpath(os.path.join('%%PREFIX%%', 'share', 'doc', ++ 'turpial', 'COPYING')) + lic = file(path, 'r') + license = lic.read() + lic.close() +@@ -39,8 +39,8 @@ + about.set_license(license) + authors = [] + try: +- path = os.path.realpath(os.path.join(os.path.dirname(__file__), +- '..', '..', '..', 'AUTHORS')) ++ path = os.path.realpath(os.path.join('%%PREFIX%%', 'share', 'doc', ++ 'turpial', 'AUTHORS')) + f = file(path, 'r') + for line in f: + authors.append(line.strip('\n')) +@@ -51,8 +51,8 @@ + + translators = '' + try: +- path = os.path.realpath(os.path.join(os.path.dirname(__file__), +- '..', '..', '..', 'TRANSLATORS')) ++ path = os.path.realpath(os.path.join('%%PREFIX%%', 'share', 'doc', ++ 'turpial', 'TRANSLATORS')) + f = file(path, 'r') + translators = f.read() + f.close() diff --git a/net-im/turpial/files/patch-turpial_ui_gtk_statuslist.py b/net-im/turpial/files/patch-turpial_ui_gtk_statuslist.py new file mode 100644 index 000000000000..4e43fc88e91d --- /dev/null +++ b/net-im/turpial/files/patch-turpial_ui_gtk_statuslist.py @@ -0,0 +1,129 @@ +--- turpial/ui/gtk/statuslist.py.orig 2011-05-08 05:01:09.000000000 +0200 ++++ turpial/ui/gtk/statuslist.py 2011-06-12 19:55:15.000000000 +0200 +@@ -5,6 +5,7 @@ + # Author: Wil Alvarez (aka Satanas) + # Jun 25, 2009 + ++import sys + import gtk + import pango + import gobject +@@ -81,14 +82,14 @@ + if len(hashtags) == 0: return text + + for h in hashtags: +- torep = '%s' % h ++ torep = u'%s' % h + try: +- cad = '<span foreground="%s">%s</span>' % ( ++ cad = u'<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) ++ log.debug(u'Problemas para resaltar el hashtag: %s' % h) + return text + + def __highlight_groups(self, text): +@@ -99,14 +100,14 @@ + if len(groups) == 0: return text + + for h in groups: +- torep = '%s' % h ++ torep = u'%s' % h + try: +- cad = '<span foreground="%s">%s</span>' % ( ++ cad = u'<span foreground="%s">%s</span>' % ( + self.mainwin.link_color, h + ) + text = text.replace(torep, cad) + except: +- log.debug('Problemas para resaltar el grupo: %s' % h) ++ log.debug(u'Problemas para resaltar el grupo: %s' % h) + return text + + def __highlight_mentions(self, text): +@@ -117,8 +118,8 @@ + for h in mentions: + if len(h) == 1: + continue +- torep = '%s' % h +- cad = '<span foreground="%s">%s</span>' % ( ++ torep = u'%s' % h ++ cad = u'<span foreground="%s">%s</span>' % ( + self.mainwin.link_color, h + ) + text = text.replace(torep, cad) +@@ -128,7 +129,7 @@ + #if len(urls) == 0: return text + + for u in urls: +- cad = '<span foreground="%s">%s</span>' % ( ++ cad = u'<span foreground="%s">%s</span>' % ( + self.mainwin.link_color, u + ) + text = text.replace(u, cad) +@@ -180,8 +181,17 @@ + amarillo = gtk.gdk.Color(253 * 257, 255 * 257, 229 * 257) + naranja = gtk.gdk.Color(255 * 257, 240 * 257, 229 * 257) + ''' +- me = '@'+self.mainwin.me.lower() +- mention = True if msg.lower().find(me) >= 0 else False ++ me = unichr(64) + self.mainwin.me.lower() ++ if sys.getfilesystemencoding() != 'UTF-8': ++ if msg.startswith(me): ++ mention = True ++ else: ++ mention = False ++ else: ++ if msg.lower().startswith(me): ++ mention = True ++ else: ++ mention = False + + if new: + color = self.mainwin.get_gdk_color_from_base('unread') +@@ -206,15 +216,15 @@ + pango_twt = util.unescape_text(status.text) + pango_twt = gobject.markup_escape_text(pango_twt) + +- user = '<span size="9000" foreground="%s"><b>%s</b></span> ' % ( ++ user = u'<span size="9000" foreground="%s"><b>%s</b></span> ' % ( + self.mainwin.link_color, status.username + ) +- pango_twt = '<span size="9000">%s</span>' % pango_twt ++ pango_twt = u'<span size="9000">%s</span>' % pango_twt + pango_twt = self.__highlight_hashtags(pango_twt) + pango_twt = self.__highlight_groups(pango_twt) + pango_twt = self.__highlight_mentions(pango_twt) + pango_twt = self.__highlight_urls(urls, pango_twt) +- pango_twt += '<span size="2000">\n\n</span>' ++ pango_twt += u'<span size="2000">\n\n</span>' + + try: + pango_twt = user + pango_twt +@@ -227,17 +237,17 @@ + except UnicodeDecodeError: + invalid_chars.append(c) + clear_txt += '?' +- log.debug('Problema con caracteres inválidos en un tweet: %s' % invalid_chars) ++ log.debug(u'Problema con caracteres inválidos en un tweet: %s' % invalid_chars) + pango_twt = clear_txt + +- footer = '<span size="small" foreground="#999">%s' % status.datetime ++ footer = u'<span size="small" foreground="#999">%s' % status.datetime + if status.source: +- footer += ' %s %s' % (_('from'), status.source) ++ footer += u' %s %s' % (_('from'), status.source) + if status.in_reply_to_user: +- footer += ' %s %s' % (_('in reply to'), status.in_reply_to_user) ++ footer += u' %s %s' % (_('in reply to'), status.in_reply_to_user) + if status.retweet_by: +- footer += '\n%s %s' % (_('Retweeted by'), status.retweet_by) +- footer += '</span>' ++ footer += u'\n%s %s' % (_('Retweeted by'), status.retweet_by) ++ footer += u'</span>' + pango_twt += footer + + return pango_twt diff --git a/net-im/turpial/pkg-descr b/net-im/turpial/pkg-descr new file mode 100644 index 000000000000..7dea65f32bef --- /dev/null +++ b/net-im/turpial/pkg-descr @@ -0,0 +1,4 @@ +Turpial is a microblogging client for social networks like Twitter and +Identi.ca. + +WWW: http://turpial.org.ve/ diff --git a/net-im/turpial/pkg-plist b/net-im/turpial/pkg-plist new file mode 100644 index 000000000000..1506934deb01 --- /dev/null +++ b/net-im/turpial/pkg-plist @@ -0,0 +1,316 @@ +bin/turpial +share/applications/turpial.desktop +%%DOCSDIR%%/AUTHORS +%%DOCSDIR%%/COPYING +%%DOCSDIR%%/README.rst +%%DOCSDIR%%/TRANSLATORS +share/locale/ca/LC_MESSAGES/turpial.mo +share/locale/de/LC_MESSAGES/turpial.mo +share/locale/en/LC_MESSAGES/turpial.mo +share/locale/es/LC_MESSAGES/turpial.mo +share/locale/eu/LC_MESSAGES/turpial.mo +share/locale/fr/LC_MESSAGES/turpial.mo +share/locale/gl/LC_MESSAGES/turpial.mo +share/locale/he/LC_MESSAGES/turpial.mo +share/locale/it/LC_MESSAGES/turpial.mo +share/locale/nn/LC_MESSAGES/turpial.mo +share/locale/pt/LC_MESSAGES/turpial.mo +share/locale/ru/LC_MESSAGES/turpial.mo +share/locale/zh_CN/LC_MESSAGES/turpial.mo +share/locale/zh_TW/LC_MESSAGES/turpial.mo +share/pixmaps/turpial.png +%%DATADIR%%/__init__.py +%%DATADIR%%/__init__.pyc +%%DATADIR%%/__init__.pyo +%%DATADIR%%/api/__init__.py +%%DATADIR%%/api/__init__.pyc +%%DATADIR%%/api/__init__.pyo +%%DATADIR%%/api/interfaces/__init__.py +%%DATADIR%%/api/interfaces/__init__.pyc +%%DATADIR%%/api/interfaces/__init__.pyo +%%DATADIR%%/api/interfaces/http.py +%%DATADIR%%/api/interfaces/http.pyc +%%DATADIR%%/api/interfaces/http.pyo +%%DATADIR%%/api/interfaces/post.py +%%DATADIR%%/api/interfaces/post.pyc +%%DATADIR%%/api/interfaces/post.pyo +%%DATADIR%%/api/interfaces/protocol.py +%%DATADIR%%/api/interfaces/protocol.pyc +%%DATADIR%%/api/interfaces/protocol.pyo +%%DATADIR%%/api/interfaces/service.py +%%DATADIR%%/api/interfaces/service.pyc +%%DATADIR%%/api/interfaces/service.pyo +%%DATADIR%%/api/protocols/__init__.py +%%DATADIR%%/api/protocols/__init__.pyc +%%DATADIR%%/api/protocols/__init__.pyo +%%DATADIR%%/api/protocols/identica/__init__.py +%%DATADIR%%/api/protocols/identica/__init__.pyc +%%DATADIR%%/api/protocols/identica/__init__.pyo +%%DATADIR%%/api/protocols/identica/globals.py +%%DATADIR%%/api/protocols/identica/globals.pyc +%%DATADIR%%/api/protocols/identica/globals.pyo +%%DATADIR%%/api/protocols/identica/http.py +%%DATADIR%%/api/protocols/identica/http.pyc +%%DATADIR%%/api/protocols/identica/http.pyo +%%DATADIR%%/api/protocols/identica/identica.py +%%DATADIR%%/api/protocols/identica/identica.pyc +%%DATADIR%%/api/protocols/identica/identica.pyo +%%DATADIR%%/api/protocols/twitter/__init__.py +%%DATADIR%%/api/protocols/twitter/__init__.pyc +%%DATADIR%%/api/protocols/twitter/__init__.pyo +%%DATADIR%%/api/protocols/twitter/globals.py +%%DATADIR%%/api/protocols/twitter/globals.pyc +%%DATADIR%%/api/protocols/twitter/globals.pyo +%%DATADIR%%/api/protocols/twitter/http.py +%%DATADIR%%/api/protocols/twitter/http.pyc +%%DATADIR%%/api/protocols/twitter/http.pyo +%%DATADIR%%/api/protocols/twitter/oauth.py +%%DATADIR%%/api/protocols/twitter/oauth.pyc +%%DATADIR%%/api/protocols/twitter/oauth.pyo +%%DATADIR%%/api/protocols/twitter/twitter.py +%%DATADIR%%/api/protocols/twitter/twitter.pyc +%%DATADIR%%/api/protocols/twitter/twitter.pyo +%%DATADIR%%/api/services/__init__.py +%%DATADIR%%/api/services/__init__.pyc +%%DATADIR%%/api/services/__init__.pyo +%%DATADIR%%/api/services/shorturl/__init__.py +%%DATADIR%%/api/services/shorturl/__init__.pyc +%%DATADIR%%/api/services/shorturl/__init__.pyo +%%DATADIR%%/api/services/shorturl/bitly.py +%%DATADIR%%/api/services/shorturl/bitly.pyc +%%DATADIR%%/api/services/shorturl/bitly.pyo +%%DATADIR%%/api/services/shorturl/cligs.py +%%DATADIR%%/api/services/shorturl/cligs.pyc +%%DATADIR%%/api/services/shorturl/cligs.pyo +%%DATADIR%%/api/services/shorturl/isgd.py +%%DATADIR%%/api/services/shorturl/isgd.pyc +%%DATADIR%%/api/services/shorturl/isgd.pyo +%%DATADIR%%/api/services/shorturl/smlkes.py +%%DATADIR%%/api/services/shorturl/smlkes.pyc +%%DATADIR%%/api/services/shorturl/smlkes.pyo +%%DATADIR%%/api/services/shorturl/supr.py +%%DATADIR%%/api/services/shorturl/supr.pyc +%%DATADIR%%/api/services/shorturl/supr.pyo +%%DATADIR%%/api/services/shorturl/tinyurl.py +%%DATADIR%%/api/services/shorturl/tinyurl.pyc +%%DATADIR%%/api/services/shorturl/tinyurl.pyo +%%DATADIR%%/api/services/shorturl/trim.py +%%DATADIR%%/api/services/shorturl/trim.pyc +%%DATADIR%%/api/services/shorturl/trim.pyo +%%DATADIR%%/api/services/shorturl/unu.py +%%DATADIR%%/api/services/shorturl/unu.pyc +%%DATADIR%%/api/services/shorturl/unu.pyo +%%DATADIR%%/api/services/shorturl/ur1ca.py +%%DATADIR%%/api/services/shorturl/ur1ca.pyc +%%DATADIR%%/api/services/shorturl/ur1ca.pyo +%%DATADIR%%/api/services/shorturl/zima.py +%%DATADIR%%/api/services/shorturl/zima.pyc +%%DATADIR%%/api/services/shorturl/zima.pyo +%%DATADIR%%/api/services/uploadpic/__init__.py +%%DATADIR%%/api/services/uploadpic/__init__.pyc +%%DATADIR%%/api/services/uploadpic/__init__.pyo +%%DATADIR%%/api/services/uploadpic/imgly.py +%%DATADIR%%/api/services/uploadpic/imgly.pyc +%%DATADIR%%/api/services/uploadpic/imgly.pyo +%%DATADIR%%/api/services/uploadpic/mobypicture.py +%%DATADIR%%/api/services/uploadpic/mobypicture.pyc +%%DATADIR%%/api/services/uploadpic/mobypicture.pyo +%%DATADIR%%/api/services/uploadpic/posterous.py +%%DATADIR%%/api/services/uploadpic/posterous.pyc +%%DATADIR%%/api/services/uploadpic/posterous.pyo +%%DATADIR%%/api/services/uploadpic/pyTweetPhoto.py +%%DATADIR%%/api/services/uploadpic/pyTweetPhoto.pyc +%%DATADIR%%/api/services/uploadpic/pyTweetPhoto.pyo +%%DATADIR%%/api/services/uploadpic/tweetphoto.py +%%DATADIR%%/api/services/uploadpic/tweetphoto.pyc +%%DATADIR%%/api/services/uploadpic/tweetphoto.pyo +%%DATADIR%%/api/services/uploadpic/twitgoo.py +%%DATADIR%%/api/services/uploadpic/twitgoo.pyc +%%DATADIR%%/api/services/uploadpic/twitgoo.pyo +%%DATADIR%%/api/services/uploadpic/twitpic.py +%%DATADIR%%/api/services/uploadpic/twitpic.pyc +%%DATADIR%%/api/services/uploadpic/twitpic.pyo +%%DATADIR%%/api/services/uploadpic/yfrog.py +%%DATADIR%%/api/services/uploadpic/yfrog.pyc +%%DATADIR%%/api/services/uploadpic/yfrog.pyo +%%DATADIR%%/api/servicesapi.py +%%DATADIR%%/api/servicesapi.pyc +%%DATADIR%%/api/servicesapi.pyo +%%DATADIR%%/api/turpialapi.py +%%DATADIR%%/api/turpialapi.pyc +%%DATADIR%%/api/turpialapi.pyo +%%DATADIR%%/config.py +%%DATADIR%%/config.pyc +%%DATADIR%%/config.pyo +%%DATADIR%%/data/pixmaps/action-add-friends.png +%%DATADIR%%/data/pixmaps/action-autoscroll.png +%%DATADIR%%/data/pixmaps/action-clear.png +%%DATADIR%%/data/pixmaps/action-mark-all.png +%%DATADIR%%/data/pixmaps/action-refresh.png +%%DATADIR%%/data/pixmaps/dock-about.png +%%DATADIR%%/data/pixmaps/dock-favorites.png +%%DATADIR%%/data/pixmaps/dock-follow.png +%%DATADIR%%/data/pixmaps/dock-home.png +%%DATADIR%%/data/pixmaps/dock-profile.png +%%DATADIR%%/data/pixmaps/dock-settings.png +%%DATADIR%%/data/pixmaps/dock-update.png +%%DATADIR%%/data/pixmaps/dock-uploadpic.png +%%DATADIR%%/data/pixmaps/identica.png +%%DATADIR%%/data/pixmaps/logo.png +%%DATADIR%%/data/pixmaps/logo2.png +%%DATADIR%%/data/pixmaps/turpial-notification.png +%%DATADIR%%/data/pixmaps/turpial-tray-update.png +%%DATADIR%%/data/pixmaps/turpial-tray.png +%%DATADIR%%/data/pixmaps/turpial.png +%%DATADIR%%/data/pixmaps/twitter.png +%%DATADIR%%/data/pixmaps/unknown.png +%%DATADIR%%/data/pixmaps/wait-error.png +%%DATADIR%%/data/pixmaps/wait10.png +%%DATADIR%%/data/pixmaps/wait11.png +%%DATADIR%%/data/pixmaps/wait12.png +%%DATADIR%%/data/pixmaps/wait13.png +%%DATADIR%%/data/pixmaps/wait14.png +%%DATADIR%%/data/pixmaps/wait15.png +%%DATADIR%%/data/pixmaps/wait16.png +%%DATADIR%%/data/pixmaps/wait17.png +%%DATADIR%%/data/pixmaps/wait18.png +%%DATADIR%%/data/pixmaps/wait19.png +%%DATADIR%%/data/pixmaps/wait2.png +%%DATADIR%%/data/pixmaps/wait20.png +%%DATADIR%%/data/pixmaps/wait21.png +%%DATADIR%%/data/pixmaps/wait22.png +%%DATADIR%%/data/pixmaps/wait23.png +%%DATADIR%%/data/pixmaps/wait24.png +%%DATADIR%%/data/pixmaps/wait25.png +%%DATADIR%%/data/pixmaps/wait26.png +%%DATADIR%%/data/pixmaps/wait27.png +%%DATADIR%%/data/pixmaps/wait28.png +%%DATADIR%%/data/pixmaps/wait29.png +%%DATADIR%%/data/pixmaps/wait3.png +%%DATADIR%%/data/pixmaps/wait30.png +%%DATADIR%%/data/pixmaps/wait31.png +%%DATADIR%%/data/pixmaps/wait32.png +%%DATADIR%%/data/pixmaps/wait4.png +%%DATADIR%%/data/pixmaps/wait5.png +%%DATADIR%%/data/pixmaps/wait6.png +%%DATADIR%%/data/pixmaps/wait7.png +%%DATADIR%%/data/pixmaps/wait8.png +%%DATADIR%%/data/pixmaps/wait9.png +%%DATADIR%%/data/sounds/cambur_pinton.ogg +%%DATADIR%%/data/sounds/mencion.ogg +%%DATADIR%%/data/sounds/mencion2.ogg +%%DATADIR%%/data/sounds/mencion3.ogg +%%DATADIR%%/data/sounds/turpial.ogg +%%DATADIR%%/data/themes/default/style.css +%%DATADIR%%/data/themes/default/tweet.html +%%DATADIR%%/data/themes/default/tweet_template.html +%%DATADIR%%/main.py +%%DATADIR%%/main.pyc +%%DATADIR%%/main.pyo +%%DATADIR%%/notification.py +%%DATADIR%%/notification.pyc +%%DATADIR%%/notification.pyo +%%DATADIR%%/sound.py +%%DATADIR%%/sound.pyc +%%DATADIR%%/sound.pyo +%%DATADIR%%/ui/__init__.py +%%DATADIR%%/ui/__init__.pyc +%%DATADIR%%/ui/__init__.pyo +%%DATADIR%%/ui/base_ui.py +%%DATADIR%%/ui/base_ui.pyc +%%DATADIR%%/ui/base_ui.pyo +%%DATADIR%%/ui/cmd/__init__.py +%%DATADIR%%/ui/cmd/__init__.pyc +%%DATADIR%%/ui/cmd/__init__.pyo +%%DATADIR%%/ui/cmd/main.py +%%DATADIR%%/ui/cmd/main.pyc +%%DATADIR%%/ui/cmd/main.pyo +%%DATADIR%%/ui/gtk/__init__.py +%%DATADIR%%/ui/gtk/__init__.pyc +%%DATADIR%%/ui/gtk/__init__.pyo +%%DATADIR%%/ui/gtk/about.py +%%DATADIR%%/ui/gtk/about.pyc +%%DATADIR%%/ui/gtk/about.pyo +%%DATADIR%%/ui/gtk/columns.py +%%DATADIR%%/ui/gtk/columns.pyc +%%DATADIR%%/ui/gtk/columns.pyo +%%DATADIR%%/ui/gtk/conversation.py +%%DATADIR%%/ui/gtk/conversation.pyc +%%DATADIR%%/ui/gtk/conversation.pyo +%%DATADIR%%/ui/gtk/dock.py +%%DATADIR%%/ui/gtk/dock.pyc +%%DATADIR%%/ui/gtk/dock.pyo +%%DATADIR%%/ui/gtk/errorbox.py +%%DATADIR%%/ui/gtk/errorbox.pyc +%%DATADIR%%/ui/gtk/errorbox.pyo +%%DATADIR%%/ui/gtk/follow.py +%%DATADIR%%/ui/gtk/follow.pyc +%%DATADIR%%/ui/gtk/follow.pyo +%%DATADIR%%/ui/gtk/friendwin.py +%%DATADIR%%/ui/gtk/friendwin.pyc +%%DATADIR%%/ui/gtk/friendwin.pyo +%%DATADIR%%/ui/gtk/home.py +%%DATADIR%%/ui/gtk/home.pyc +%%DATADIR%%/ui/gtk/home.pyo +%%DATADIR%%/ui/gtk/login.py +%%DATADIR%%/ui/gtk/login.pyc +%%DATADIR%%/ui/gtk/login.pyo +%%DATADIR%%/ui/gtk/loginlabel.py +%%DATADIR%%/ui/gtk/loginlabel.pyc +%%DATADIR%%/ui/gtk/loginlabel.pyo +%%DATADIR%%/ui/gtk/main.py +%%DATADIR%%/ui/gtk/main.pyc +%%DATADIR%%/ui/gtk/main.pyo +%%DATADIR%%/ui/gtk/menu.py +%%DATADIR%%/ui/gtk/menu.pyc +%%DATADIR%%/ui/gtk/menu.pyo +%%DATADIR%%/ui/gtk/preferences.py +%%DATADIR%%/ui/gtk/preferences.pyc +%%DATADIR%%/ui/gtk/preferences.pyo +%%DATADIR%%/ui/gtk/profile.py +%%DATADIR%%/ui/gtk/profile.pyc +%%DATADIR%%/ui/gtk/profile.pyo +%%DATADIR%%/ui/gtk/statuslist.py +%%DATADIR%%/ui/gtk/statuslist.pyc +%%DATADIR%%/ui/gtk/statuslist.pyo +%%DATADIR%%/ui/gtk/tweetslistwk.py +%%DATADIR%%/ui/gtk/tweetslistwk.pyc +%%DATADIR%%/ui/gtk/tweetslistwk.pyo +%%DATADIR%%/ui/gtk/updatebox.py +%%DATADIR%%/ui/gtk/updatebox.pyc +%%DATADIR%%/ui/gtk/updatebox.pyo +%%DATADIR%%/ui/gtk/uploadpicbox.py +%%DATADIR%%/ui/gtk/uploadpicbox.pyc +%%DATADIR%%/ui/gtk/uploadpicbox.pyo +%%DATADIR%%/ui/gtk/userform.py +%%DATADIR%%/ui/gtk/userform.pyc +%%DATADIR%%/ui/gtk/userform.pyo +%%DATADIR%%/ui/gtk/waiting.py +%%DATADIR%%/ui/gtk/waiting.pyc +%%DATADIR%%/ui/gtk/waiting.pyo +%%DATADIR%%/ui/gtk/wrapper.py +%%DATADIR%%/ui/gtk/wrapper.pyc +%%DATADIR%%/ui/gtk/wrapper.pyo +%%DATADIR%%/ui/util.py +%%DATADIR%%/ui/util.pyc +%%DATADIR%%/ui/util.pyo +@dirrm %%DATADIR%%/ui/gtk +@dirrm %%DATADIR%%/ui/cmd +@dirrm %%DATADIR%%/ui +@dirrm %%DATADIR%%/data/themes/default +@dirrm %%DATADIR%%/data/themes +@dirrm %%DATADIR%%/data/sounds +@dirrm %%DATADIR%%/data/pixmaps +@dirrm %%DATADIR%%/data +@dirrm %%DATADIR%%/api/services/uploadpic +@dirrm %%DATADIR%%/api/services/shorturl +@dirrm %%DATADIR%%/api/services +@dirrm %%DATADIR%%/api/protocols/twitter +@dirrm %%DATADIR%%/api/protocols/identica +@dirrm %%DATADIR%%/api/protocols +@dirrm %%DATADIR%%/api/interfaces +@dirrm %%DATADIR%%/api +@dirrm %%DATADIR%% +@dirrm %%DOCSDIR%% +@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true +@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true |