Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 30-12-2019 13:13:57

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

[Débutant Python] Bricoler le logiciel Mirage

Salut,
je n'ai jamais rien programmé en python, je le dis de suite ; mais j'ai déjà corrigé des choses simples (vu que python a l'aimabilité de donner des code d'erreur et de ne pas à avoir à être compilé, c'est le pur luxe pour essayer des choses sur le tas).

Mon projet c'est de faire des modifs simples de Mirage pour que je puisse l'utiliser confortablement : il fait *déjà* tout ce que je veux, mais y a des détails à changer.

Bref : j'ai cloné la source du projet (leur dernier commit était de 02/2011) depuis  https://framagit.org/otyugh/mirage/tree/master
Mon problème n°1 : le raccourci clavier "gauche droite" ne fonctionne pas (pour défiler d'une image) - la fonction marche si on l'active à la souris à partir des menus, mais chez moi la touche gauche, droite ne fonctionne pas.

Si vous avez une idée j'écoute, sinon je chercherai et donnerai la réponse quand j'aurai trouvé smile
Au passage je vais en profiter pour attaquer un tuto de python pour les débutants, c'est un bon exercice concret pour débuter !

---

EDIT : hoho, quoiqu'est-ce, ça ressemble à un workaround de mon problème yikes (mais qui marche pas non plus, amah)

        def topwindow_keypress(self, widget, event):
                # For whatever reason, 'Left' and 'Right' cannot be used as menu
                # accelerators so we will manually check for them here:
                if (not (event.state & gtk.gdk.SHIFT_MASK)) and not (event.state & gtk.gdk.CONTROL_MASK) and not (event.state & gtk.g$
                        if event.keyval == gtk.gdk.keyval_from_name('Left') or event.keyval == gtk.gdk.keyval_from_name('Up'):
                                self.goto_prev_image(None)
                                return
                        elif event.keyval == gtk.gdk.keyval_from_name('Right') or event.keyval == gtk.gdk.keyval_from_name('Down'):
                                self.goto_next_image(None)
                                return
                shortcut = gtk.accelerator_name(event.keyval, event.state)
                if "Escape" in shortcut:
                        self.stop_now = True
                        self.searching_for_images = False
                        while gtk.events_pending():
                                gtk.main_iteration()
                        self.update_title()
                        return
 



EDIT2 :
Et en fait les raccourcis "PgUp/PgDn" fonctionnent. Interessant, ça confirme que le problème vient des raccourcis et pas de la fonction/implémentation !
Et les combinaisons de "Up/Down/Right/Left" ne fonctionnent que si on y ajouter une touche, comme "ctrl".
Mon hypothèse c'est qu'un truc "prend le focus" pour les touches directionnelles... Mais quoi ?


Ahm.

EDIT3 :
Z'allez rire, c'est verr num qui bloque les touches directionnelles dans l'appli.

EDIT4 :
Une fois qu'on a pigé ça, on trouve o/
Suffit de désactiver d'enlever une condition aux raccourci : "not (event.state & gtk.gdk.MOD2_MASK)"
Et ça marche verr num ou pas !

Dernière modification par otyugh (30-12-2019 16:14:47)


datalove-datalove-s1-2.png agendadulibre-lagendadulibre.png arzinfo-arzinfo.png

Hors ligne

#2 30-12-2019 16:19:58

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [Débutant Python] Bricoler le logiciel Mirage

Bon ben maintenant que victoire on va aller au niveau 2 !

->Faire fonctionner la traduction en français.

Apriori tout ce qu'il faut est là.

mirage: /usr/share/locale/fr/LC_MESSAGES/mirage.mo



Reste à voir pourquoi ça reste en anglais.

EDIT :
À priori ça c'est bon

# in both dirs?
        gettext.install('mirage', '/usr/share/locale', unicode=1)
        gettext.install('mirage', '/usr/local/share/locale', unicode=1)



EDIT2 : Bon ben en l'installant manuellement la traduction est effective. Donc c'est un bug d'intégration au .deb pas au logiciel Mirage lui-même. Boooh Debian ! J'envoie un message au mainteneur pour lui dire qu'il y a un problème qui vient de lui. Et si je regardais la source du .deb pour trouver ?
...
Vini. Et pas rien vu qui cloche. Ahhhm.

Bon par contre ce qui est sûr c'est que le .po a des problèmes, 75% des items sont traduits dans le logiciel, alors que 100% le sont dans le .po. Y a des choses qui passent pas, et ils ont la mention #fuzzy en commentaire. Pourquoi ?

EDIT3 : je viens de corriger le .po français avec poedit. C'est SUPER BIEN FAIT (toutes les entrées à rafraîchir étaient marquées, y avait plus qu'à). Et ça marche en plus. Je suis fier comme un patron de bar tabac. C'est juste trop cool de pouvoir contribuer en y mettant si peu d'effort tongue
https://framagit.org/otyugh/mirage/comm … da4e1b8b6a

Dernière modification par otyugh (30-12-2019 17:27:43)


datalove-datalove-s1-2.png agendadulibre-lagendadulibre.png arzinfo-arzinfo.png

Hors ligne

#3 30-12-2019 17:29:11

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [Débutant Python] Bricoler le logiciel Mirage

Niveau 3 ! Ahhhm. Rajouter des bouttons. Je voulais des boutons découper/redimensionner/saturation accessible en un click sans aller dans les menus. Parce que je connais les débutants, ils iront pas dans les menus >.>

Après ça je me tais dans mon monologue interne promis tongue

Dernière modification par otyugh (30-12-2019 18:49:53)


datalove-datalove-s1-2.png agendadulibre-lagendadulibre.png arzinfo-arzinfo.png

Hors ligne

#4 30-12-2019 19:16:50

jce76350
Membre
Lieu : Rouen
Distrib. : Debian_Buster 10.6
Noyau : 4.19.0-9-amd64
(G)UI : XFCE
Inscription : 24-08-2016
Site Web

Re : [Débutant Python] Bricoler le logiciel Mirage

ils ont la mention #fuzzy en commentaire. Pourquoi ?

soit le traducteur à des doutes sur SA traduction ou c'est encore un brouillon ou traduction approximative, si la traduction est OK il faut virer le "#fuzzy"

Dernière modification par jce76350 (30-12-2019 19:18:33)


--
Jc E

Hors ligne

#5 30-12-2019 19:52:55

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [Débutant Python] Bricoler le logiciel Mirage

L'éditeur "poeditor" l'a fait automatiquement pour moi o/

Par contre je calle un peu sur les icônes GTK. D'origine l'appli fait appel à un set très restreint d'icône : https://developer.gnome.org/gtk2/stable … Items.html
Il n'y a absolument rien pour dire "crop", "resize", "flip 180°", "flip 90°", etc. sad
Quelqu'un sait comment intégrer d'autres images dans GTK ?

EDIT : bon beh jolies icônes excepté, j'ai fait le tour de ce que je voulais faire - et plus (traduction à 100%, raccourci clavier pour toutes les actions, boutons personnalisé, plus de bug de raccourci bloqué avec numlock). Je suis content. Le top serait de faire un .deb après, mais j'ai peur é_è

Dernière modification par otyugh (30-12-2019 21:14:46)


datalove-datalove-s1-2.png agendadulibre-lagendadulibre.png arzinfo-arzinfo.png

Hors ligne

#6 30-12-2019 21:48:09

Switch
Membre
Distrib. : Stable
(G)UI : XFCE !
Inscription : 17-06-2012
Site Web

Re : [Débutant Python] Bricoler le logiciel Mirage

Tu va envoyer tes comits sur le compte officiel pour qu'ils prennent tes propositions ?
Beau boulot

Hors ligne

#7 30-12-2019 22:15:29

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [Débutant Python] Bricoler le logiciel Mirage

Le projet d'origine a pas bougé depuis huit ans, et je ne sais pas faire de paquet .deb.

...Donc je laisse la décision dans les mains du mainteneur actuel, que j'ai contacté x)

Pas sûr que ce logiciel ait d'avenir, python2 va âger très vite, mais c'était une petite aventure rigolote pour moi avec un logiciel que j'aime bien ^^'

Si tous les logiciels étaient aussi facile à modifier <3

Dernière modification par otyugh (30-12-2019 22:18:14)


datalove-datalove-s1-2.png agendadulibre-lagendadulibre.png arzinfo-arzinfo.png

Hors ligne

#8 31-12-2019 13:39:09

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [Débutant Python] Bricoler le logiciel Mirage

Des nouvelles du mainteneur debian : bonnes nouvelles !

Thanks for your email. I'm happy to hear that you like Mirage so much.
[...]
I will soon be starting work to rewrite mirage in Python 3 since Python
2 will be removed very soon. See bugs #885353 and #937052. If you can
let me know if I'm right about the above problems, I can fix them when I
get a chance to work on Mirage.



Résultat : mirage a un avenir et une partie de mes contributions risquent de servir. smile


datalove-datalove-s1-2.png agendadulibre-lagendadulibre.png arzinfo-arzinfo.png

Hors ligne

#9 07-05-2020 15:44:01

marjoz
Membre
Inscription : 07-05-2020

Re : [Débutant Python] Bricoler le logiciel Mirage

Pour mettre le menu en français :
Remplacer
# in both dirs?
        gettext.install('mirage', '/usr/share/locale', unicode=1)
        gettext.install('mirage', '/usr/local/share/locale', unicode=1)

par :
        #gettext.install('mirage', '/usr/share/locale', unicode=1)
        #gettext.install('mirage', '/usr/local/share/locale', unicode=1)
        # prudence : il faut pouvoir revenir facilement à l'ancienne version !
        gettext.install('mirage', unicode=True)
        # on laisse le système trouver le bon répertoire ! True au lieu de 1
        # est apanivore (apanivore : qui ne mange pas de pain)
J'ai signalé cette correction à l'auteur il y a quelques années, mais, à l'époque mon
anglais était exécrable et il n'a pas compris ce que je disais.
Depuis, mon anglais est devenu encore pire.

Hors ligne

#10 07-05-2020 15:54:37

otyugh
CA Debian-Facile
Lieu : Quimperlé/Arzano
Distrib. : Debian Stable
Inscription : 20-09-2016
Site Web

Re : [Débutant Python] Bricoler le logiciel Mirage

À la réécriture en python 3 je sais pas si ta remarquer sera encore valide ~

Le type travaille toujours dessus, j'ai eu des nouvelles cette semaine smile

Dernière modification par otyugh (07-05-2020 15:55:30)


datalove-datalove-s1-2.png agendadulibre-lagendadulibre.png arzinfo-arzinfo.png

Hors ligne

#11 07-05-2020 16:57:55

ubub
Membre
Distrib. : debian 10 buster/stable
(G)UI : xfce
Inscription : 14-05-2019

Re : [Débutant Python] Bricoler le logiciel Mirage

Salut (ou re, ahem)

jce76350 a écrit :

ils ont la mention #fuzzy en commentaire. Pourquoi ?

soit le traducteur à des doutes sur SA traduction ou c'est encore un brouillon ou traduction approximative, si la traduction est OK il faut virer le "#fuzzy"


Ca peut-être aussi que la définition ou description est devenue obsolète (d'où la traduc aussi)
C'est toujours mieux de demander au dernier traducteur ou au mainteneur du paquet avant de virer des fuzzy (je crois bien, en tout cas ils/elles expliqueront la raison du #fuzzy)

je viens de corriger le .po français avec poedit. C'est SUPER BIEN FAIT (toutes les entrées à rafraîchir étaient marquées, y avait plus qu'à). Et ça marche en plus


Un truc bien avant de faire ça, c'est de faire un msgcat

msgcat fichier.po > truc
mv truc fichier.po


et apres on peut

cp fichier.po fichier.relu.po


Le msgcat est important, mais je comprends pas encore tous les tenants et aboutissants de ces outils,
Je crois, à peu près, que ça permettra une meilleure sortie multilinguale, en donnant une traduc adaptée à sa langue pour la même phrase/paragraphe original, et que ça permet d'enregistrer les traducs d'une chaîne de caractères et de les reporter dans des chaînes similaires d'autres textes..
Et puis ça peut toujours être bien de faire


diff -u fichier.po fichier.relu.po > fichier.po-mezigue.diff


et d'envoyer le diff au dernier traducteur (son nom et email est au début du fichier) et ou au mainteneur, ou à la team en charge de la traduc dont l'adresse mail est écrite en fin du fichier, pour savoir ce qu'ils en pensent.
Mais le msgcat est important , surtout avec Poedit ...

Hors ligne

Pied de page des forums