add pdf connector (cat endpoint) (#73540) #46

Closed
Ghost wants to merge 0 commits from wip/73540-add-pdf-cat into main
First-time contributor
No description provided.
Ghost force-pushed wip/73540-add-pdf-cat from f5b32b9f65 to d8ca4abf0f 2023-01-20 13:56:07 +01:00 Compare
Ghost force-pushed wip/73540-add-pdf-cat from d8ca4abf0f to 25703595aa 2023-01-20 14:11:32 +01:00 Compare
Ghost force-pushed wip/73540-add-pdf-cat from 25703595aa to 5080571afa 2023-01-20 14:35:26 +01:00 Compare
Ghost force-pushed wip/73540-add-pdf-cat from 5080571afa to 217b5f0076 2023-01-20 18:04:10 +01:00 Compare
Ghost changed title from WIP: add pdf connector (cat endpoint) (#73540) to add pdf connector (cat endpoint) (#73540) 2023-01-20 18:24:50 +01:00
Ghost force-pushed wip/73540-add-pdf-cat from 217b5f0076 to 6ac4b91033 2023-01-22 14:22:31 +01:00 Compare
ecazenave requested changes 2023-01-30 15:15:09 +01:00
debian/control Outdated
@ -14,3 +14,3 @@
Package: python3-passerelle
Architecture: all
Depends: python3-cmislib,
Depends: pdftk,
Owner

Cosmétique, autant mettre directement pdftk-java ? (qui est le package qui fait vraiment le job si je comprends bien)

Cosmétique, autant mettre directement pdftk-java ? (qui est le package qui fait vraiment le job si je comprends bien)
Author
First-time contributor

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.

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.
Ghost marked this conversation as resolved
@ -0,0 +61,4 @@
},
'example-file-1': FILE_OBJECT,
'example-file-2': FILE_OBJECT,
'example-file-n': FILE_OBJECT,
Owner

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

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
Author
First-time contributor

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.

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:
Owner

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)

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)
Author
First-time contributor

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.

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.
Ghost requested review from ecazenave 2023-02-01 03:22:02 +01:00
ecazenave approved these changes 2023-02-01 10:21:41 +01:00
Ghost force-pushed wip/73540-add-pdf-cat from 23cb680c11 to a1a36dbffa 2023-02-01 13:10:29 +01:00 Compare
Ghost force-pushed wip/73540-add-pdf-cat from a1a36dbffa to 7d8b383c7c 2023-02-01 13:11:59 +01:00 Compare
Ghost force-pushed wip/73540-add-pdf-cat from 7d8b383c7c to 95192de819 2023-02-01 14:17:41 +01:00 Compare
fpeters closed this pull request 2023-02-03 08:11:21 +01:00
Some checks reported errors
gitea-wip/passerelle/pipeline/pr-main There was a failure building this commit
gitea/passerelle/pipeline/head Something is wrong with the build of this commit

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
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
No description provided.