Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1657 connectés 

  FORUM HardWare.fr
  Programmation
  Langages fonctionnels

  [ADOBE,LUA] Des connaisseurs ici ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ADOBE,LUA] Des connaisseurs ici ?

n°2304462
Yoda_57
Marc, gagame, c'était mieux
Posté le 10-08-2017 à 16:37:26  profilanswer
 

Hello !   :hello:  
 
J'ai adapté un plugin pour Lightroom (ftpupload) qui est livré en exemple avec le SDK Adobe.
 
Il me reste 2 trucs (qui me semblaient simple pourtant) à faire et ça fait 3 jours que je me casse les dents dessus, en lisant les forums, relisant x fois la doc, je n'y arrive pas  :cry:  
 
Quelqu'un ici qui connait lua ou mieux, le dév de plugins Adobe ?


Message édité par Yoda_57 le 10-08-2017 à 16:38:02

---------------
Art ?|Pro ?|Sport ?| ACH/VDS matos photo divers
mood
Publicité
Posté le 10-08-2017 à 16:37:26  profilanswer
 

n°2304464
TotalRecal​l
Posté le 10-08-2017 à 16:49:26  profilanswer
 

Pas moi (surtout la partie Adobe). Mais si tu posais ta question code à l'appui au lieu de demander si des gens s'y connaissent, t'aurais davantage de chances qu'on t'aide :o


Message édité par TotalRecall le 10-08-2017 à 16:49:49

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
n°2304475
Yoda_57
Marc, gagame, c'était mieux
Posté le 10-08-2017 à 23:16:05  profilanswer
 

Le problème, c'est que le code est long d'ou le fait d'avoir cité que c'est celui dans l'exemple du SDK :D
 
Je tente avec le bout concerné ^^
 
Disons que pour l'instant, j'essaie de fixer les paramètres d'export des photos avant le transfert ftp (après, c'est moins utile :D ).
 
Donc dans le FTPUploadServiceProvider.lua, le return d'origine c'est :
 

Code :
  1. return {
  2. allowFileFormats = nil, -- nil equates to all available formats
  3. allowColorSpaces = nil, -- nil equates to all color spaces
  4. exportPresetFields = {
  5.  { key = 'putInSubfolder', default = false },
  6.  { key = 'path', default = 'photos' },
  7.  { key = "ftpPreset", default = nil },
  8.  { key = "fullPath", default = nil },
  9. },
  10. startDialog = FtpUploadExportDialogSections.startDialog,
  11. sectionsForBottomOfDialog = FtpUploadExportDialogSections.sectionsForBottomOfDialog,
  12. processRenderedPhotos = FtpUploadTask.processRenderedPhotos,
  13. }


 
 
J'ai modifié ça pour masquer tous les réglages que je veux forcer (cette partie fonctionne)
 

Code :
  1. return {
  2. hideSections = { 'exportLocation', 'fileNaming', 'outputSharpening', 'fileSettings', 'video', 'imageSettings', 'metadata' },
  3. -- allowFileFormats = nil, -- nil equates to all available formats
  4. -- allowColorSpaces = nil, -- nil equates to all color spaces
  5. allowFileFormats = { 'JPEG' },
  6. allowColorSpaces = { 'sRGB' },
  7. }


 
 
 
Et ensuite, avant de lancer l'export, j'essaie d'affecter mes paramètres (ne fonctionne pas, par exemple pas de resize
 

Code :
  1. logger:info('Place presets'),
  2. exportPresetFields = {
  3.  { key = 'putInSubfolder', default = false },
  4.  { key = 'path', default = 'photos' },
  5.  { key = "ftpPreset", default = nil },
  6.  { key = "fullPath", default = nil },
  7.  { key = 'size_maxHeight', default = 200 },           -- en ajoutant ici, ça ne fonctionne pas
  8.  { key = 'size_maxWidth', default = 200 },
  9.  { key = 'format', default = "JPEG" },
  10.  { key = 'export_colorSpace', default = "sRGB" },
  11.  { key = 'size_resolution', default = 5 },
  12. },
  13. startDialog = FtpUploadExportDialogSections.startDialog,
  14. sectionsForBottomOfDialog = FtpUploadExportDialogSections.sectionsForBottomOfDialog,
  15.          -- en ajoutant ici, ça ne fonctionne pas non plus
  16. updateExportSettings = function( settings )
  17.  settings.LR_format = "JPEG",
  18.  settings.LR_export_colorSpace = "sRGB",
  19.  settings.LR_jpeg_quality = 0.5,
  20.  settings.LR_size_doConstrain = true,
  21.  settings.LR_size_doNotEnlarge = true,
  22.  settings.LR_size_maxHeight = 100,
  23.  settings.LR_size_maxWidth = 100,
  24.  settings.LR_size_resizeType = "wh",
  25.  settings.LR_size_resolution = 5,
  26.  settings.LR_size_resolutionUnits = "inch",
  27.  settings.LR_size_units = "pixels",
  28. end
  29. -- on transfère les photos
  30. processRenderedPhotos = FtpUploadTask.processRenderedPhotos,


 
 
 
