예제 #1
0
 def export_scorm(self, pkg, outputf):
     scormExport = ScormExport(self.config, self.styles_dir, outputf,
                               'scorm1.2')
     pkg.scowsinglepage = self.options['single-page']
     pkg.scowwebsite = self.options['website']
     pkg.scowsource = self.options['editable']
     scormExport.export(pkg)
예제 #2
0
    def export_scorm2004(self, pkg, outputf):
        scormExport = ScormExport(self.config, self.styles_dir, outputf,
'scorm2004')
        pkg.scowsinglepage = self.options['single-page']
        pkg.scowwebsite = self.options['website']
        pkg.scowsource = self.options['editable']
        scormExport.export(pkg)
예제 #3
0
 def _testSCORMExport(self):
     """
     Creates a nice package, then does a scorm export and tests the
     output
     """
     self.createPackage()
     stylesDir  = self.app.config.webDir/'style'/'default'
     filename = 'scormExport.zip'
     scormExport = ScormExport(self.app.config, stylesDir, filename)
     scormExport.export(self.package)
     # Extract the files we're interested in
     zf = zipfile.ZipFile('scormExport.zip')
     names = zf.namelist()
     if 'index.html' in names:
         html = zf.read('index.html')
     else:
         self.fail('No "index.html" found in %s' % filename)
     if 'imsmanifest.xml' in names:
         xml = zf.read('imsmanifest.xml')
     else:
         self.fail('No "imsmanifest.xml" found in %s' % filename)
     # Run XMLLint over the html file
     checker = HTMLChecker(self.ignoreErrorMsgs)
     if not checker.check(html, False, False):
         self.fail('Scorm export generated bad XHTML')
예제 #4
0
 def _testSCORMExport(self):
     """
     Creates a nice package, then does a scorm export and tests the
     output
     """
     self.createPackage()
     stylesDir = self.app.config.webDir / 'style' / 'default'
     filename = 'scormExport.zip'
     scormExport = ScormExport(self.app.config, stylesDir, filename)
     scormExport.export(self.package)
     # Extract the files we're interested in
     zf = zipfile.ZipFile('scormExport.zip')
     names = zf.namelist()
     if 'index.html' in names:
         html = zf.read('index.html')
     else:
         self.fail('No "index.html" found in %s' % filename)
     if 'imsmanifest.xml' in names:
         xml = zf.read('imsmanifest.xml')
     else:
         self.fail('No "imsmanifest.xml" found in %s' % filename)
     # Run XMLLint over the html file
     checker = HTMLChecker(self.ignoreErrorMsgs)
     if not checker.check(html, False, False):
         self.fail('Scorm export generated bad XHTML')
예제 #5
0
 def exportScorm(self, client, filename, stylesDir, scormType):
     """
     Exports this package to a scorm package file
     """
     filename = Path(filename)
     log.debug(u"exportScorm, filename=%s" % filename)
     if not filename.ext.lower() == '.zip': 
         filename += '.zip'
     if filename.exists(): 
         filename.remove()
     scormExport = ScormExport(self.config, stylesDir, filename, scormType)
     scormExport.export(self.package)
     client.alert(_(u'Exported to %s') % filename)
예제 #6
0
    def render_export(self, format):
        filename = self.package.name + '_' + str(random.randrange(1,999999))
        fullpath = self.webserver.config.dataDir/filename
        stylesDir  = self.webserver.config.stylesDir/self.package.style

        try:
            if format == 'zipFile':
                websiteExport = WebsiteExport(self.webserver.config, stylesDir, fullpath + '.zip')
                websiteExport.exportZip(self.package)
            if format == 'scorm1.2':
                scormExport = ScormExport(self.webserver.config, stylesDir, fullpath + '.zip', 'scorm1.2')
                scormExport.export(self.package)
        except:
            return False
        return File(fullpath + '.zip')
예제 #7
0
 def exportScorm(self, client, filename, stylesDir, scormType):
     """
     Exports this package to a scorm package file
     """
     try:
         filename = Path(filename)
         log.debug(u"exportScorm, filename=%s" % filename)
         if not filename.lower().endswith('.zip'):
             filename += '.zip'
             if Path(filename).exists():
                 msg = _(u'"%s" already exists.\nPlease try again with a different filename') % filename
                 client.alert(_(u'EXPORT FAILED!\n%s' % msg))
                 return
         scormExport = ScormExport(self.config, stylesDir, filename, scormType)
         scormExport.export(self.package)
     except Exception, e:
         client.alert(_('EXPORT FAILED!\n%s' % str(e)))
         raise
 def exportScorm(self, client, filename, stylesDir, scormType):
     """
     Exports this package to a scorm package file
     """
     try:
         filename = Path(filename)
         log.debug(u"exportScorm, filename=%s" % filename)
         # Append an extension if required
         if not filename.lower().endswith('.zip'):
             filename += '.zip'
             if Path(filename).exists():
                 msg = _(
                     u'"%s" already exists.\nPlease try again with a different filename'
                 ) % filename
                 client.alert(_(u'EXPORT FAILED!\n%s' % msg))
                 return
         # Do the export
         scormExport = ScormExport(self.config, stylesDir, filename,
                                   scormType)
         scormExport.export(self.package)
     except Exception, e:
         client.alert(_('EXPORT FAILED!\n%s' % str(e)))
         raise
예제 #9
0
    def export_scorm12(self, pkg, outputf):
        scormExport = ScormExport(self.config, self.styles_dir, outputf,
'scorm1.2')
        pkg.scowsinglepage = self.options['single-page']
        pkg.scowwebsite = self.options['website']
        scormExport.export(pkg)