Пример #1
0
 def __init__(self, zblogpublisher, zdocstore, zaccount, zblog,
              zblogDocument, zpubmetadata):
     ZCreateUpdateDeleteEntryCommandBase.__init__(
         self, u"publishEntry", zblogpublisher, zdocstore, zaccount, zblog,
         zblogDocument)  #$NON-NLS-1$
     self.processor = ZBlogDocumentPublishProcessor(self.zblog,
                                                    self.zblogDocument,
                                                    zpubmetadata, self)
     self.totalWorkUnits = -1
Пример #2
0
 def validateConfiguration(self, validationReporter): #@UnusedVariable
     if len(self.blogList) == 0:
         validationReporter.addError(u"Blog Account", u"Please select a blog account.") #$NON-NLS-1$ #$NON-NLS-2$
     # call  base class to validate blog account info
     ZBlogPublisherAccountInfoValidator.validateConfiguration(self, validationReporter)
     # validator pub processi.
     for pubMetaData in self.pubMetaDataList:
         zblog = getBlogFromPubMetaData( pubMetaData )
         processor = ZBlogDocumentPublishProcessor(zblog, self.zBlogDocument, pubMetaData, None)
         processor.validateConfiguration(validationReporter)
Пример #3
0
 def validateConfiguration(self, validationReporter):  #@UnusedVariable
     if len(self.blogList) == 0:
         validationReporter.addError(
             u"Blog Account",
             u"Please select a blog account.")  #$NON-NLS-1$ #$NON-NLS-2$
     # call  base class to validate blog account info
     ZBlogPublisherAccountInfoValidator.validateConfiguration(
         self, validationReporter)
     # validator pub processi.
     for pubMetaData in self.pubMetaDataList:
         zblog = getBlogFromPubMetaData(pubMetaData)
         processor = ZBlogDocumentPublishProcessor(zblog,
                                                   self.zBlogDocument,
                                                   pubMetaData, None)
         processor.validateConfiguration(validationReporter)
Пример #4
0
class ZPublishEntryCommand(ZCreateUpdateDeleteEntryCommandBase):
    def __init__(self, zblogpublisher, zdocstore, zaccount, zblog,
                 zblogDocument, zpubmetadata):
        ZCreateUpdateDeleteEntryCommandBase.__init__(
            self, u"publishEntry", zblogpublisher, zdocstore, zaccount, zblog,
            zblogDocument)  #$NON-NLS-1$
        self.processor = ZBlogDocumentPublishProcessor(self.zblog,
                                                       self.zblogDocument,
                                                       zpubmetadata, self)
        self.totalWorkUnits = -1

    # end __init__

    def notifyProgress(self, message, workamount, logMessage):
        # call back via ZBlogDocumentPublishProcessor and its pre/post handlers
        self._notifyActivity(message, workamount, logMessage)  #$NON-NLS-1$

    # end notifyProgress

    def notifyDebug(self, message):
        # call back via ZBlogDocumentPublishProcessor and its pre/post handlers
        self._debug(message)

    # end notifyDebug

    def getTotalWorkUnits(self):
        if self.totalWorkUnits == -1:
            self._debug(u"Preparing to publish")
            #$NON-NLS-1$
            if self._runPrepare():
                # total work units = total for handlers + 1 for publishing
                self.totalWorkUnits = self.processor.getTotalWorkUnits() + 1
            else:
                self._debug(u"Prepare failed.")
                #$NON-NLS-1$
            self._debug(u"Total work units is %d" % self.totalWorkUnits)
            #$NON-NLS-1$
        return self.totalWorkUnits

    # end getTotalWorkUnits()

    def doCommand(self):
        self._debug(u"Begin publish/update to blog %s[%s]" %
                    (self.zblog.getName(), self.zblog.getId()))  #$NON-NLS-1$
        self._debug(u"Document to publish is %s[%s]" %
                    (self.zblogDocument.getTitle(),
                     self.zblogDocument.getId()))  #$NON-NLS-1$
        # prepare
        # total work units = total for handlers + 1 for publishing
        total = self.getTotalWorkUnits()
        if total < 1:
            self._debug(u"Aborting... work units < 1")
            #$NON-NLS-1$
            self._notifyEnd()
            return

        self._notifyBegin(total)
        # preprocess and upload media
        if not self._runPreprocess():
            self._debug(u"Aborting... preprocess failed.")
            #$NON-NLS-1$
            self._notifyEnd()
            return

        if self._checkIfCanceled():
            return

        self._notifyActivity(u"Publishing document.", 1, True)  #$NON-NLS-1$
        # publish document
        if not self._runPublish():
            self._debug(u"Aborting publish/update failed.")
            #$NON-NLS-1$
            self._notifyEnd()
            return

        if self._checkIfCanceled():
            return

        # ping, track backs etc.
        self._runPostprocess()
        self._notifyEnd()
        self._debug(u"End publish/update to blog %s[%s]" %
                    (self.zblog.getName(), self.zblog.getId()))  #$NON-NLS-1$

    def _runPrepare(self):
        return self.processor.runPrepare()

    def _runPreprocess(self):
        self._debug(u"Running prepocess")
        #$NON-NLS-1$
        return self.processor.runPreprocess()

    def _runPostprocess(self):
        self._debug(u"Running post process")
        #$NON-NLS-1$
        return self.processor.runPostprocess()

    def _handleCancel(self):
        self.processor.runCancel()

    # end _handleCancel()

    def _runPublish(self):
        xhtmldoc = self.processor.getDocumentForPublishing()
        # run visitor to remove xml: and xmlns: prefixes
        visitor = ZXhtmlRemovePrefixVisitor()
        visitor.visit(xhtmldoc.getDom())
        try:
            blogInfo = self._publishContent(xhtmldoc)
            pubInfo = blogInfo.getPublishInfo()
            self._debug(u"Done publishing/updating. Remote doc id is %s" %
                        pubInfo.getBlogEntryId())
            #$NON-NLS-1$
            self._debug(u"Doc url %s" % pubInfo.getUrl())
            #$NON-NLS-1$
            self.zblogDocument.addBlogInfo(blogInfo)
            self.docStore.saveDocument(self.zblogDocument, True)
            self._debug(u"Document saved.")  #$NON-NLS-1$
            return True
        except Exception, e:
            raise e