Et le dernier truc c'est de changer le nom des fichiers qui sont exportés puis uploadés
 
je veux :
- passer tout en minuscule
- remplacer tous les caractères accentués par l'équivalent sans accent
- remplacer tous ce qui n'est pas un alphanumérique par un _
 
Ca, j'ai commencé, mais je galère encore un peu, je ne sais pas trop ou mettre la fonction (le jour ou elle fonctionnera :D )
 
C'est un truc dans ce genre là
 

Code :
  1. LR_renamingTokensOn = true,
  2. LR_tokens = "{{image_name}}",
  3. LR_tokenCustomString = LR_extensionCase("{{image_name}}" ),   --Là je dois construire le nouveau nom


 
 
 
Voilà pour les infos, elles sont toutes là :)


Message édité par Yoda_57 le 10-08-2017 à 23:18:13

---------------
Art ?|Pro ?|Sport ?| ACH/VDS matos photo divers
n°2304702
Yoda_57
Marc, gagame, c'était mieux
Posté le 17-08-2017 à 08:13:59  profilanswer
 

Personne ? :'(
 
Pour ceux qui voudraient voir l'ensemble du code, les 4 fichiers sont dispos ici : http://sdp.sdp-photography.fr/fich [...] plugin.zip
 


---------------
Art ?|Pro ?|Sport ?| ACH/VDS matos photo divers
n°2304756
Yoda_57
Marc, gagame, c'était mieux
Posté le 20-08-2017 à 10:28:43  profilanswer
 

Bon, pour ce qui est de renommer, j'ai réussi à trouver un moyen pas très propre mais ça fonctionne :
 

Code :
  1. function RenameFilename( Myfilename )
  2. local Newfilename = Myfilename
  3. Newfilename = Newfilename:gsub("%a",string.lower)
  4. Newfilename = Newfilename:gsub("^%s*(.-)%s*$", "%1" )
  5. Newfilename = string.gsub(Newfilename, " ", "_" )
  6. Newfilename = string.gsub(Newfilename, "__", "_" )
  7. Newfilename = string.gsub(Newfilename, "(é)", "e" )
  8. Newfilename = string.gsub(Newfilename, "(ê)", "e" )
  9. Newfilename = string.gsub(Newfilename, "(è)", "e" )
  10. Newfilename = string.gsub(Newfilename, "(ë)", "e" )
  11. Newfilename = string.gsub(Newfilename, "(à)", "a" )
  12. Newfilename = string.gsub(Newfilename, "(â)", "a" )
  13. Newfilename = string.gsub(Newfilename, "(ä)", "a" )
  14. Newfilename = string.gsub(Newfilename, "(û)", "u" )
  15. Newfilename = string.gsub(Newfilename, "(ù)", "u" )
  16. Newfilename = string.gsub(Newfilename, "(ç)", "c" )
  17. Newfilename = string.gsub(Newfilename, "'", "." )
  18. Newfilename = string.gsub(Newfilename, "%%", "_" )
  19. Newfilename = string.gsub(Newfilename, "%&", "_" )
  20. Newfilename = string.gsub(Newfilename, "%(", "_" )
  21. Newfilename = string.gsub(Newfilename, "%)", "_" )
  22. Newfilename = string.gsub(Newfilename, "__", "_" )
  23. Newfilename = string.gsub(Newfilename, "%.%.", "." )
  24. Newfilename = string.gsub(Newfilename, "_%.", "." )
  25. Newfilename = Newfilename:gsub("^_*(.-)_*$", "%1" )
  26.     return Newfilename
  27. end


 
