Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Ouvrir le dossier d'origine de l'image à partir de DT ?
#51
Chez moi j'ai toujours un luarc qui contient :


Code :
-- Scripts LUA à inclure

require "yield"
require "fnav"
require "passport_guide"
Le lien entre les deux semble se faire via yield. Mais je n'utilise pas d'autre script donc je ne suis pas sûr de moi. J'ai fait l'installation via script manager il y a longtemps, pour voir ; ça avait l'air de fonctionner.

Comment vérifier aujourd'hui si ça fonctionne toujours ?

J'ai vérifié, ça fonctionne toujours.
Explication :
J'avais un exemplaire du script "passport_guide.lua" directement dans le dossier lua, appelé via la ligne du fichier luarc 'require "passport_guide"'. Or dans le dossier lua/contrib il y a presque exactement le même script (seuls deux commentaires sont différents).
J'ai donc supprimé la ligne du luarc et contrôlé que le format spécial passeport existait toujours dans la liste déroulante du module recadrer. Et c'est bien le cas. Donc les scripts du script manager sont bien appelés ainsi que le script fnav.
Mes photos : jpverrue.fr
Répondre
#52
Merci pour la réponse @jpverrue, mais sur ma conf ça ne fonctionne pas. Je pense que tu n'as pas nécessairement le dernier dossier lua sur ta conf.

En regardant la dernière vidéo de Nicolas Winspear sur le quicktagging, je me suis rendu compte que je n'avais pas le script_manager comme on le voit sur sa conf.
J'ai un peu cherché et trouvé ce guide pour installer script_manager.
Mais ça n'a pas fonctionné, j'avais une erreur que j'ai reportée sur le github dt.

Et la réponse donnée par wpferguson était : tu vires luarc et le dossier lua et tu as le script_manager. Et c'est effectivement bien comme ça que j'ai maintenant le script_manager et moult scripts LUA. C'est un peu aussi à se demander à quoi sert la doc avec le guide d'installation du script_manager...

Mais du coup, ton script que j'utilisais tout le temps pour accéder directement au dossier des photos en cours d'édition (via F9 chez moi) n'était plus là, j'ai donc complété luarc avec les require précédents et remis les scripts correspondants dans le dossier lua.

Mais j'ai systématiquement l'erreur :
Code :
5,034948 LUA ERROR : ./tools/script_manager.lua:427: attempt to concatenate a nil value (local 'category')

Et c'est bien lié à "yield.lua" et/ou "fichiers.lua" (équivalent de ton fnav), il me suffit de les supprimer du dossier lua pour que script_manager re-apparaisse.
dt stable / Ubuntu 22.04
Répondre
#53
Merci pour ton complément d'information. En effet, je n'avais pas la dernière version de script manager.
J'ai fait l'essai en ajoutant 'require "fnav"' au nouveau luarc sans succès : le script manager ne se lance plus.

Par contre, en enlevant la ligne que j'avais ajoutée à luarc et plaçant le fichier fnav.lua dans le dossier lua/contrib, là tout fonctionne : les scripts installés par script manager ainsi que fnav qui apparaît dans la liste des scripts contrib.
Je vais compléter le script pour qu'il soit compatible avec les autres (commentaires, etc.)

Tu me dis qu'il existe un autre script qui fait le même boulot dans le script manager ? Moi, je ne l'ai pas. Peux-tu m'en dire un peu plus ?
Mes photos : jpverrue.fr
Répondre
#54
Excellent, effectivement en mettant le seul "fichiers.lua" dans lua/contrib; "fichiers" est maintenant listé dans les "start/stop scripts" et après l'avoir activé, la fonction est bien retrouvée.

Merci @jpverru !