Пример #5
0
 def __init__(self, zblogpublisher, zdocstore, zaccount, zblog, zblogDocument, zpubmetadata):
     ZCreateUpdateDeleteEntryCommandBase.__init__(self,  u"publishEntry", zblogpublisher, zdocstore, zaccount, zblog, zblogDocument) #$NON-NLS-1$
     self.processor = ZBlogDocumentPublishProcessor(self.zblog, self.zblogDocument, zpubmetadata, self)
     self.totalWorkUnits = -1
Пример #6
0
class ZPublishEntryCommand(ZCreateUpdateDeleteEntryCommandBase):

    def __init__(self, zblogpublisher, zdocstore, zaccount, zblog, zblogDocument, zpubmetadata):
        ZCreateUpdateDeleteEntryCommandBase.__init__(self,  u"publishEntry", zblogpublisher, zdocstore, zaccount, zblog, zblogDocument) #$NON-NLS-1$
        self.processor = ZBlogDocumentPublishProcessor(self.zblog, self.zblogDocument, zpubmetadata, self)
        self.totalWorkUnits = -1
    # end __init__

    def notifyProgress(self, message, workamount, logMessage):
        # call back via ZBlogDocumentPublishProcessor and its pre/post handlers
        self._notifyActivity(message, workamount, logMessage) #$NON-NLS-1$
    # end notifyProgress

    def notifyDebug(self, message):
        # call back via ZBlogDocumentPublishProcessor and its pre/post handlers
        self._debug(message)
    # end notifyDebug

    def getTotalWorkUnits(self):
        if self.totalWorkUnits == -1:
            self._debug(u"Preparing to publish"); #$NON-NLS-1$
            if self._runPrepare():
                # total work units = total for handlers + 1 for publishing
                self.totalWorkUnits = self.processor.getTotalWorkUnits() + 1
            else:
                self._debug(u"Prepare failed."); #$NON-NLS-1$
            self._debug(u"Total work units is %d" % self.totalWorkUnits); #$NON-NLS-1$
        return self.totalWorkUnits
    # end getTotalWorkUnits()

    def doCommand(self):
        self._debug(u"Begin publish/update to blog %s[%s]" % (self.zblog.getName(), self.zblog.getId()) ) #$NON-NLS-1$
        self._debug(u"Document to publish is %s[%s]" % (self.zblogDocument.getTitle(), self.zblogDocument.getId()) ) #$NON-NLS-1$
        # prepare
        # total work units = total for handlers + 1 for publishing
        total = self.getTotalWorkUnits()
        if total < 1:
            self._debug(u"Aborting... work units < 1"); #$NON-NLS-1$
            self._notifyEnd()
            return

        self._notifyBegin(total)
        # preprocess and upload media
        if not self._runPreprocess():
            self._debug(u"Aborting... preprocess failed."); #$NON-NLS-1$
            self._notifyEnd()
            return

        if self._checkIfCanceled():
            return

        self._notifyActivity(u"Publishing document.", 1, True) #$NON-NLS-1$
        # publish document
        if not self._runPublish():
            self._debug(u"Aborting publish/update failed."); #$NON-NLS-1$
            self._notifyEnd()
            return

        if self._checkIfCanceled():
            return

        # ping, track backs etc.
        self._runPostprocess()
        self._notifyEnd()
        self._debug(u"End publish/update to blog %s[%s]" % (self.zblog.getName(), self.zblog.getId()) ) #$NON-NLS-1$

    def _runPrepare(self):
        return self.processor.runPrepare()

    def _runPreprocess(self):
        self._debug(u"Running prepocess"); #$NON-NLS-1$
        return self.processor.runPreprocess()

    def _runPostprocess(self):
        self._debug(u"Running post process"); #$NON-NLS-1$
        return self.processor.runPostprocess()

    def _handleCancel(self):
        self.processor.runCancel()
    # end _handleCancel()

    def _runPublish(self):
        xhtmldoc = self.processor.getDocumentForPublishing()
        # run visitor to remove xml: and xmlns: prefixes
        visitor = ZXhtmlRemovePrefixVisitor()
        visitor.visit(xhtmldoc.getDom() )
        try:
            blogInfo = self._publishContent(xhtmldoc)
            pubInfo = blogInfo.getPublishInfo()
            self._debug(u"Done publishing/updating. Remote doc id is %s" % pubInfo.getBlogEntryId()); #$NON-NLS-1$
            self._debug(u"Doc url %s" % pubInfo.getUrl()); #$NON-NLS-1$
            self.zblogDocument.addBlogInfo(blogInfo)
            self.docStore.saveDocument(self.zblogDocument, True)
            self._debug(u"Document saved.") #$NON-NLS-1$
            return True
        except Exception, e:
            raise e