def _doRunExportSteps(self, steps): """ See ISetupTool. """ context = TarballExportContext(self) messages = {} marker = object() for step_id in steps: handler = self.getExportStep(step_id, marker) if handler is marker: raise ValueError('Invalid export step: %s' % step_id) if handler is None: msg = 'Step %s has an invalid export handler' % step_id logger = logging.getLogger('GenericSetup') logger.error(msg) messages[step_id] = msg else: messages[step_id] = handler(context) return {'steps': steps, 'messages': messages, 'tarball': context.getArchive(), 'filename': context.getArchiveFilename()}
def _doRunExportSteps(self, steps): """ See ISetupTool. """ context = TarballExportContext(self) messages = {} marker = object() for step_id in steps: handler = self.getExportStep(step_id, marker) if handler is marker: raise ValueError('Invalid export step: %s' % step_id) if handler is None: msg = 'Step %s has an invalid export handler' % step_id logger = logging.getLogger('GenericSetup') logger.error(msg) messages[step_id] = msg else: messages[step_id] = handler(context) return { 'steps': steps, 'messages': messages, 'tarball': context.getArchive(), 'filename': context.getArchiveFilename() }
def _backup_profiles(context): """ Backup all profiles """ steps = context.listExportSteps() result = TarballExportContext(context) marker = object() for step_id in steps: handler = context.getExportStep(step_id, marker) if handler is marker: continue if handler is not None: try: handler(result) except Exception as err: logger.exception("Could not backup profile step %s: %s", step_id, err) continue filename = result.getArchiveFilename() tarball = result.getArchive() if not os.path.isdir(PATH): os.makedirs(PATH) path = os.path.join(PATH, filename) with open(path, 'w') as ofile: ofile.write(tarball)
def _doRunExportSteps(self, steps): """ See ISetupTool. """ context = TarballExportContext(self) messages = {} marker = object() for step_id in steps: handler = self.getExportStep(step_id, marker) if handler is marker: raise ValueError("Invalid export step: %s" % step_id) if handler is None: msg = "Step %s has an invalid export handler" % step_id logger = logging.getLogger("GenericSetup") logger.error(msg) messages[step_id] = msg else: messages[step_id] = handler(context) return { "steps": steps, "messages": messages, "tarball": context.getArchive(), "filename": context.getArchiveFilename(), }
def __call__(self): """See ..interfaces.exportimport.IFormFolderExportView.__call__ """ ctx = TarballExportContext(self.context) self.request.RESPONSE.setHeader('Content-type', 'application/x-gzip') self.request.RESPONSE.setHeader('Content-disposition', 'attachment; filename=%s' % ctx.getArchiveFilename()) # export the structure treating the current form as our root context IFilesystemExporter(self.context).export(ctx, 'structure', True) return ctx.getArchive()
def __call__(self): """See ..interfaces.exportimport.IFormFolderExportView.__call__ """ ctx = TarballExportContext(self.context) self.request.RESPONSE.setHeader('Content-type', 'application/x-gzip') self.request.RESPONSE.setHeader( 'Content-disposition', 'attachment; filename=%s' % ctx.getArchiveFilename()) # export the structure treating the current form as our root context IFilesystemExporter(self.context).export(ctx, 'structure', True) return ctx.getArchive()
def __call__(self): """See ..interfaces.exportimport.IEasyFormExportView.__call__ """ ctx = TarballExportContext(self.context) response = self.request.RESPONSE disposition = 'attachment; filename="{0}-{1:{2}}.tar.gz"'.format( self.context.getId(), datetime.now(), '%Y%m%d%H%M%S') response.setHeader('Content-type', 'application/x-gzip') response.setHeader('Content-disposition', disposition) # export the structure treating the current form as our root context IFilesystemExporter(self.context).export(ctx, 'structure', True) return ctx.getArchive()