fichiers.lua n'est pas un autre script, c'est fnav.lua renommé.
dt stable / Ubuntu 22.04
Répondre
#55
Reste à faire attention lors d'éventuelles mises à jour que le fichier ne disparaisse pas.
Mes photos : jpverrue.fr
Répondre
#56
@manu :
J'ai repris le script pour l'adapter au système "script manager". Le but serait de l'inclure directement dedans. Chez moi ça fonctionne, mais peux-tu tester STP ?
Le voici en source directe. (j'aurais voulu le compresser et le mettre en pièce jointe, mais pas moyen sur le forum).
Code :
--[[

  file_manager.lua - launch file manager in photo directory with a shortcut

  Copyright (C) Jean-Pierre Verrue <contact@jpverrue.fr>.

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.

]]
--[[
 
  file manager - launch file manager in photo directory with a shortcut

INSTALLATION
  * copy this file in $CONFIGDIR/lua/ where CONFIGDIR is your darktable configuration directory
  * add the following line in the file $CONFIGDIR/luarc
    require "fnav"

USAGE
  * configure this script :
  * set a shortcut in preferences->shortcut->lua
  * set file manager path in preferences->lua options
  * set file manager options in preferences->lua options
  * select a photo
  * type your shortcut
  * after use dont forget to close file manager window !

]]

local dt = require "darktable"
local du = require "lib/dtutils"

-- module name
local MODULE_NAME = "file_manager"
du.check_min_api_version("7.0.0", MODULE_NAME)

-- return data structure for script_manager

local script_data = {}

script_data.destroy = nil -- function to destory the script
script_data.destroy_method = nil -- set to hide for libs since we can't destroy them commpletely yet, otherwise leave as nil
script_data.restart = nil -- how to restart the (lib) script after it's been hidden - i.e. make it visible again

-- OS compatibility
local PS = dt.configuration.running_os == "windows" and  "\\"  or  "/"

-- translation
local gettext = dt.gettext
gettext.bindtextdomain(MODULE_NAME, dt.configuration.config_dir..PS.."lua"..PS.."locale"..PS)
local function _(msgid)
  return gettext.dgettext(MODULE_NAME, msgid)
end

dt.preferences.register("file_manager", "file_manager_options",
  "string", _("options"), (_"file manager options"), "")

dt.preferences.register("file_manager", "file_manager_path",
  "string", _("file manager"), _("file manager full path"), "")

local function file_manager_shortcut(event, shortcut)
  local images = dt.gui.action_images
  local image_path = string.gsub(tostring(images[1].path), '"', '\\"')
  local file_manager_path = dt.preferences.read("file_manager", "file_manager_path", "string")
  local file_manager_options = dt.preferences.read("file_manager", "file_manager_options", "string")
  local command = file_manager_path.." "..file_manager_options..' "'..image_path..'"'
  dt.print_log("command="..command)
  dt.control.execute(command)

end

dt.register_event("file_manager", "shortcut", file_manager_shortcut,
_("launch file manager"))

-- end of script --------------------------------------------------------------

-- vim: shiftwidth=2 expandtab tabstop=2 cindent syntax=lua
-- kate: hl Lua;

Ce qu'il reste à faire : les traductions des 3 chaines de caractères dans le fichier ad hoc et regarder comment il faut faire pour le publier.
Au passage, j'ai tout renommé de file navigator vers file manager. C'est un peu mieux ;-) Du coup le nom du script est pour moi "file-manager.lua"
Mes photos : jpverrue.fr
Répondre
#57
@jpverrue, oui ce script "file-manager.lua" fonctionne également sur ma config.

Quelles seraient les 3 chaînes de caractères à traduire (en DE, FR, IT, PT si je m'en tiens au dossier locale) ?
dt stable / Ubuntu 22.04
Répondre
#58
En fait il y en a 5. Les voilà :

|en|fr|
|--|--|
|options|options|
|file manager options|options pour le gestionnaire de fichiers|
|file manager|gestionnaire de fichier|
|file manager full path|chemin complet pour le gestionnaire de fichier|
|launch file manager|lancer le gestionnaire de fichiers|

J'ai mis l'anglais et le français dans un tableau Markdown mais l'éditeur du forum n'a pas l'air de comprendre...
Ça devrait donner ça ;-)
[Image: Capture-cran-20220623-112131.jpg]
Mes photos : jpverrue.fr
Répondre
#59
OK, je devrais pouvoir fournir les "file-manager.po" dans les langues précitées, à mettre dans lua/locale, mais le problème réside pour moi dans leur validation, car même en remplaçant la ligne de ton script :
Code :
gettext.bindtextdomain(MODULE_NAME, dt.configuration.config_dir..PS.."lua"..PS.."locale"..PS)
par ce que qu'on trouve par exemple dans script_manager.lua:
Code :
gettext.bindtextdomain(MODULE_NAME,dt.configuration.config_dir.."/lua/locale/")
Les traductions n'apparaissent pas dans dt.

La version fr_FR à mettre, a priori, dans ~/.config/darktable/lua/locale/fr_FR/LC_MESSAGES.

Sinon, je pense que dans l'entête de ton script LUA, tu peux rajouter une section :
AUTHOR
ton nom (ton mail)

LICENCE
la licence Open Source de ton choix (GPLv2 par exemple).
dt stable / Ubuntu 22.04
Répondre
#60
Effectivement, les traductions n'apparaissent pas. Mais peut-être est-ce qu'elles ne fonctionnent que sur l'interface principale, pas sur l'interface de la fenêtre de préférences. Ce qui me fait penser à ça, c'est que le message "lua script installer dont show again" n'est pas traduit (au moins chez moi).
Pour la section AUTHOR, je l'ai justement supprimée pour me conformer aux scripts que j'ai (honteusement) copiés. Je vais la remettre ;-)
Mes photos : jpverrue.fr
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)