1 (edited by olivier.perrin 2022-06-30 14:05:17)

Topic: Ouverture du projet exssivement longue ...

Bonjour,

j'ai un projet qui d'un coup mets plusieurs minutes à s'ouvrir et pareil pour sauver les modifications.
C'est très très penible et je ne comprend pas pourquoi. Il ne contient que 7 folios avec peu de chose dessus.

Merci de votre aide


liens vers le fichier :

https://we.tl/t-bkVAbRAbVl

Re: Ouverture du projet exssivement longue ...

Il y a visiblement eu un problème lors de l'enregistrement de votre fichier, une quantité astronomique (et je pèse mes mots) de ligne vide sont présente ce qui le rend très long à lire. C'est un problème qui nous à déjà été remonté mais extrêmement rare et impossible à reproduire de notre coté.
Pensez bien à faire des backups régulier de vos projet ça peut sauver des heures de boulot.

En lien votre fichier restauré.
https://we.tl/t-bvVZEd1ISA

Développeur QElectroTech

3 (edited by olivier.perrin 2022-07-01 08:20:02)

Re: Ouverture du projet exssivement longue ...

Merci de votre réponse rapide et pour la correction du fichier. Il s'ouvre bien plus vite maintenant.

Je sauve à chaques modification du schéma, mais dans le même fichier ... une evolution pour plus tard serait de créer 2 ou 3 fichiers de backup. Paramétrable dans le soft avec des indices automatiques ...

Est il possible que je puisse corriger moi même le fichier si ce problème revenait ?

Sinon bravo pour le soft je le trouve génial ...

Re: Ouverture du projet exssivement longue ...

Bonjour,

sur de gros projets ~ + 100 folios l'astuce que j'utilise est d'ouvrir le projet et de l’enregistrer ensuite avant d'y retravailler dessus avec la date (au format us) + nom du projet, exemple:
2022-6-30-mon-projet.qet

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

5 (edited by olivier.perrin 2022-07-01 16:05:43)

Re: Ouverture du projet exssivement longue ...

Je n'aurrais jamais autant de folios, mais je vais appliquer cette méthode pour avoir des versions avec des jours différents.

Re: Ouverture du projet exssivement longue ...

Tous les fichier de QElectroTech sont des xml, donc avec un bonne éditeur de texte tu peut t'en sortir (notepad++, gedit, kate etc...).
Bon avec ton fichier, même avec un éditeur de texte c’était ingérable du coup j'ai utilisé grep (sous linux, ou par le biais de wsl) 

grep "\S" CARTONNAGES_AUCH_2022_06.qet

qui ressort ton fichier corrigé.

Développeur QElectroTech

Re: Ouverture du projet exssivement longue ...

http://www.unige.ch/ses/sococ/aqual/atlas/grep.html

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Ouverture du projet exssivement longue ...

https://qelectrotech.org/forum/viewtopi … 556#p15556

scorpio810 wrote:

Good morning Mike

I removed empty line in your project file with sed on Linux machine:

sed '/^$/d' Test1.qet > test_sed.qet

Now launch so fast, but if run qet_tb_generator 1.3.0 is break XML and QET can't open file :

The file /media/backup6/download/test_sed_clean.qet does not appear to be a QElectroTech project file. Thus it cannot be opened.

Fix the XML of .qet with xmllint:

[07:25:29] laurent@debian:/media/backup6/download$ xmllint --recover test_sed_clean.qet > new_sedtest.qet
test_sed_clean.qet:5: parser error : StartTag: invalid element name
            <
             ^

Now project is fixed.
Very nice project  Mikhail  ;-)
http://dietzautomation.com/download/Man … nglish.pdf

Edit: si tu te sers du plug-in qet-tb-generator pour générer tes borniers, je te conseille de prendre la dernière version.

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Ouverture du projet exssivement longue ...

Bonjour,

il me semble que j'ai denouveau le pb de fichier long à ouvrir après utilisation de qet_tb_generator.

