OVH Cloud OVH Cloud

PeJBshell 0.10

7 réponses
Avatar
Méta-MCI
Bonsoir !


Ça avance. Doucement, mais sûrement.

J'ai eu du mal à régler deux problèmes :
- un concernant le code-page. Réglé en travaillant en CP1252, et en
encodant les commandes DOS en CP850.
- l'autre concernant la taille de la console. Comme elle n'est pas
facile à modifier, j'ai pris la décision d'ajouter un raccourci "tout prêt"
avec l'installation.


Maintenant, si l'on se remémore ma motivation initiale : pouvoir faire des
batch qui utilisent Ponx (et les serveurs COM), j'estime que le logiciel est
devenu jouable.
D'ailleurs, je vais, dès cette semaine, l'installer en production sur trois
serveurs, et quelques postes, chez des clients.

Je rappelle l'adresse : http://ponx.org/ponx/pejbshell


@-salutations

Michel Claveau

7 réponses

Avatar
Jacques Barathon [MS]
"Méta-MCI" wrote in message
news:
Bonsoir !


Ça avance. Doucement, mais sûrement.

J'ai eu du mal à régler deux problèmes :
- un concernant le code-page. Réglé en travaillant en CP1252, et en
encodant les commandes DOS en CP850.
- l'autre concernant la taille de la console. Comme elle n'est pas
facile à modifier, j'ai pris la décision d'ajouter un raccourci "tout
prêt"
avec l'installation.


Maintenant, si l'on se remémore ma motivation initiale : pouvoir faire des
batch qui utilisent Ponx (et les serveurs COM), j'estime que le logiciel
est
devenu jouable.
D'ailleurs, je vais, dès cette semaine, l'installer en production sur
trois
serveurs, et quelques postes, chez des clients.

Je rappelle l'adresse : http://ponx.org/ponx/pejbshell


J'ai suivi les instructions d'installation, tout semble installé
correctement mais quand je lance pejbshell.py j'ai juste une fenêtre qui
s'ouvre et se ferme immédiatement.

Ca n'a peut-être aucun rapport, mais je ne comprends pas bien quelque chose
dans le script d'installation en ligne de Ponx:

:: PonxLineInstall.bat

cd /dC:
md ponx
cd ponx
md temp
md bis
xcopy pasram.py bis /Y
xcopy taches.txt bis /Y
xcopy tps.cfg bis /Y

Ils sont censés sortir d'où, les fichiers pasram.py, taches.txt et tps.cfg?

Jacques

Avatar
Méta-MCI
Bonsoir !

Les fichiers en question sont des fichiers qui sont créés à la première
installation. Comme ce sont des fichiers de configuration, il peuvent être
modifiés , pour les adapter au poste. La sauvegarde dans BIS, c'est juste,
lors d'installations ultérieures, pour ne pas les remplacer.

Pour la fenêtre qui se ferme, il doit y avoir un problème.

A l'occasion, il faudrait essayer la procédure suivante :
- démarrer l'invite de commande
- CD C:ponx
- taper pejbshell.py [Entrée]


Cela ne règlera pas le problème. Mais un éventuel message d'erreur pourrait
m'aider à diagnostiquer le problème. Merci d'avance.


Concernant Ponx lui-même, il y a l'utilitaire PonxTest101.exe qui permet de
vérifier que Ponx est bien installé.


Pour info, tu dois avoir, maintenant, Python installé, avec les extensions
pour windows. Si tester ce langage te tente, tu as tout ce qu'il faut. Y
compris la doc standard Python24.chm


Bonne nuit.

MCI
Avatar
Jacques Barathon [MS]
"Méta-MCI" wrote in message
news:%
Bonsoir !

Les fichiers en question sont des fichiers qui sont créés à la première
installation. Comme ce sont des fichiers de configuration, il peuvent être
modifiés , pour les adapter au poste. La sauvegarde dans BIS, c'est juste,
lors d'installations ultérieures, pour ne pas les remplacer.


D'accord, mais je ne comprends pas comment ils peuvent avoir été créés avant
d'être déplacés dans le répertoire BIS. Le script démarre avec ces "move
...", et à ce moment-là à la racine du C: je n'ai copié que le .bat et
getweb.exe. J'ai loupé un épisode?

Pour la fenêtre qui se ferme, il doit y avoir un problème.

A l'occasion, il faudrait essayer la procédure suivante :
- démarrer l'invite de commande
- CD C:ponx
- taper pejbshell.py [Entrée]

