Bannière du site

Guide utilisateur jAlbum

fleche_haut

jAlbum / Extraits Code

Il s’agit de petits blocs de code que les utilisateurs peuvent saisir dans la console système de jAlbum (appuyez sur la touche F7 ou utilisez Menu/Outils/Console système pour ouvrir la fenêtre de la console. Collez le code dans la partie supérieure de la fenêtre, puis appuyez sur le bouton &lsquoÉvaluer’ Tous les extraits de code ci-dessous sont des Beanshell, sauf indication contraire. Si un autre langage est utilisé, tel que JavaScript, changez le langage de script selon vos besoins. Pour en savoir plus sur la console système, cliquez ici

Il y a aussi un article de blog de David appelé automate-it qui fournit des exemples et des explications supplémentaires. (en anglais)

Extraits Code

Traduire de l’anglais vers d’autres langues

Traduire tous les textes pris en charge pour un skin donné, par exemple

TranslatorTool.jar /Users/david/Library/JAlbum/skins/Plain/texts

Traduire des textes spécifiques

TranslatorTool.jar /Users/david/Library/JAlbum/skins/Plain/texts sv fi

Une méthode pour réparer les dates bloquées de l’appareil photo :

JAlbumUtilities.deleteCameraDateCache(rootFolder)

En utilisant le scrtipting Groovy, exclure toutes les images notées moins de 3 étoiles.

currentFolder.descendants.stream().filter(ao -> ao.rating < 3).forEach(ao -> ao.included = false)

Pour vérifier si l’écran de votre ordinateur est un ‘HI-DPI’ (Haute Définition) ou non, utilisez ce code

GraphicsUtilities.getScale(window.getGraphicsConfiguration().getDevice());

Si la valeur résultante est supérieure à 1, il s'agit d'un écran en haute résolution.



Un moyen de créer rapidement un album à partir d'images spécifiques uniquement marquées, par exemple les images marquées de rouge :

sync = new AlbumSynchronizer(engine);
currentFolder.getDescendants(IncludeOption.EXCLUDED).stream().forEach(ao -> {
  ao.included = ao.folder || ao.flag == Flag.Select;
  if (!ao.included) sync.delete(ao);
})

Cela supprimera également les images exclues correspondantes de l'album. Les valeurs pour ‘Flag ’ sont

None, Red/Select, Yellow/Second, Blue/Review et Green/Approved


Si vous rencontrez des problèmes lors du traitement d'un album mais que vous ne recevez pas un message d'erreur évident, jAlbum ralentit peut-être un peu, puis utilisez :

JAlbum.dumpThreads();

Cela créera un fichier ‘thread-dump.txt’ dans le dossier de configuration de jAlbum (utilisez Maj+ Cmd/Ctrl + C dans l’un des dossiers de votre système d’exploitation).



Voici un moyen rapide de modifier le protocole de http à https d’un album publié.

1) Ouvrez le projet d'album correspondant

2) Ouvrez la console système (F7) et exécutez le code suivant dans le panneau supérieur :

props = rootFolder.getProperties();
albumURL = props.get("albumURL");
props.put("albumURL", albumURL.replace("http:", "https:"));
props.save();


Changer toutes les instances d’un mot clé en un autre Assurez-vous que le 'Langage de script' est défini sur 'Groovy (moteur de script Groovy). Dans le code ci-dessous, remplacez les chaînes de recherche et de remplacement (Test et Testé) par le mot-clé à remplacer et le remplacement. Cliquez ensuite sur le bouton 'Exécuter' pour exécuter le code.

Work.on(rootFolder.descendants)
.forEach(ao) -> {
	Set keywords = ao.keywordSet
	if (keywords.remove("Test")) {
		keywords.add("Testé")
		ao.keywords = StringUtil.setToString(keywords)
	}
}


Affichez tous les paramètres et valeurs de l’interface graphique, tels que les couleurs, les tailles de police, etc. Pratique pour vérifier / modifier les couleurs du skin / thème de jAlbum.

import java.util.Set;
import java.util.Map.Entry;
 
 entries =  UIManager.getLookAndFeelDefaults().entrySet();
    for (Entry entry : entries)
    {
      System.out.print(entry.getKey() + " = ");
      System.out.print(entry.getValue() + "\n");
    }


Répertoriez tous les noms des panneaux et des contrôles jAlbum. Ce code nécessite que le script Groovy soit sélectionné dans la console système.

window.binder.walkComponents((name, comp) -> {
	if (name.contains("Panel")) {
		println name
	}
})


Corrigez les fichiers image mal nommés HEIC au lieu de JPG (souvent le résultat du téléchargement d’images HEIC vers puis du téléchargement à partir de Google Photos, les téléchargements sont JPG et non HEIC). Les fichiers mal nommés n’afficheront pas une image miniature appropriée, pour les corriger, suivez les instructions ci-dessous:

Vous devrez d’abord sélectionner les fichiers que vous souhaitez renommer dans la vue d’exploration de jAlbum, puis coller le code suivant dans la moitié supérieure de la console système (F7 pour l’ouvrir). Sélectionnez 'BeanShell' comme langage de script, puis appuyez sur le bouton 'Evaluer'.

AlbumObject[] selAOs = JAlbumContext.getInstance().getExplorer().explorer.getSelectedAlbumObjects();
AlbumObject thisFolder = JAlbumContext.getInstance().getExplorer().getCurrentFolder();
for (AlbumObject ao : selAOs) {
	if(ao.getName().endsWith(".heic")) {
		ao.moveTo(thisFolder, ao.getName().replaceAll("heic","jpg"));
	}
	else if(ao.getName().endsWith(".HEIC")) {
		ao.moveTo(thisFolder, ao.getName().replaceAll("HEIC","JPG"));	
	}
}
window.albumExplorer.refreshAction.actionPerformed(null);