Pouvez vous me donner le lien vers la dernière version de qet_tb_generator (j'ai la 1.3.1)

Comment puis je supprimer les lignes vide automatiquement sous windows ?

Voici mes fichiers : https://we.tl/t-lBRghH9R4a

merci de votre aide

Re: Ouverture du projet exssivement longue ...

pour avancer un peux, j'ai installer un linux sur mon Windows :

en faisant
grep "\S" A.qet>B.qet j'obtient le même fichier ...

en faisant
grep "\s" A.qet>B.qet
j'ai un fichier étrange qui ne marche pas mais sans les ligne vide

merci de votre aide

Post's attachments

Attachment icon B.qet 1.59 mb, 88 downloads since 2022-10-28 

Re: Ouverture du projet exssivement longue ...

La version 1.3.1 est bien la dernière.  https://github.com/raulroda/qet_tb_generator-plugin

Tu avais une copie de ton fichier ?
Je suis pas trop à l'aise (voir pas du tout nomicons/grin ) avec les commandes que Laurent utilise, mais je vais y jeter un coup d'oeil.

Développeur QElectroTech

12 (edited by Joshua 2022-10-28 20:45:11)

Re: Ouverture du projet exssivement longue ...

Corrigé

J'ai utilisé la commande grep que tu as donné, mais le fichier était corrompu (comme tu le disais) j'ai tenté de le corriger avec xmllint donné plus haut, mais le fichier bien que ouvrable par qet ne contenais presque plus rien.
Du coup j'ai corrigé à la main le fichier (celui crée par grep) avec kate. https://kate-editor.org/fr/

Post's attachments

Attachment icon corrige.qet 1.59 mb, 92 downloads since 2022-10-28 

Développeur QElectroTech

Re: Ouverture du projet exssivement longue ...

Bonsoir Olivier,

voir la doc Ubuntu sur sed
https://doc.ubuntu-fr.org/sed

Ton fichier DAK_STD_UL_E116_RevA_Remote_Support_T-2022-10-28.qet est rempli de milliers/millions de lignes avec la chaîne de caractères :

&#xd;


&#xD; represents the ASCII "carriage return" character (ASCII code 13 , which is D in hexadecimal), sometimes written "\r" , rather than the "linefeed" character, "\n" (which is ASCII 10 , or A in hex)

Donc j'ai fait simple car la journée au boulot à été rude et je suis crevé et il me reste encore deux nuits de boulot à faire...avec Kate j'ai remplacé les chaines &#xd; par rien, puis je save sous DAK_STD_UL_E116_RevA_Remote_Support_T-2022-10-28_1.qet

Puis je me sert de la commande de sed pour supprimer les lignes vides,voila:

[22:00:02] laurent@debian:/Pb Qet$ sed '/^$/d' DAK_STD_UL_E116_RevA_Remote_Support_T-2022-10-28_1.qet >B.qet

Voila le fichier réparé et en pièce jointe B.qet

Bonne soirée,
Laurent

Post's attachments

Attachment icon B.zip 207.61 kb, 78 downloads since 2022-10-28 

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

14 (edited by olivier.perrin 2022-10-31 20:18:25)

Re: Ouverture du projet exssivement longue ...

Joshua wrote:

Corrigé

J'ai utilisé la commande grep que tu as donné, mais le fichier était corrompu (comme tu le disais) j'ai tenté de le corriger avec xmllint donné plus haut, mais le fichier bien que ouvrable par qet ne contenais presque plus rien.
Du coup j'ai corrigé à la main le fichier (celui crée par grep) avec kate. https://kate-editor.org/fr/

un grand merci à toi pour ton aide.

Sais tu pourquoi la commande de la dernière fois :grep "\S" .... ne marche pas ?
Peux tu me dire les corrections que tu as fait (si ce n'est pas trop compliqué à expliquer par message), c'est pour ma compréhension personnelle.

Re: Ouverture du projet exssivement longue ...

scorpio810 wrote:

Bonsoir Olivier,

voir la doc Ubuntu sur sed
https://doc.ubuntu-fr.org/sed

Ton fichier DAK_STD_UL_E116_RevA_Remote_Support_T-2022-10-28.qet est rempli de milliers/millions de lignes avec la chaîne de caractères :

&#xd;


&#xD; represents the ASCII "carriage return" character (ASCII code 13 , which is D in hexadecimal), sometimes written "\r" , rather than the "linefeed" character, "\n" (which is ASCII 10 , or A in hex)

Donc j'ai fait simple car la journée au boulot à été rude et je suis crevé et il me reste encore deux nuits de boulot à faire...avec Kate j'ai remplacé les chaines &#xd; par rien, puis je save sous DAK_STD_UL_E116_RevA_Remote_Support_T-2022-10-28_1.qet

Puis je me sert de la commande de sed pour supprimer les lignes vides,voila:

[22:00:02] laurent@debian:/Pb Qet$ sed '/^$/d' DAK_STD_UL_E116_RevA_Remote_Support_T-2022-10-28_1.qet >B.qet

Voila le fichier réparé et en pièce jointe B.qet

Bonne soirée,
Laurent

un grand merci à toi pour ton aide.
Je vais essayer de reproduire ta méthode sur un autre fichier souffrant de la même chose.

Re: Ouverture du projet exssivement longue ...

question général.

Savez vous pourquoi qet_tb_generator me corrompt mes fichiers ?

Re: Ouverture du projet exssivement longue ...

olivier.perrin wrote:

question général.

Savez vous pourquoi qet_tb_generator me corrompt mes fichiers ?

Tu devrais poster une issue sur le Github de Raul avec un de tes fichiers pour qu'il voit ce qui cloche.

https://github.com/raulroda/qet_tb_gene … gin/issues

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

18 (edited by olivier.perrin 2022-11-03 11:16:46)

Re: Ouverture du projet exssivement longue ...

scorpio810 wrote:
olivier.perrin wrote:

question général.

Savez vous pourquoi qet_tb_generator me corrompt mes fichiers ?

Tu devrais poster une issue sur le Github de Raul avec un de tes fichiers pour qu'il voit ce qui cloche.

https://github.com/raulroda/qet_tb_gene … gin/issues


Bonjour,

c'est fait :

https://github.com/raulroda/qet_tb_gene … n/issues/4

si tu veux y apporter des elements suplémentaires ...

Pour corriger les fichiers rapidos j'ai fais ceci, sous mon Debian sous windows :

je fais une copie du fichier et je le renomme A

sed -i 's/&#xd;//' A.qet;sed '/^$/d' A.qet > B.qet

ça marche bien.

Encore merci pour l'aide de chacun

Re: Ouverture du projet exssivement longue ...

J'aurai plutôt fais ça:

sed -i 's/&#xd;//' A.qet && sed '/^$/d' A.qet > B.qet

https://www.geeksforgeeks.org/differenc … -in-linux/
nomicons/wink

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

Re: Ouverture du projet exssivement longue ...

scorpio810 wrote:

J'aurai plutôt fais ça:

sed -i 's/&#xd;//' A.qet && sed '/^$/d' A.qet > B.qet

https://www.geeksforgeeks.org/differenc … -in-linux/
nomicons/wink

Mais tu as tout à fait raison. Je suis assez novis en commande console. C noté.

Re: Ouverture du projet exssivement longue ...

Plus simple:

sed '/^&#/d' A.qet > B.qet

Fonctionne aussi:

sed '/^&#xd;/d' A.qet > B.qet

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."

22 (edited by Joshua 2022-11-03 20:46:53)

Re: Ouverture du projet exssivement longue ...

olivier.perrin wrote:

Sais tu pourquoi la commande de la dernière fois :grep "\S" .... ne marche pas ?

Je ne sais pas, et pas cherché non plus.

olivier.perrin wrote:

Peux tu me dire les corrections que tu as fait (si ce n'est pas trop compliqué à expliquer par message), c'est pour ma compréhension personnelle.

Je ne l'ai pas essayé, mais la solution de Laurent doit sûrement être plus propre et rapide que la mienne, mais voici comment j'ai fait.
Une fois le fichier partiellement réparé, je l'ai ouvert avec kate, dans celui-ci si ce n'est déjà fait indique que le fichier est en xml (tout en bas à droite de kate) cela ajoute la coloration syntaxique ainsi que le pliage de code.
C'est grace à cette fonctionnalité que j'ai pu voir ou se trouvais les problèmes. Lors de certain pliage de code la balise ouvrante et fermante d'un element xml n'étais pas identique, donc à ce moment la il faut chercher entre ces deux balises ou se trouve le problèmes (dans la grande partie du temps il te faudra explorer les elements enfant et ainsi de suite). Une fois l'erreur trouvé il suffit de la corriger.

un exemple de xml corrompu :

<project>
        <diagram id="1">
            <title>page de garde</title>
        </diagram>
        <diagram id="2">
            <title>schema de puissance</title>
        </diagrams>
    </diagrams>
    <collection>
        <element nom="disjoncteur">
            <text>QM1</text>
        </element>
        <element nom="relais">
            <text>KM1
        </element>
        <element nom="moteur">
            <text>M1</text>
        </element>
    </collection>

et le même réparé

<project>
    <diagrams>
        <diagram id="1">
            <title>page de garde</title>
        </diagram>
        <diagram id="2">
            <title>schema de puissance</title>
        </diagram>
    </diagrams>
    <collection>
        <element nom="disjoncteur">
            <text>QM1</text>
        </element>
        <element nom="relais">
            <text>KM1</text>
        </element>
        <element nom="moteur">
            <text>M1</text>
        </element>
    </collection>
</project>

Voila.
Après c'est vraiment une méthode bourrin, mais qui a le mérite de faire découvrir comment un xml est formé. Je fait ainsi car la flemme (et pas envie d'y consacrer du temps, j'arrive déjà pas trop à en trouver pour développer qet...) de chercher une méthode avec les outils fournis dans nos distribution linux.

Développeur QElectroTech

23 (edited by olivier.perrin 2022-11-04 12:24:09)

Re: Ouverture du projet exssivement longue ...

scorpio810 wrote:

Plus simple:

sed '/^&#/d' A.qet > B.qet

Fonctionne aussi:

sed '/^&#xd;/d' A.qet > B.qet

cool, merci pour cette optimisation. J'aime bien quand dans un minimum de code tu en fais autant :-)

juste pour info la différence entre &# et  &#xd ?

24 (edited by olivier.perrin 2022-11-04 11:41:18)

Re: Ouverture du projet exssivement longue ...

Joshua :

Merci pour ton temps. J'ai bien compris le Pb. J'avais fait la modification que tu as mis en exemple, mais je pense que ce n'est pas la seul que tu as faite. Car cela ne marché pas juste avec ça.

Re: Ouverture du projet exssivement longue ...

olivier.perrin wrote:
scorpio810 wrote:

Plus simple:

sed '/^&#/d' A.qet > B.qet

Fonctionne aussi:

sed '/^&#xd;/d' A.qet > B.qet

cool, merci pour cette optimisation. J'aime bien quand dans un minimum de code tu en fais autant :-)

juste pour info la différence entre &# et  &#xd ?

tu supprimes les lignes commençant par l’occurrence "&# "et l'autre par  l’occurrence complète recherchée :"&#xd;" qui est un CR code hex   &#xd;

&#xD; represents the ASCII "carriage return" character (ASCII code 13 , which is D in hexadecimal), sometimes written "\r" , rather than the "linefeed" character, "\n" (which is ASCII 10 , or A in hex)

Bon j'ai quand même passé quelques heures pour la trouver cette formule avec sed ...
Je manie davantage le tournevis et la VAT et clé a molette et mon cerveau logique que le man de sed au boulot ...

Si ça te dit d'en savoir plus sur sed, après il y a aussi AWK, cat, perl, etc comme outils pour manipuler du fichier.. tout comme vim ou emacs pour les durs..
https://www.grymoire.com/Unix/Sed.html

https://www.cyberciti.biz/faq/how-to-re … x-or-unix/

"Le jour où tu découvres le Libre, tu sais que tu ne pourras jamais plus revenir en arrière..."