コード例 #1
0
    def create_document(self):
        # Create the document
        my_document = Document(self)

        my_document.check_for_quotas()

        # Create the measures table
        my_document.get_duties("preferences")
        tariff_data = my_document.print_tariffs()

        # Create the quotas table
        my_document.get_duties("quotas")
        my_document.get_quota_order_numbers()
        my_document.get_quota_balances()
        my_document.get_quota_measures()
        my_document.get_quota_definitions()
        quota_data = my_document.print_quotas()

        context_data = {
            'AGREEMENT_NAME': self.agreement.agreement_name,
            'VERSION': self.agreement.version,
            'AGREEMENT_DATE': self.agreement.agreement_date_long,
            'AGREEMENT_DATE_SHORT': self.agreement.agreement_date_short,
            'COUNTRY_NAME': self.agreement.country_name,
            **tariff_data,
            **quota_data,
        }

        # Personalise and write the document
        my_document.create_document(context_data)
        update_document_status(self.agreement, DocumentStatus.AVAILABLE)
コード例 #2
0
 def main(self):
     mfn_document = self.get_object()
     if mfn_document:
         update_document_status(mfn_document, DocumentStatus.GENERATING)
     self.create_document(mfn_document)
     mfn_document = self.get_object()
     update_document_status(mfn_document, DocumentStatus.AVAILABLE)
     update_last_checked(mfn_document)
コード例 #3
0
def handle_agreement_document_generation_fail(self, exc, task_id, args, kwargs,
                                              einfo):
    if not args:
        return
    slug = args[0]
    try:
        agreement = Agreement.objects.get(
            slug=slug, document_status=DocumentStatus.GENERATING)
    except Agreement.DoesNotExist:
        pass
    else:
        update_document_status(agreement, DocumentStatus.UNAVAILABLE)
コード例 #4
0
    def __init__(self, country_profile, force_document_generation=True):
        self.agreement = self.get_agreement(country_profile)
        update_document_status(self.agreement, DocumentStatus.GENERATING)

        self.force_document_generation = force_document_generation
        self.debug = False

        self.BASE_DIR = os.path.dirname(os.path.abspath(__file__))
        self.COMPONENT_DIR = os.path.join(self.BASE_DIR,
                                          "../templates/xml/fta")

        # For the output folders
        self.OUTPUT_DIR = settings.GENERATED_DOCUMENT_LOCATION

        os.makedirs(self.OUTPUT_DIR, exist_ok=True)

        # MPP TODO: Move these
        self.mfn_list = []
コード例 #5
0
def generate_document(agreement):
    update_document_status(agreement, DocumentStatus.GENERATING)
    generate_fta_document.delay(agreement.slug)
コード例 #6
0
def test_update_agreement_document_status():
    agreement = AgreementFactory()
    update_document_status(agreement, DocumentStatus.UNAVAILABLE)
    agreement.refresh_from_db()
    assert agreement.document_status == DocumentStatus.UNAVAILABLE