def _getAddProductPostDataForUrl(self, productUrl, zoundryServiceId): dom = ZDom(ADD_PRODUCT_REQUEST) dom.selectSingleNode(u"/Request/Authorization/Username").setText( zoundryServiceId) #$NON-NLS-1$ dom.selectSingleNode(u"/Request/AddProducts/Product/Url").setText( productUrl) #$NON-NLS-1$ return dom.serialize(True)
def readDnDSource(self, stgMedium): fmtstring = unicode(len(stgMedium.data)) + u"s" #$NON-NLS-1$ dataTuple = unpack(fmtstring, stgMedium.data) cfhtml = dataTuple[0] html = self._decodeCfHtml(cfhtml) htmlDom = ZDom() rootNode = None try: htmlDom.loadHTML(html) rootNode = htmlDom.selectSingleNode(u"/*") #$NON-NLS-1$ except: # Probably an encoding problem of some sort - just # return None (we are going to let IE handle it anyway) pass return ZHtmlDnDSource(rootNode)
def importPersonalDictionary(self): joeyConfigDom = self._getJoeyUserConfigDom() if not joeyConfigDom: return try: node = joeyConfigDom.selectSingleNode(u"/joey/user-config/spell-check/language") #$NON-NLS-1$ if not node: return spellcheckLang = getNoneString( node.getText()) if not spellcheckLang: return # FIXME (EPW) we could support other languages... if not spellcheckLang == u"en_US": #$NON-NLS-1$ return # 1) read all words from ZBW personal-dictionary.xml file # 2) create new spellchecker.xml DOM # 3) save new Raven spellchecker file to 'PROFILE\LANG\spellchecker.xml' joeyDictFile = os.path.join(self.pathToJoeyProfile, u"spelling/personal-dictionary.xml") #$NON-NLS-1$ dom = ZDom() dom.load(joeyDictFile) dom.setNamespaceMap(ZBW_PERSONAL_DICTIONARY_NSS_MAP) wordNodeList = dom.selectNodes(u"/pd:personal-dictionary/pd:word") #$NON-NLS-1$ newDom = ZDom() newDom.loadXML(ZBlogWriterDictionaryImporter.SPELLCHECK_TEMPLATE) newDom.setNamespaceMap(RAVEN_SPELLCHECK_NSS_MAP) personalDictElem = newDom.selectSingleNode(u"/spl:spellchecker/spl:personal-dictionary") #$NON-NLS-1$ for wordNode in wordNodeList: word = wordNode.getText() newWordElem = newDom.createElement(u"word", IZBlogAppNamespaces.RAVEN_SPELLCHECKER_NAMESPACE) #$NON-NLS-1$ newWordElem.setText(word) personalDictElem.appendChild(newWordElem) outputDir = os.path.join(self.pathToRavenProfile, u"spellcheck/en_US") #$NON-NLS-1$ os.makedirs(outputDir) outputFile = os.path.join(outputDir, u"spellchecker.xml") #$NON-NLS-1$ newDom.save(outputFile, True) except ZException, ze: # FIXME (EPW) need to report errors in some way ze.printStackTrace()
def _loadDefaultLoggerNode(self): dom = ZDom() dom.loadXML(DEFAULT_LOG_XML) return dom.selectSingleNode(u"/") #$NON-NLS-1$
def _getAddProductPostDataForUrl(self, productUrl, zoundryServiceId): dom = ZDom(ADD_PRODUCT_REQUEST) dom.selectSingleNode(u"/Request/Authorization/Username").setText(zoundryServiceId) #$NON-NLS-1$ dom.selectSingleNode(u"/Request/AddProducts/Product/Url").setText(productUrl) #$NON-NLS-1$ return dom.serialize(True)