def setUp(self): super(RendererTest, self).setUp() self.uuid = uuid4().get_hex(); self.pdfdoc = os.path.join(os.path.dirname(__file__), 'menschenrechtserklaerung.pdf') self.f_pdfdoc = open(self.pdfdoc, "rb") self.pages = pdf_page_count(self.f_pdfdoc) self.render_dirname = tempfile.mkdtemp()
def save(self, **kwargs): from ecs.documents.tasks import encrypt_and_upload_to_storagevault if not self.file: raise ValueError('no file') if not self.uuid_document: self.uuid_document = uuid4().get_hex() # generate a new random uuid content_type, encoding = mimetypes.guess_type(self.file.name) # look what kind of mimetype we would guess if self.mimetype == 'application/pdf' or content_type == 'application/pdf': if not pdf_isvalid(self.file): raise ValidationError('no valid pdf') if not self.hash: m = hashlib.md5() # calculate hash sum self.file.seek(0) while True: data= self.file.read(8192) if not data: break m.update(data) self.file.seek(0) self.hash = m.hexdigest() if self.mimetype == 'application/pdf': self.pages = pdf_page_count(self.file) # calculate number of pages first_save = True if self.pk is None else False super(Document, self).save(**kwargs) if first_save: #print("doc file %s , path %s, original %s" % (str(self.file.name), str(self.file.path), str(self.original_file_name))) # upload it via celery to the storage vault encrypt_and_upload_to_storagevault.apply_async(args=[self.pk], countdown=3)
def setUp(self): super(MediaDisplayDownload, self).setUp() self.identifier = uuid.uuid4().get_hex() with open(self.pdfdocname, "rb") as input: self.pages = pdfutils.pdf_page_count(input) input.seek(0) self.pdfdata = input.read() osdescriptor, encryptedfilename = tempfile.mkstemp(); os.close(osdescriptor) gpgutils.encrypt_sign(self.pdfdocname, encryptedfilename, settings.STORAGE_ENCRYPT ['gpghome'], settings.STORAGE_ENCRYPT ["owner"]) with open(encryptedfilename, "rb") as encrypted: self.mediaprovider._addBlob(self.identifier, encrypted) os.remove(encryptedfilename)