Cela ne règlera pas le problème. Mais un éventuel message d'erreur
pourrait m'aider à diagnostiquer le problème. Merci d'avance.


Voici ce que j'obtiens:

C:ponx>pejbshell.py
Traceback (most recent call last):
File "C:ponxpejbshell.py", line 19, in ?
class globa(object):
File "C:ponxpejbshell.py", line 21, in globa
console=Console.getconsole()
NameError: name 'Console' is not defined

Concernant Ponx lui-même, il y a l'utilitaire PonxTest101.exe qui permet
de vérifier que Ponx est bien installé.


L'installation semble correcte. Il me dit que Ponx a été trouvé et contacté
(version 3.212, etc). Il remonte également la version 2.4 de Python.
Pour info, j'ai installé Python dans le répertoire "C:Program FilesPython
2.4.3" au lieu du "C:Python 2.4.3" proposé par défaut. Je n'aime pas
beaucoup les installations faites directement à la racine du C:. Je remarque
que tu dépends beaucoup de chemins pré-définis dans ta procédure
d'installation en ligne, ça a peut-être une influence dans le fonctionnement
du shell également?

Jacques

Avatar
Jacques Barathon [MS]
"Méta-MCI" wrote in message
news:
Salut !

J'arrive juste.

Alors :
- les fichiers "BIS" n'existent pas à la première installation. Ils
seront donc ignorés, tout simplement.


Ah d'accord. Un "if exist" aurait peut-être été plus explicite, et éviterait
un message d'erreur potentiellement confusionnant.

- pour l'install de Python, tu mets dans le répertoire où tu veux ; pas
de problème.
- pour PeJBshell.py, j'ai forcé le répertoire C:ponx, pour faciliter
l'installation en ligne. En pratique, ponx pourrait très bien être
installé ailleurs. Si tu souhaites changer de répertoire, il suffit de :
- recopier C:ponx ailleurs
- dans ce nouveau répertoire, lancer ponx.py
- adapter le raccourcis de PeJBshell, pour qu'il pointe
sur le nouveau répertoire.


Très bien, j'ai transféré C:Ponx dans C:Program FilesPonx, ça "a l'air"
de marcher (voir plus bas).

Pour le problème de la fenêtre qui se ferme, pourrais-tu essayer de mettre
le fichier que je met en pièce jointe, et de ré-essayer ? Merci.


En effet, c'est mieux, du moins en apparence. Maintenant j'ai une session
qui me permet de taper des commandes standard 'à la DOS'. Si je tape "help"
j'ai l'aide de l'invite de commande standard. Mais les commandes PMODE,
PMODE(PYTHON) et .PYT ne donnent que l'erreur suivante:

1.C:>PMODE
Erreur cmd.
'PMODE' is not recognized as an internal or external command,
operable program or batch file.

Pour info, je lance le shell depuis une invite de commande:

C:> cd "program filesponx"
C:Program Filesponx> pejbshell.py

J'ai également essayé en utilisant le raccourci déjà présent dans le
répertoire de Ponx (en ayant mis à jour le chemin source). Pareil.

Alors docteur?

Jacques

Avatar
Méta-MCI
Bonjour !


PMODE
C'est un problème de lunettes (1)



La commande exacte, c'est : .pmode (avec un POINT au début). La casse
est indifférente ici.

Par contre, cela m'étonne, pour .PYT


Ah, oui, je suis en train de préparer une page "découverte initiatique" de
PeJBshell.



Un "if exist" aurait peut-être été plus explicite




Si on veut gérer des erreurs, je comprend. Si on veut gérer des exceptions,
je me comprend...
Il y a toute une école de développement, qui conseille de travailler dans un
mode "TRY" plutôt que de faire de multiples tests préalables.
Je ne vais pas déblatérer là-dessus, car on risque de passer beaucoup de
temps à énumérer avantages et inconvénients des différentes méthodes.