Ensuite j'ai juste à appeler la fonction  
 

Code :
  1. local filename = LrPathUtils.leafName( pathOrMessage )
  2.   filename = RenameFilename(filename)


 
 
Pour ce qui est de la mise en forme de l'export, j'ai trouve qu'il faut passer par une fonction  
 

Code :
  1. local params = {}
  2.     params.LR_jpeg_quality = 0.5
  3.     params.LR_jpeg_useLimitSize = false
  4.     params.LR_metadata_keywordOptions = "lightroomHierarchical"
  5.     params.LR_minimizeEmbeddedMetadata = false
  6.     params.LR_outputSharpeningLevel = 2
  7.     params.LR_outputSharpeningMedia = "screen"
  8.     params.LR_outputSharpeningOn = false
  9.     params.LR_reimportExportedPhoto = false
  10.     params.LR_reimport_stackWithOriginal = false
  11.     params.LR_reimport_stackWithOriginal_position = "below"
  12.     params.LR_size_doConstrain = true
  13.     params.LR_size_resolution = 5
  14.     params.LR_size_resolutionUnits = "inch"
  15.     params.LR_size_maxHeight = 200
  16.     params.LR_size_maxWidth  = 200
  17.     params.LR_size_resizeType = "wh"
  18.     params.LR_format = "JPEG"
  19.     params.LR_export_colorSpace = "sRGB"


 
 
Seul problème, je ne sais pas comment y faire appel.
 
La boucle d'export + ftp est comme ça, et ça doit se placer quelque part là-dedans je pense, avant le transfert ftp. Mais j'ai l'impression que l'export de la photo se fait par un appel dans les paramètres de la boucle for (mais je ne pige pas comment :'(  )
 
 

Code :
  1. for _, rendition in exportContext:renditions{ stopIfCanceled = true} do
  2.  -- Wait for next photo to render.
  3. -----------------------------------------------------
  4. -- Si c'est ici qu'on attends, c'est que l'export est fait avant ???  dans l'appel du for ?
  5. -----------------------------------------------------
  6.  local success, pathOrMessage = rendition:waitForRender()
  7.  -- Check for cancellation again after photo has been rendered.
  8.  if progressScope:isCanceled() then break end
  9.  if success then
  10.   local filename = LrPathUtils.leafName( pathOrMessage )
  11.   filename = RenameFilename(filename)
  12.   local success = ftpInstance:putFile( pathOrMessage, filename )
  13.   if not success then
  14.    -- If we can't upload that file, log it.  For example, maybe user has exceeded disk
  15.    -- quota, or the file already exists and we don't have permission to overwrite, or
  16.    -- we don't have permission to write to that directory, etc....
  17.    table.insert( failures, filename )
  18.   end
  19.   -- When done with photo, delete temp file. There is a cleanup step that happens later,
  20.   -- but this will help manage space in the event of a large upload.
  21.   logger:info('PCCOUploadtask transfert ftp termine OK')
  22.   LrFileUtils.delete( pathOrMessage )
  23.  end
  24. end


 


---------------
Art ?|Pro ?|Sport ?| ACH/VDS matos photo divers
n°2304769
Yoda_57
Marc, gagame, c'était mieux
Posté le 21-08-2017 à 10:07:50  profilanswer
 

Bon, finalement au lieu d'utiliser les exemples du SDK et les adapter, je suis parti de 0 (avec les maigres connaissances apprises à force de chercher) j'ai finalement réussi à faire ce que je voulais :)
 
Merci à tous ceux qui m'ont lus :)


Message édité par Yoda_57 le 21-08-2017 à 10:08:08

---------------
Art ?|Pro ?|Sport ?| ACH/VDS matos photo divers

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Langages fonctionnels

  [ADOBE,LUA] Des connaisseurs ici ?

 

Sujets relatifs
Recherche un codeur LUA pour GTA V RPProblème responsiv adobe MUSE
Problème fichier LUAAdobe Dreamweaver CC Problem Submenu
Quel langage utilise Adobe Muse lors de l'exportation de mon site?Reader Adobe PDF en local sur page HTML
Adobe MuseRegex en LUA ???
[CPP/Lua] Pointeur sur tableTélécharger une page d'Adobe Presenter
Plus de sujets relatifs à : [ADOBE,LUA] Des connaisseurs ici ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR