Checkpoint: functional OPML import

This commit is contained in:
Cam Stevenson 2017-10-22 10:21:39 -04:00
parent 3557c222ce
commit 44db1a5989
2 changed files with 12 additions and 8 deletions

View file

@ -7,10 +7,7 @@ from manuskript.models.outlineModel import outlineItem
from manuskript.enums import Outline
import xmltodict
from manuskript.functions import mainWindow
def handleCard(_, card):
print(card['title'])
from PyQt5.QtCore import QModelIndex
def exportOpml():
@ -32,10 +29,15 @@ def importOpml(opmlFilePath):
outline = bodyNode['outline']
for element in outline:
parseItems(underElement=element, parentItem=mdl.rootItem)
parseItems(element, mdl.rootItem)
mdl.layoutChanged.emit()
mw.treeRedacOutline.viewport().update()
return True
def parseItems(underElement, parentItem):
if '@text' in underElement:
card = outlineItem(parent=parentItem, title=underElement['@text'])
@ -62,12 +64,14 @@ def parseItems(underElement, parentItem):
return
def saveNewlines(inString):
inString = inString.replace("\r\n", "\n")
inString = inString.replace("\n", "{{lf}}")
return inString
def restoreNewLines(inString):
return inString.replace("{{lf}}", "\n")

View file

@ -98,7 +98,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
# Main Menu
for i in [self.actSave, self.actSaveAs, self.actCloseProject,
self.menuEdit, self.menuView, self.menuTools, self.menuHelp,
self.actCompile, self.actSettings]:
self.actCompile, self.actImport, self.actSettings]:
i.setEnabled(False)
self.actOpen.triggered.connect(self.welcome.openFile)
@ -447,7 +447,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
i.setEnabled(False)
for i in [self.actSave, self.actSaveAs, self.actCloseProject,
self.menuEdit, self.menuView, self.menuTools, self.menuHelp,
self.actCompile, self.actSettings]:
self.actCompile, self.actImport, self.actSettings]:
i.setEnabled(True)
# Add project name to Window's name
@ -491,7 +491,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
i.setEnabled(True)
for i in [self.actSave, self.actSaveAs, self.actCloseProject,
self.menuEdit, self.menuView, self.menuTools, self.menuHelp,
self.actCompile, self.actSettings]:
self.actCompile, self.actImport, self.actSettings]:
i.setEnabled(False)
# Set Window's name - no project loaded