Guide de Développement de Scripts

Pour créer un script personnalisé pour Seer, vous devez définir les métadonnées et implémenter la logique fonctionnelle correspondante.

1. Définition des Métadonnées du Script

Seer initialise les scripts en recherchant un dictionnaire SCRIPT_INFO ou une fonction script_info() dans votre script.

Champs Obligatoires

  • name : Nom d'affichage du script.
  • type : La catégorie fonctionnelle :
    • 0 : Aperçu (Preview)
    • 1 : Contrôles (Controls)
    • 2 : Propriétés (Property)
  • extensions : Une liste d'extensions de fichiers (chaînes). Utilisez ${type_folder} pour la correspondance avec les répertoires.
  • arguments : Une liste d'arguments CLI (excluez python.exe et le nom du fichier du script).

Exemple de Définition

SCRIPT_INFO = {
    "name": "unzip",
    "type": 1,
    "extensions": ["zip", "rar", "7z"],
    "arguments": ["-e", "${7z}", "-i", "${input_file}", "-o", __save_path, "-w"],
    # Métadonnées optionnelles
    "author": "YourName",
    "version": "1.0.1",
    "description": "Courte description du script",
    "icon_path": "icon.png", # Type Contrôles uniquement
}

2. Implémentation des Fonctionnalités

  • Aperçu (Type 0) : Charge/analyse le fichier d'entrée et le convertit en un format pris en charge nativement par Seer (ex. PDF, image ou HTML).
  • Exemple : Conversion d'un fichier .epub en .html.

  • Contrôles (Type 1) : Ajoute un bouton sur le côté gauche de la Barre de Contrôle. Un clic exécute le script défini.

  • Exemple : Compression du dossier actuellement prévisualisé en un fichier .zip.

  • Propriétés (Type 2) : Seer exécute automatiquement le script après le chargement réussi du fichier. Le script doit écrire les métadonnées dans un fichier JSON à l'emplacement spécifié par ${output_file}. Seer lit et affiche ensuite ce contenu JSON.

  • Exemple : Calcul du hash SHA512 d'un fichier.

3. Variables Disponibles

Ces jetons sont dynamiquement remplacés par Seer et passés comme arguments en ligne de commande :

Variable Description
${7z} Chemin absolu vers le 7z.exe fourni avec Seer.
${seer_exe} Chemin absolu vers Seer.exe.
${seer_dir} Répertoire contenant Seer.exe.
${input_file} Chemin vers le fichier/dossier cible actuellement prévisualisé.
${output_file} Chemin vers le fichier de sortie temporaire (obligatoire pour les scripts de Propriété et certains d'Aperçu).
${no_cache} Aperçu uniquement : Drapeau pour demander à Seer de supprimer le fichier temporaire après la fermeture de l'aperçu (non transmis au script comme argument).
${type_folder} Contrôles uniquement : Utilisé pour correspondre aux types de répertoires.
${use_backslash} Utiliser \ au lieu de / pour les séparateurs de chemin.

Remarque : ${no_cache} est un drapeau interne pour Seer et n'est pas transmis à votre script comme argument en ligne de commande.