add pdf connector (cat endpoint) (#73540) #46
Closed
Ghost
wants to merge 0 commits from
wip/73540-add-pdf-cat
into main
pull from: wip/73540-add-pdf-cat
merge into: entrouvert:main
entrouvert:main
entrouvert:wip/90074-updating-maelis-notification-date
entrouvert:wip/89982-Interpreter-true-false-yes-no-co
entrouvert:wip/83187-configurer-linter-js
entrouvert:wip/90164-save-normalized-family-id
entrouvert:wip/88641-jobs-pouvoir-filtrer-sur-le-stat
entrouvert:wip/88960-ResourceLog-utiliser-un-index-BR
entrouvert:wip/88953-Optimiser-les-requetes-de-suppre
entrouvert:wip/88886-proxy-timeout-0-for-system
entrouvert:wip/88089-caldav-lib-compatibility
entrouvert:wip/86412-cache-lecteur
entrouvert:wip/87549-parsifal-accept-unlinked-user-on-get-endpoints
entrouvert:hotfix/v7.95
entrouvert:hotfix/v7.90
entrouvert:wip/86503-parsifal-no-api-error-on-dlnuf-endpoint
entrouvert:wip/85703-Tester-le-gain-de-performance-d
entrouvert:wip/74682-manage-error-on-search
entrouvert:wip/83257-toulouse-maelis-ne-pas-se-baser
entrouvert:wip/83272-hide-canceled-invoices
entrouvert:hotfix/v7.58
entrouvert:wip/81826-axel-caluire-on_demand
entrouvert:wip/81346-retours-foederis
entrouvert:wip/80744-parsifal-update-only-doctor
entrouvert:wip/79157-parsifal-validate-basket-with-duplicated-invoice
entrouvert:wip/79982-opengis-namespaces
entrouvert:wip/74978-parsifal-manage-subscribe-indicator
entrouvert:wip/xxxxx-parsifal-manage-subscribe-indicator-rebasing
entrouvert:wip/79611-esup-empty-params
entrouvert:wip/68414-photon-accept-empty-feature
entrouvert:wip/78260-greco-null
entrouvert:wip/76398-parsifal-notify-wcs
entrouvert:wip/77547-remove-flagCom-from-payloads
entrouvert:wip/parsifal-reorder-invoice-diff-log
entrouvert:hotfix/api-entreprise
entrouvert:hotfix/v7.15
entrouvert:wip/43479-connecteur-avis-imposition
entrouvert:wip/76394-parsifal-pay-invoice-async
entrouvert:wip/76430-utiliser-hobo-multitenant-spoole
entrouvert:wip/76448-zeep-logger
entrouvert:hotfix/v7.7
entrouvert:wip/76117-pillow-limit
entrouvert:wip/75425-parsifal-update-week-calendar
entrouvert:wip/75552-parsifal-subscribed-activity-by-school-year
entrouvert:wip/75549-parsifal-add-year-nature-subscriptions
entrouvert:wip/75812-parsifal-add-activity-referentials
entrouvert:wip/75652-bypass-cache-on-activity-catalog
entrouvert:wip/74763-parsifal-direct-subscription
entrouvert:wip/75810-parsifal-update-wsdls
entrouvert:wip/75472-parsifal-subscribed-activity-data
entrouvert:wip/75752-parsifal-add-natures-fields
entrouvert:wip/75455-parsifal-rl-and-child-data
entrouvert:wip/74446-parsifal-detail-nursery-referential
entrouvert:wip/74445-parsifal-manage-ape-indicators
entrouvert:wip/75475-parsifal-add-regie-referential
entrouvert:wip/74645-parsifal-update-functests
entrouvert:wip/75535-parsifal-basket-multi-regie
entrouvert:wip/75144-parsifal-agenda-on-subscription
entrouvert:wip/75584-parsifal-new-activity-wsdl
entrouvert:wip/74860-parsifal-conveyance-on-subscription
entrouvert:wip/75078-pdf-hide-fields-mapping
entrouvert:wip/74978-parsifal-indicator-on-subscrition
entrouvert:wip/74858-parsifal-optional-recurrent-week
entrouvert:wip/74977-parsifal-subscription-indicator-data
entrouvert:wip/74859-parsifal-subscription-conveyance-data
entrouvert:wip/74447-parsifal-subscription-conveyance-data
entrouvert:wip/74836-parsifal-get-last-activity-wsdl
entrouvert:wip/74784-parsifal-filter-activity-nature-data
entrouvert:wip/74761-parsifal-manage-subscribe-indicator
entrouvert:wip/74447-parsifal-detail-nature-type-referentials
entrouvert:wip/74762-parsifal-conveyance
entrouvert:wip/74797-pdf-add-xfdf-template
entrouvert:wip/74749-parsifal-rename-assert-functions
entrouvert:wip/74438-parsifal-recurrent-week
entrouvert:wip/72310-parsifal-search-endpoints
entrouvert:wip/74272-parsifal-nature-catalog-parameter
entrouvert:wip/74193-parsifal-basket-endpoint-post-payload
entrouvert:wip/74510-parsifal-refine-catalog-type-criteria
entrouvert:wip/74083-parsifal-endpoint-parameter-description
entrouvert:wip/74481-filr-accept-empty-emails-in-share-folder
entrouvert:wip/73544-add-fill-form-in-pdf-connector
entrouvert:wip/74089-optional-data-parameter
entrouvert:wip/74393-parsifal-ape-geojson
entrouvert:wip/74401-parsifal-ape-indicators
entrouvert:wip/74367-filr-int
entrouvert:wip/74195-parsifal-dui-add-profesion-fields
entrouvert:wip/73760-clean
entrouvert:wip/73760-wtf
entrouvert:wip/73411-maelis-manage-soap-error
entrouvert:wip/74256-ens-api-2-1-1
entrouvert:wip/74087-parsifal-description-coherence
entrouvert:wip/74187-parsifal-upgrade-functest
entrouvert:wip/74128-parsifal-alway-call-serializer
entrouvert:wip/74194-parsifal-derog-school-list
entrouvert:wip/74188-parsifal-activity-ref-indentation
entrouvert:wip/74185-activity-without-nature
entrouvert:wip/74184-parsifal-empty-referential
entrouvert:wip/74152-parsifal-manage-basket-permission
entrouvert:wip/73664-filr-rest-django4ization
entrouvert:wip/74088-parsifal-set-integer-on-err
entrouvert:wip/74084-parsifal-alway-call-serializer
entrouvert:wip/73730-parsifal-full-activity-catalog
entrouvert:wip/73961-parsifal-basket
entrouvert:wip/73649-parsifal-add-person-unit-basket
entrouvert:wip/73648-parsifal-get-person-unit-info
entrouvert:wip/74060-pylint-2-16
entrouvert:wip/74044-pre-commit-upgrade-isort
entrouvert:wip/73953-decrease-requests-timeout-to-9s-by-default
entrouvert:wip/73759-parsifal-geojson-person-catalog
entrouvert:wip/73734-parsifal-person-activity-catalog
entrouvert:wip/73794-cmis-reload-folder-object
entrouvert:wip/73466-cmis-watch
entrouvert:wip/73443-nom-voie
entrouvert:wip/73500-array-object
entrouvert:wip/73560-file-storage-icons
entrouvert:wip/73558-cmis-file-storage
entrouvert:wip/73557-filr-verbose
entrouvert:wip/73226-filr-rest
entrouvert:wip/72961-api-entreprise-entreprises
entrouvert:wip/72881-maelis-functest-extend-insurance-end
entrouvert:wip/73334-toulouse-maelis-middle-office
entrouvert:wip/67516-tcl-invalid-data
entrouvert:wip/72777-publik-django-templatetags
entrouvert:wip/72718-update-to-wsdl-v1.9
entrouvert:wip/72532-push-document
entrouvert:wip/72641-date-type-parameter
entrouvert:wip/72632-arcgis-where-list
entrouvert:wip/72572-esabora-jsondecodeerror
entrouvert:wip/72411-maelis-list-family-members
entrouvert:wip/71975-tcl-new-urls
entrouvert:wip/71940-maelis-revision-1857
entrouvert:wip/71858-maelis-add-referentials
entrouvert:wip/71641-toulouse-maelis-update-wsdl
entrouvert:wip/71028-utils-soap-desactiver-par-defaut
entrouvert:wip/70982-maelis-search-referential
entrouvert:wip/70935-maelis-remove-fsl
entrouvert:wip/67612-cmis-get-metadata
entrouvert:wip/67602-cmis-get-file
entrouvert:wip/67627-maelis-check-child-id
entrouvert:wip/70851-maelis-corrections
entrouvert:wip/70814-api-particulier-long-api-key
entrouvert:wip/70595-sms-orange-alert-on-restrictions
entrouvert:wip/xxxxx-maelis-quotients
entrouvert:wip/70610-api-entreprise-v3-simple-compat
entrouvert:wip/70627-maelis-manage-empty-vaccins
entrouvert:wip/70530-maelis-wsdl-update
entrouvert:wip/67549-api-entreprise-v3-clean
entrouvert:wip/70075-maelis-relax-checks-on-soap-responses
entrouvert:wip/70488-api-entreprise-version
entrouvert:wip/70485-maelis-add-caf-text-to-RL
entrouvert:wip/70425-api-version
entrouvert:wip/70474-unflatten-escape
entrouvert:wip/70320-maelis-person-quality-required
entrouvert:wip/70409-sigerly-nom-rue
entrouvert:wip/70309-smart-dst-transition
entrouvert:wip/69970-litteralis-docs-annexes
entrouvert:wip/70115-paylod-cleanup
entrouvert:wip/70181-maelis-no-additional-properties
entrouvert:wip/70252-maelis-endpoint-descriptions
entrouvert:wip/67549-api-entreprise-v3
entrouvert:wip/70176-maelis-return-created-id
entrouvert:wip/70174-templatetag-required-json-field
entrouvert:hotfix/v6.53
entrouvert:wip/67578-uwsgi-conf
entrouvert:wip/70029-maelis-mandatory-address
entrouvert:wip/69972-phonecalls-refresh-existing-calls
entrouvert:wip/69891-maelis-manage-child-persons
entrouvert:wip/69926-manage-person-sex
entrouvert:wip/69783-maelis-child-persons
entrouvert:wip/django-upgrade
entrouvert:wip/djhtml
entrouvert:wip/XXXXX-foederis-candidature
entrouvert:wip/xxxxx-parsifal-todo
entrouvert:wip/66880-parsifal-manage-dui
entrouvert:hotfix/v6.43
entrouvert:hotfix/v6.37
entrouvert:wip/66256-api-entreprise-concordance-dirigeant-association
entrouvert:wip/63630-astre-rest-download
entrouvert:wip/62336-orange-invert-sender-flag
entrouvert:wip/60964-down-message
entrouvert:hotfix/v5.64
entrouvert:wip/55284-opengis-pyproj-proj-init-warning
entrouvert:wip/55285-opengis-pyproj-upgrading-to-pyproj-2
entrouvert:wip/49764-retry-requests
entrouvert:wip/47172-astregs-add-tiers-number
entrouvert:hotfix/v4.99
entrouvert:hotfix/v4.86
entrouvert:hotfix/v4.83
entrouvert:hotfix/v4.75
entrouvert:hotfix/v4.67
entrouvert:wip/connector-form-parent-class
entrouvert:wip/connector-form-class
entrouvert:hotfix/v4.62
entrouvert:wip/enum34
entrouvert:wip/39959-update-maarch-for-minint
entrouvert:hotfix/v4.40
entrouvert:hotfix/v4.36
entrouvert:wip/36133-jsonschema-add-suppor-for-default-values
entrouvert:hotfix/v4.7
entrouvert:wip/34178-jsonschema-translate
entrouvert:wip/33762-api-entreprise-dont-parse-dates-in-strings
entrouvert:wip/github
entrouvert:wip/aec_interface
entrouvert:wip/dpark_25079
entrouvert:wip/python3
entrouvert:wip/strasbourg-eu
entrouvert:wip/django111
entrouvert:wip/arcgis-tile-poc
entrouvert:wip/unify-serializer-type
entrouvert:wip/arcgis
entrouvert:wip/technocarte
entrouvert:wip/lighter-connectors
entrouvert:8899-log-maarch
entrouvert:wip/mockups
No reviewers
Labels
Clear labels
No items
No Label
Milestone
Clear milestone
No items
No Milestone
Assignees
Clear assignees
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: entrouvert/passerelle#46
Reference in New Issue
No description provided.
Delete Branch "wip/73540-add-pdf-cat"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
f5b32b9f65
tod8ca4abf0f
d8ca4abf0f
to25703595aa
25703595aa
to5080571afa
5080571afa
to217b5f0076
WIP: add pdf connector (cat endpoint) (#73540)to add pdf connector (cat endpoint) (#73540)217b5f0076
to6ac4b91033
@ -14,3 +14,3 @@
Package: python3-passerelle
Architecture: all
Depends: python3-cmislib,
Depends: pdftk,
Cosmétique, autant mettre directement pdftk-java ? (qui est le package qui fait vraiment le job si je comprends bien)
J'aime à penser qu'un jour pdftk pur-et-dur reviendra. En attendant pdftk est un paquet qui installe pdftk-java, et pour longtemps sans doute ; moi ça me va bien ainsi.
@ -0,0 +61,4 @@
},
'example-file-1': FILE_OBJECT,
'example-file-2': FILE_OBJECT,
'example-file-n': FILE_OBJECT,
Plutôt que d'énumérer des example-file-1, 2 ,etc, j'aurais fait un truc du genre :
'files': {
'type': 'array',
'description': _('Files'),
'items': {
ICI la même chose que dans FILE_OBJECT
}
}
Plus un 'unflatten': True en fin de schéma.
Coté appel webservice il faudra passer des files/0, files/1, etc.
Coté connecteur :
for _file in post_data['files']:
do what you have to do
Bonne idée, j'ai fait ça.
Pour faciliter la vie de l'appelant (wcs) j'autorise qu'un files/n soit None ou une chaine vide (voire même que cette chaine soit le base64 direct d'un fichier, ça servira jamais mais ça m'a rien couté).
En effet avec unflatten sur une liste il faut obligatoirement nommer les clés files/0, files/1, files/2, etc, en commençant forcément à 0 et sans aucun trou ensuite.
Donc voilà bref, merci pour l'idée le code est moins cabalistique ainsi.
@ -0,0 +24,4 @@
from passerelle.apps.pdf.models import Resource
from tests.utils import generic_endpoint_url, setup_access_rights
with open(os.path.join(os.path.dirname(__file__), 'data', 'minimal.pdf'), 'rb') as fd:
minimal.pdf n'est pas dans le commit.
Du questionnement sur le test qui devrait planter non ?
Et je me réponds partiellement en lisant les lignes suivantes, tu mock pdftk, je serais pour ne pas mocker, faire un vrai petit test complet (en installant pdftk sur jenkins, plus un petit patch dans devinst aussi pour les tests en local)
En fait minimal.pdf est déjà dans nos tests.
Et j'ai donc ajouté un test qui lance pdftk en vrai et regarde le résultat, avec un "skip" du test si /usr/bin/pdftk n'existe pas sur la machine.
23cb680c11
toa1a36dbffa
a1a36dbffa
to7d8b383c7c
7d8b383c7c
to95192de819
Pull request closed