Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim-plugins.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann Leboulanger <asterix@lagaule.org>2013-01-29 15:28:48 +0400
committerYann Leboulanger <asterix@lagaule.org>2013-01-29 15:28:48 +0400
commitdccc279d6fdae61cd2777af0558413deca62c337 (patch)
tree5d4837c48aa91b07a2560dd8971539835b0ffbd7
parentaa3fc9bfeaabd9d794d6b5cc3aec8cdb393aaf17 (diff)
update latex plugin to py3
-rw-r--r--latex/__init__.py2
-rw-r--r--latex/latex.py61
-rw-r--r--latex/manifest.ini4
3 files changed, 36 insertions, 31 deletions
diff --git a/latex/__init__.py b/latex/__init__.py
index 081433d..80925ef 100644
--- a/latex/__init__.py
+++ b/latex/__init__.py
@@ -1 +1 @@
-from latex import LatexPlugin
+from .latex import LatexPlugin
diff --git a/latex/latex.py b/latex/latex.py
index b5106e3..30216a3 100644
--- a/latex/latex.py
+++ b/latex/latex.py
@@ -23,8 +23,11 @@
from threading import Thread
import os
-import gtk
-import gobject
+from gi.repository import Gtk
+from gi.repository import Gdk
+from gi.repository import GdkPixbuf
+from gi.repository import Pango
+from gi.repository import GObject
from tempfile import mkstemp, mkdtemp
import random
from subprocess import Popen, PIPE
@@ -35,7 +38,7 @@ from plugins import GajimPlugin
from plugins.helpers import log, log_calls
from plugins.gui import GajimPluginConfigDialog
-gtk.gdk.threads_init() # for gtk.gdk.thread_[enter|leave]()
+Gdk.threads_init()
def latex_template(code):
return '''\\documentclass[12pt]{article}
@@ -73,7 +76,7 @@ def try_run(argv, directory):
out = p.communicate()[0]
log.info(out)
return p.wait()
- except Exception, e:
+ except Exception as e:
return _('Error executing "%(command)s": %(error)s') % {
'command': " ".join(argv),
'error': helpers.decode_string(str(e))}
@@ -114,8 +117,8 @@ class LatexRenderer(Thread):
self.show_image()
else:
self.show_error(_('There are bad commands!'))
- except:
- pass
+ except Exception:
+ self.show_error(_('Error processing LaTeX'))
finally:
self.buffer_.delete_mark(self.mark)
@@ -123,16 +126,16 @@ class LatexRenderer(Thread):
"""
String -> TextBuffer
"""
- gtk.gdk.threads_enter()
+ Gdk.threads_enter()
iter_mark = self.buffer_.get_iter_at_mark(self.mark)
iter_end = iter_mark.copy().forward_search(_('Processing LaTeX'),
- gtk.TEXT_SEARCH_TEXT_ONLY)[1]
+ Gtk.TextSearchFlags.TEXT_ONLY, None)[1]
self.buffer_.delete(iter_mark, iter_end)
- pixbuf = self.widget.render_icon(gtk.STOCK_STOP, gtk.ICON_SIZE_BUTTON)
+ pixbuf = self.widget.render_icon(Gtk.STOCK_STOP, Gtk.IconSize.BUTTON)
self.buffer_.insert_pixbuf(iter_end, pixbuf)
self.buffer_.insert(iter_end, message)
- gtk.gdk.threads_leave()
+ Gdk.threads_leave()
@log_calls('LatexRenderer')
def show_image(self):
@@ -207,21 +210,21 @@ class LatexRenderer(Thread):
log.debug('Loading PNG %s' % tmppng)
try:
- gtk.gdk.threads_enter()
- pixbuf = gtk.gdk.pixbuf_new_from_file(tmppng)
+ Gdk.threads_enter()
+ pixbuf = GdkPixbuf.Pixbuf.new_from_file(tmppng)
log.debug('png loaded')
iter_mark = self.buffer_.get_iter_at_mark(self.mark)
iter_end = iter_mark.copy().forward_search('Processing LaTeX',
- gtk.TEXT_SEARCH_TEXT_ONLY)[1]
+ Gtk.TextSearchFlags.TEXT_ONLY, None)[1]
log.debug('Delete old Text')
self.buffer_.delete(iter_mark, iter_end)
log.debug('Insert pixbuf')
self.buffer_.insert_pixbuf(iter_end, pixbuf)
- except gobject.GError:
+ except GObject.GError:
self.show_error(_('Cannot open %s for reading') % tmppng)
log.debug('Cant open %s for reading' % tmppng)
finally:
- gtk.gdk.threads_leave()
+ Gdk.threads_leave()
os.remove(tmppng)
def check_code(self):
@@ -235,11 +238,11 @@ class LatexPluginConfiguration(GajimPluginConfigDialog):
def init(self):
self.GTK_BUILDER_FILE_PATH = self.plugin.local_file_path(
'config_dialog.ui')
- self.xml = gtk.Builder()
+ self.xml = Gtk.Builder()
self.xml.set_translation_domain('gajim_plugins')
self.xml.add_objects_from_file(self.GTK_BUILDER_FILE_PATH, ['vbox1'])
hbox = self.xml.get_object('vbox1')
- self.child.pack_start(hbox)
+ self.get_child().pack_start(hbox, False, False, 0)
self.result_label = self.xml.get_object('result_label')
self.xml.connect_signals(self)
@@ -340,16 +343,17 @@ class LatexPlugin(GajimPlugin):
self.activatable = False
self.available_text += _('. Install %s') % pkgs
- def textview_event_after(self, tag, widget, event, iter):
+ def textview_event_after(self, tag, widget, event, iter_):
"""
start rendering if clicked on a link
"""
if tag.get_property('name') != 'latex' or \
- event.type != gtk.gdk.BUTTON_PRESS: return
- dollar_start, iter_start = iter.backward_search('$$',
- gtk.TEXT_SEARCH_TEXT_ONLY)
- iter_end, dollar_end = iter.forward_search('$$',
- gtk.TEXT_SEARCH_TEXT_ONLY)
+ event.type != Gdk.EventType.BUTTON_PRESS:
+ return
+ dollar_start, iter_start = iter_.backward_search('$$',
+ Gtk.TextSearchFlags.TEXT_ONLY, None)
+ iter_end, dollar_end = iter_.forward_search('$$',
+ Gtk.TextSearchFlags.TEXT_ONLY, None)
LatexRenderer(dollar_start, dollar_end, widget.get_buffer(), widget,
self.config['png_dpi'])
@@ -363,14 +367,15 @@ class LatexPlugin(GajimPlugin):
newlist.append( [ list[i], list[i+1], ] )
return newlist
- assert isinstance(tb, gtk.TextBuffer)
+ assert isinstance(tb, Gtk.TextBuffer)
start_iter = tb.get_start_iter()
points = []
- tuple_found = start_iter.forward_search('$$', gtk.TEXT_SEARCH_TEXT_ONLY)
+ tuple_found = start_iter.forward_search('$$',
+ Gtk.TextSearchFlags.TEXT_ONLY, None)
while tuple_found != None:
points.append(tuple_found)
tuple_found = tuple_found[1].forward_search('$$',
- gtk.TEXT_SEARCH_TEXT_ONLY)
+ Gtk.TextSearchFlags.TEXT_ONLY, None)
for pair in split_list(points):
tb.apply_tag_by_name('latex', pair[0][1], pair[1][0])
@@ -380,9 +385,9 @@ class LatexPlugin(GajimPlugin):
tv = chat_control.conv_textview.tv
tb = tv.get_buffer()
- self.latex_tag = gtk.TextTag('latex')
+ self.latex_tag = Gtk.TextTag.new('latex')
self.latex_tag.set_property('foreground', 'blue')
- self.latex_tag.set_property('underline', 'single')
+ self.latex_tag.set_property('underline', Pango.Underline.SINGLE)
d['tag_id'] = self.latex_tag.connect('event', self.textview_event_after)
tb.get_tag_table().add(self.latex_tag)
diff --git a/latex/manifest.ini b/latex/manifest.ini
index a4cc9fa..88b1e94 100644
--- a/latex/manifest.ini
+++ b/latex/manifest.ini
@@ -1,9 +1,9 @@
[info]
name: Latex
short_name: latex
-version: 0.2.1
+version: 0.3
description: render received latex code
authors: Yves Fischer <yvesf@xapek.org>
Yann Leboulanger <asterix@lagaule.org>
homepage: http://trac-plugins.gajim.org/wiki/LatexPlugin
-max_gajim_version: 0.15.9
+min_gajim_version: 0.15.10