Example #1
0
 def copyMaterials(self):
     for paper_file in PaperFile.find(
             contribution=self._reviewManager.contribution,
             revision_id=None):
         new_paper_file = PaperFile(
             revision_id=self._version,
             filename=paper_file.filename,
             content_type=paper_file.content_type,
             contribution=self._reviewManager.contribution)
         new_paper_file.save(paper_file.open())
Example #2
0
 def _process(self):
     files = request.files.getlist('file')
     for f in files:
         filename = secure_filename(f.filename, 'paper')
         content_type = mimetypes.guess_type(f.filename)[0] or f.mimetype or 'application/octet-stream'
         paper_file = PaperFile(filename=filename, content_type=content_type, contribution=self.contrib)
         paper_file.save(f.file)
         db.session.flush()
         # TODO: logger logger.info('Paper file %s uploaded by %s', paper_file, session.user)
         # TODO: add signal
     flash(ngettext("The paper file has been uploaded", "{count} paper files have been uploaded", len(files))
           .format(count=len(files)), 'success')
     return jsonify_data(html=_render_paper_file_list(self.contrib))
Example #3
0
    def _migrate_resource(self,
                          resource,
                          new_contrib,
                          created_dt,
                          event_id,
                          version=None):

        storage_backend, storage_path, size = self._get_local_file_info(
            resource)
        content_type = mimetypes.guess_type(
            resource.fileName)[0] or 'application/octet-stream'

        paper_file = PaperFile(filename=resource.fileName,
                               created_dt=created_dt,
                               content_type=content_type,
                               size=size,
                               storage_backend=storage_backend,
                               storage_file_id=storage_path,
                               contribution=new_contrib,
                               revision_id=version)

        db.session.add(paper_file)
        self.print_info('{}: {} -> {}'.format(event_id, resource, paper_file))