def handleExtractPackage(self, client, filename): """ Create a new package consisting of the current node and export """ filename = Path(filename) saveDir = filename.dirname() if saveDir and not saveDir.exists(): client.alert(_(u'Cannot access directory named ') + unicode(saveDir) + _(u'. Please use ASCII names.')) return if not filename.lower().endswith('.elp'): filename += '.elp' if Path(filename).exists(): client.alert(_(u'EXPORT FAILED.\n"%s" already exists.\n' 'Please try again with ' 'a different filename') % filename) return package = Package(filename.namebase) package.style = self.package.style package.author = self.package.author extractNode = self.package.currentNode.clone() extractNode.mergeIntoPackage(package) package.root = package.currentNode = extractNode package.save(filename) client.alert(_(u'Package saved to: %s' % filename))
def handleExtractPackage(self, client, filename, existOk): """ Create a new package consisting of the current node and export 'existOk' means the user has been informed of existance and ok'd it """ filename = Path(filename) saveDir = filename.dirname() if saveDir and not saveDir.exists(): client.alert(_(u'Cannot access directory named ') + unicode(saveDir) + _(u'. Please use ASCII names.')) return if not filename.lower().endswith('.elp'): filename += '.elp' if Path(filename).exists() and existOk != 'true': msg = _(u'"%s" already exists.\nPlease try again with a different filename') % filename client.alert(_(u'EXTRACT FAILED!\n%s' % msg)) return try: package = Package(filename.namebase) package.style = self.package.style package.author = self.package.author extractNode = self.package.currentNode.clone() extractNode.mergeIntoPackage(package) package.root = package.currentNode = extractNode package.save(filename) except Exception, e: client.alert(_('EXTRACT FAILED!\n%s' % str(e))) raise