~ubuntu-branches/ubuntu/utopic/retext/utopic

« back to all changes in this revision

Viewing changes to retext.py

  • Committer: Package Import Robot
  • Author(s): Dmitry Shachnev
  • Date: 2013-01-19 14:51:11 UTC
  • mfrom: (1.1.14)
  • Revision ID: package-import@ubuntu.com-20130119145111-zlbi00c6y40g7tfm
Tags: 3.1.4-1
* New upstream bugfix release
  - Fixes crashes with wrongly formatted reStructuredText documents

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
from PyQt4.QtGui import *
28
28
 
29
29
app_name = "ReText"
30
 
app_version = "3.1.3"
 
30
app_version = "3.1.4"
31
31
 
32
32
def readFromSettings(settings, key, keytype):
33
33
        try:
469
469
                self.menuEdit.addAction(self.actionCopy)
470
470
                self.menuEdit.addAction(self.actionPaste)
471
471
                self.menuEdit.addSeparator()
472
 
                self.sc = False
473
472
                if use_enchant:
474
473
                        self.menuSC = self.menuEdit.addMenu(self.tr('Spell check'))
475
474
                        self.menuSC.addAction(self.actionEnableSC)
579
578
        def actIcon(self, name):
580
579
                return QIcon.fromTheme(name, QIcon(icon_path+name+'.png'))
581
580
        
582
 
        def printError(self, error):
 
581
        def printError(self):
 
582
                import traceback
583
583
                print('Exception occured while parsing document:')
584
 
                print(error)
 
584
                traceback.print_exc()
585
585
        
586
586
        def getSplitter(self, index):
587
587
                splitter = QSplitter(Qt.Horizontal)
880
880
                else:
881
881
                        try:
882
882
                                parsedText = self.parseText()
883
 
                        except Exception as e:
884
 
                                self.printError(e)
 
883
                        except:
 
884
                                self.printError()
885
885
                        else:
886
886
                                if textedit:
887
887
                                        pb.setHtml(parsedText)
1138
1138
                        fileName += ".html"
1139
1139
                try:
1140
1140
                        text = self.parseText()
1141
 
                except Exception as e:
1142
 
                        return self.printError(e)
 
1141
                except:
 
1142
                        return self.printError()
1143
1143
                htmlFile = QFile(fileName)
1144
1144
                htmlFile.open(QIODevice.WriteOnly)
1145
1145
                html = QTextStream(htmlFile)
1171
1171
        def saveOdf(self):
1172
1172
                try:
1173
1173
                        document = self.textDocument()
1174
 
                except Exception as e:
1175
 
                        self.printError(e)
1176
 
                        return
 
1174
                except:
 
1175
                        return self.printError()
1177
1176
                fileName = QFileDialog.getSaveFileName(self, self.tr("Export document to ODT"), "", self.tr("OpenDocument text files (*.odt)"))
1178
1177
                if not QFileInfo(fileName).suffix():
1179
1178
                        fileName += ".odt"
1192
1191
                        return self.previewBoxes[self.ind]
1193
1192
                try:
1194
1193
                        return self.textDocument()
1195
 
                except Exception as e:
1196
 
                        self.printError(e)
 
1194
                except:
 
1195
                        self.printError()
1197
1196
        
1198
1197
        def standardPrinter(self):
1199
1198
                printer = QPrinter(QPrinter.HighResolution)
1271
1270
                """Ensure that parseText() is called before this function!
1272
1271
                If 'baseName' is set to True, file basename will be used."""
1273
1272
                realTitle = ''
1274
 
                try:
1275
 
                        text = unicode(self.editBoxes[self.ind].toPlainText())
1276
 
                except:
1277
 
                        # For Python 3
1278
 
                        text = self.editBoxes[self.ind].toPlainText()
1279
 
                docType = self.getDocType()
1280
 
                if docType == DOCTYPE_REST:
1281
 
                        realTitle = publish_parts(text, writer_name='html')['title']
1282
 
                elif docType == DOCTYPE_MARKDOWN:
1283
 
                        try:
1284
 
                                realTitle = str.join(' ', md.Meta['title'])
1285
 
                        except:
1286
 
                                # Meta extension not installed
 
1273
                if not baseName:
 
1274
                        try:
 
1275
                                text = unicode(self.editBoxes[self.ind].toPlainText())
 
1276
                        except:
 
1277
                                # For Python 3
 
1278
                                text = self.editBoxes[self.ind].toPlainText()
 
1279
                        docType = self.getDocType()
 
1280
                        try:
 
1281
                                if docType == DOCTYPE_REST:
 
1282
                                        realTitle = publish_parts(text, writer_name='html')['title']
 
1283
                                elif docType == DOCTYPE_MARKDOWN:
 
1284
                                        realTitle = str.join(' ', md.Meta['title'])
 
1285
                        except:
1287
1286
                                pass
1288
 
                if realTitle and not baseName:
 
1287
                if realTitle:
1289
1288
                        return realTitle
1290
1289
                elif self.fileNames[self.ind]:
1291
1290
                        fileinfo = QFileInfo(self.fileNames[self.ind])
1425
1424
                HtmlDlg = HtmlDialog(self)
1426
1425
                try:
1427
1426
                        HtmlDlg.textEdit.setPlainText(self.parseText())
1428
 
                except Exception as e:
1429
 
                        self.printError(e)
1430
 
                        return
 
1427
                except:
 
1428
                        return self.printError()
1431
1429
                winTitle = self.tr('New document')
1432
1430
                if self.fileNames[self.ind]:
1433
1431
                        winTitle = QFileInfo(self.fileNames[self.ind]).fileName()