Esempio n. 1
0
 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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    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()
Esempio n. 5
0
 def _loadDefaultLoggerNode(self):
     dom = ZDom()
     dom.loadXML(DEFAULT_LOG_XML)
     return dom.selectSingleNode(u"/")  #$NON-NLS-1$
Esempio n. 6
0
 def _loadDefaultLoggerNode(self):
     dom = ZDom()
     dom.loadXML(DEFAULT_LOG_XML)
     return dom.selectSingleNode(u"/") #$NON-NLS-1$
Esempio n. 7
0
 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)