Sinon, j'ai quelques problèmes :
- j'ai voulu embarquer la console, via un serveur COM. Et là, le
détournement de StdOut et StdErr n'a pas l'air de toujours fonctionner ; du
moins pas dans certains cas. En cherchant un peu, j'ai trouvé un moyen.
Mais il nécessite de revoir pas mal de choses. Conclusion : ça attendra les
vacances...
- j'ai du mal avec les noms de fichiers en unicode. Par défaut, je me met
en CP850 (comme la console d'XP) ; j'ai essayé d'autre CP, mais je n'ai pas
trouvé d'encodage qui permette l'affichage, aussi bien en Lucida_console,
qu'en Raster. La solution de l'item précédent permettrait toutefois de
régler le problème ; à voir. (je me demande comment fait Windows...)



@+

Michel Claveau






(1) Ah ! Vieillesse ennemie...



Avatar
Jacques Barathon [MS]
"Méta-MCI" wrote in message
news:
Bonjour !


PMODE
C'est un problème de lunettes (1)





Puff... J'ai passé ma visite médicale la semaine dernière, et ma vue est
très bonne. Mais sans vouloir chipoter, il faut effectivement une TRES bonne
vue pour repérer le point à la première lecture. Bref, passons :-)

La commande exacte, c'est : .pmode (avec un POINT au début). La casse
est indifférente ici.

Par contre, cela m'étonne, pour .PYT


Bon, après un redémarrage de mon PC (j'ignore s'il y a un rapport) tout
marche.

Ah, oui, je suis en train de préparer une page "découverte initiatique" de
PeJBshell.


J'attends avec impatience.
Pour ma culture: je n'ai pas le temps de me mettre à Python pour l'instant,
quels seraient les avantages à utiliser PeJBshell en mode DOS vs l'invite de
commande standard?

Un "if exist" aurait peut-être été plus explicite




Si on veut gérer des erreurs, je comprend. Si on veut gérer des
exceptions, je me comprend...
Il y a toute une école de développement, qui conseille de travailler dans
un mode "TRY" plutôt que de faire de multiples tests préalables.
Je ne vais pas déblatérer là-dessus, car on risque de passer beaucoup de
temps à énumérer avantages et inconvénients des différentes méthodes.


Je comprend bien ton point de vue, même si effectivement on pourrait en
discuter, mais en l'occurrence le script est exécuté sur le poste du client
qui peut vouloir comprendre ce qui se passe (comme moi hier), et dans ce cas
l'absence de test est plutôt perturbante car elle laisse croire que ces
fichiers devraient être présents.

Sinon, j'ai quelques problèmes :
- j'ai voulu embarquer la console, via un serveur COM. Et là, le
détournement de StdOut et StdErr n'a pas l'air de toujours fonctionner ;
du moins pas dans certains cas. En cherchant un peu, j'ai trouvé un
moyen. Mais il nécessite de revoir pas mal de choses. Conclusion : ça
attendra les vacances...
- j'ai du mal avec les noms de fichiers en unicode. Par défaut, je me
met en CP850 (comme la console d'XP) ; j'ai essayé d'autre CP, mais je
n'ai pas trouvé d'encodage qui permette l'affichage, aussi bien en
Lucida_console, qu'en Raster. La solution de l'item précédent permettrait
toutefois de régler le problème ; à voir. (je me demande comment fait
Windows...)


Alors là je ne te serai d'aucun secours, je n'ai pas fait de développement
système depuis des années et j'ai très largement perdu la main. As-tu
regardé les sources des autres shells Python disponibles? Ils ont sans doute
eu à résoudre les mêmes problèmes.

Jacques




Avatar
Méta-MCI
'soir !

quels seraient les avantages à utiliser PeJBshell en mode DOS vs
l'invite de commande standard?




Ce que je vise, c'est pouvoir faire des batch, relativement standards, mais
qui peuvent utiliser des serveurs COM (tels que Word, Excel, Ponx,
Active-scripting, graphwiz, etc.), et plusieurs sortes
d'extensions/librairies.

L'utilisation de Python peut être intéressante, mais, de toutes façons, on
pourrait pythonner via Ponx, donc, ce n'était pas mon objectif premier.

Un autre objectif, mais pas immédiat, c'est la possibilité d'embarquer ce
shell. Par exemple, dans Excel, ou Word. Avec un pilotage par VBA (macros),
qui permettrait d'envoyer des commandes, et/ou de récupérer les résultats.
J'ai remarqué que beaucoup d'utilisateurs, chez mes clients, on des besoins
de copier, classer, trier, renommer... des (ensembles de) fichiers.
L'intégration d'un shell/batch devrait m'aider à leur fournir un meilleur
service.



je n'ai pas fait de développement système depuis des années...




Mon travail principal est en deux parties :
- développement spécifique en gestion,
- administration système + support utilisateurs.
Le développement de bas niveau, c'est juste dans les moments creux, ou pour
améliorer le travail principal.


Bonne nuit

MCI