Esempio n. 1
0
 def test_zip_file_importer(self):
     """Test ZIP import adapter.
     """
     importer = IZipFileImporter(self.root.folder, None)
     self.assertTrue(verifyObject(interfaces.IZipFileImporter, importer))
     importer = IZipFileImporter(self.root.link, None)
     self.assertEqual(importer, None)
Esempio n. 2
0
 def test_zip_file_importer_is_archive(self):
     """Test method isFullmediaArchive on an importer.
     """
     importer = IZipFileImporter(self.root.folder)
     with self.layer.open_fixture('test1.zip') as test_archive:
         self.assertEqual(importer.isFullmediaArchive(test_archive), False)
     with self.layer.open_fixture('test_import_link.zip') as test_archive:
         self.assertEqual(importer.isFullmediaArchive(test_archive), True)
Esempio n. 3
0
 def import_file(self, data):
     # This need improvements and refactoing
     importer = IZipFileImporter(self.context)
     try:
         if importer.isFullmediaArchive(data['archive']):
             importer = importer.importFromZip(
                 data['archive'],
                 self.request,
                 {'replace_content': data.getDefault('replace'),
                  'ignore_top_level_content': data.getDefault('ignore_top_level')})
             make_import_log(self.context, importer)
             problems = importer.getProblems()
             if len(problems):
                 self.send_message(
                     _(u'Import is successful, but there are '
                       u'${many} problem(s).',
                       mapping={'many': len(problems)}),
                     type=u"error")
             else:
                 self.send_message(
                     _(u"Import succeeded."),
                     type=u"feedback")
         else:
             importer = IArchiveFileImporter(self.context)
             imported, failures = importer.importArchive(
                 data['archive'],
                 data.getDefault('asset_title'),
                 data.getDefault('sub_directories'),
                 data.getDefault('replace'))
             if imported:
                 self.send_message(
                     _('Imported ${succeeded}.',
                       mapping={'succeeded': ', '.join(imported)}),
                     type=u"feedback")
             if failures:
                 self.send_message(
                     _('Could not import: ${failed}.',
                       mapping={'failed': ', '.join(failures)}),
                     type=u"error")
     except zipfile.BadZipfile as error:
         self.send_message(
             _('Invalid import file: ${error}.',
               mapping={'error': str(error)}),
             type=u"error")