Application Python-GTK utilisation de %f comme argument de script Le sujet est résolu

Tout ce qui concerne la programmation.
Répondre
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonjour,

Comme d'hab les choses les plus basiques (me) sont les moins trouvables ....

Pour Zim (Python/GTK) je veux écrire un script à utiliser dans Zim comme outil personnalisé (prévu dans l'interface de zim)

Mon but est un script qui remplace quelques <motif> avec sed, rien de bien compliqué.

J'ai testé un "outil perso" avec un programme installé ( seetxt ) : seetxt %f

ça fonctionne !


Ma question :

Comment récupérer %f (fichier courant de zim) pour le mettre dans une variable ou un fichier temporaire utilisable dans un script bash ?

Je me rends bien compte qu'il manque une pièce => faire en sorte de pouvoir appeler le script à la manière d'une commande (aka créer une commande)

J'ai commencé à débroussailler BashFAQ/035 - How can I handle command-line options and arguments in my script easily?

mais pour l'instant, c'est pas trop limpide !

C'est peut-être contournable dans certains cas par l'usage d'un alias appelant le script,
mais il faut d'abord que je comprenne l'histoire du %f

Pour le moment je ne sais même pas si %f est une variable de l'application ou de l'environnement X...FCE, voire du système/session
... je suis dans la panade :017:

Merci pour les pistes et votre patience.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bon, j'auto-réponds à ma question :

%f est transmis à ???... bash via la variable $@

$@ contient le chemin du fichier temporaire de la page courante :

/tmp/zim-dezix/tmp-page-source.txt

donc p.ex. le script :

Code : Tout sélectionner

#!/bin/bash

cat $@ > /tmp/output.txt ;
exit
Enregistre le contenu du fichier

Les liens vers tuto et suggestions pour la réalisation d'un script/commande selon les règles
restent très attendus.

Merci
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4903
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

Moins d'une heure pour trouver la solution, elle n'était pas si cachée que ça!
Merci pour l'info.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Je cherchais depuis hier soir ! :040:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Tiens! pour améliorer mes recherches : où aurais-je du trouver logiquement et rapidement cette info ?

Car je l'ai trouvé presque par hasard en note de BashFAQ/035 mentionné au 1er postage
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Bonne nouvelle pour les "Zimeux" (s'il y en a qui passent par là)

Un simple petit truc comme :

Code : Tout sélectionner

#!/bin/bash
sed -i 's/Gros bidon/Super génie/g' $@ ;
exit
fonctionne impeccable
et vous fait passer de "Gros bidon" à "Super génie" :yahoo:

Il suffit de ne pas cocher "La commande ne modifie pas les données" dans les paramètres de l'outil personnalisé.
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4903
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

J'utile ZIM pour préparer mes formations, mais mon utilisation reste basique. Je le trouve trés utile pour structurer les formations en partant de zéro. Je commence par jetter quelues idées, quelques pistes, puis petit à petit ça se structure, jusqu'au document final avec une mise en page très correcte
L'outil est suffsament souple pour le permettre, contrairement à un traitement de texte que j'utilisais au début.
Pour quel usage as tu besoin de scripts externe ? Zim est déja bien complet de base.
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

Zim est mon usage N°1,
je pourrais dire c'est ma 2de mémoire (structurée)
Tout ce que je découvre/apprends, trouve ça place dans un bloc-note.

Mon bloc-note "informatique" qui doit avoir une dizaine d'années, pèse presque 100Mo et les captures y sont limitées au maxi.

Pour répondre à ta question,
dans ce cas précis je suis en préparatifs pour mettre en place un serveur Apache qui tienne la route.

Je suis donc en train de copier avec Zim-Clip les directives Apache2 dont j'ai besoin.

Dans ces directives,
il y a de nombreux liens formatés en <code></code>
ce qui donne ''[[url|texte]]''
affiché littéralement comme du code,
plus d'autres petits défauts qui ne me plaisent pas.

Pour le moment, j'en suis à :

Code : Tout sélectionner

#!/bin/bash
#
# 
# Script: zim_a2_direct_format.sh 
# Auteur: dezix 
# Date: 2020-01-07
# Version : 0.1
#
# Fonction: Formater pour zim les importations des Directives Apache2 via Zim-Clip 
# 
# Notes: utilisation de %f comme entrée
#
#
sed -i 's/^\s\[/\n\[/' $@ ;
sed -i 's/\s|\s/ /g' $@ ;
sed -i 's/%C3%A9/é/g' $@ ;
sed -i 's/^ ''/''/g' $@ ;
sed -i 's/\x27\x27\[\[/\[\[/g' $@ ;
sed -i 's/\]\]\x27\x27/\]\]/g' $@ ;
# \x27 <=> " ' " (simple quote)
sed -i 's/^\t==/\n==/g' $@ ;
exit
Il faudrait que je m'en fasse un autre pour les ManPages que je copie depuis seeman
Pour ça jusqu'à maintenant j'ai quelques règle de remplacement que j'applique avec Geany sur les fichiers .txt
C'est surtout pour la titraille => c'est plus pratique d'avoir l'index dans le panneau.

J'ai un autre script pour l'usage GTD qui me passe les tâches @next vers une todo.txt sur Dropbox


Zim est aussi mon éditeur de contenus et générateur de sites web statiques.

J'ai donc quelques scripts que j'utilise hors zim directement sur les fichiers
pour p.ex renommer les images "pasted.png" en "page.png"
ce genre de petits trucs pour améliorer les pages exportées en HTML.

De toutes façons mes capacités de programmation étant tellement limitées,
ça va pas bien loin :012:
**Simple Utilisateur** -- Debian stable - XFCE
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 4903
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

On commence à écrire quelques scripts batch pour se simplifier la vie, et on fini par envoyer des patches pour des logiciels libres (voire dev debian!)
Avatar de l’utilisateur
dezix
Membre hyper actif
Membre hyper actif
Messages : 3546
Inscription : 04 juin 2016, 14:50
Status : Hors-ligne

J'aimerais bien mais la route me semble bien longue...

Merci pour l'encouragement, j'apprécie !
**Simple Utilisateur** -- Debian stable - XFCE
Répondre