Beispiel #1
0
def create_document_from_pdf(filename: str) -> ClassifiedDocument:
    """Ajoute le pdf en base

    :param filename:
    :return:
    """
    document = ClassifiedDocument(pdf_filepath=filename)
    document.analyze_pdf()
    return document
Beispiel #2
0
def create_copies_from_document(document: ClassifiedDocument, copy_count: int) -> list:
    """Crée le nombre de copies demandées et renvoie la liste des DocumentCopy et des pdf associés.

    Génère également les fichiers, qui *doivent* être effacés par l'appelant.
    :param document:
    :param copy_count:
    :return: liste des copies de documents créées
    :rtype: :class:`list` of (:class:`pigi1300.models.DocumentCopy`, :class:`str`)
    """
    if not document.pk:
        document.save()
    start_index = document.documentcopy_set.all().count()
    copies = [DocumentCopy(copy_number=start_index + 1 + index, document=document) for index in range(copy_count)]
    DocumentCopy.objects.bulk_create(copies)
    copies = [x for x in document.documentcopy_set.filter(copy_number__gt=start_index)]
    return [(copy, generate_copy_pdf(copy, copy_count=start_index + copy_count)) for copy in copies]
 def test_2d(self):
     doc_1 = ClassifiedDocument(record_number='record-1', classification=SD)
     doc_1.save()
     code_1d = '%s%05d%07d' % (Copy.PREFIX_1D, settings.EAN13_IDENTIFIER, 1)
     copy_1 = Copy(document=doc_1, copy_identifier=1, reproduction_identifier=None, self_issued=True,
                   signature=get_signature(doc_1.record_number), code_1d=code_1d)
     copy_1.save()
     record_number = 'pv-1'
     obj_1 = DestructionPV(record_number=record_number, signature=get_signature(record_number), code_1d=code_1d)
     obj_1.save()
     obj_1.copies.add(copy_1)
     self.assertEqual(obj_1.to_2d(), 'pv-1:pv-1:1000010000001:record-1;SD;1;-')
     result = obj_1.to_2d()
     result += ':record-2;SD;2;-'
     obj_2 = DestructionPV.from_2d(result)
     self.assertEqual(obj_2.record_number, record_number)
     self.assertEqual(2, obj_2.copies.all().count())
     self.assertEqual(1, ClassifiedDocument.objects.filter(record_number='record-2', classification=SD).count())
Beispiel #4
0
 def get_document(self):
     pdf_filepath = pkg_resources.resource_filename('pigi1300.tests', 'data/pdf-sample.pdf')
     document = ClassifiedDocument(pdf_filepath=pdf_filepath)
     document.emission_date = datetime.datetime.now(tz=utc)
     document.emitter_organization = 'ORG/ORG'
     document.emitter_record_number = '/USER/P.N.'
     document.bsd_record_number = '/BSD/1'
     document.classification = TSD
     document.title = 'Exemple de fichier'
     document.special_france = True
     document.info_page = True
     document.guard_page = True
     document.mark_blank_pages = True
     document.add_classification_stamp = True
     document.add_page_number = True
     document.add_qr_code = True
     document.add_bar_code = False
     document.add_first_qr_code = True
     document.add_first_bar_code = True
     document.add_copy_number = True
     return document