afin que les strings de provenance file/Folder Chooser passent correctement quand j'appelle rsync par exemple.
si non j'a
unbewusst
On 7 sep, 15:53, unbewusst wrote:
On 7 sep, 14:37, (Luc Heinrich) wrote:
unbewusst wrote:
mais ce n'est pas suffisant...
Ce n'est pas suffisant pour faire quoi ?
-- Luc Heinrich
ben je dois ajouter .gsub(/ /, ' ')
afin que les strings de provenance file/Folder Chooser passent correctement quand j'appelle rsync par exemple.
si non j'a
(coupure je suis sur pécé...)
si non j'ai droit à un message d'erreur :
/Volumes/EMTEC file or directory doesn't exists.
ce qui est vrai car celle qui existe est :
/Volumes/EMTEC KEY avec donc une espace entre EMTEC et KEY.
ce que je trouve curieux est que j'ai d'autres folder qui ont des blancs dans leur nom, y compris d'ailleurs des caractères accentués, mais ceux-ci sont obtenus par un Dir.glob(...) de ruby et ça ne pose pas de pb quand je file le path tel quel à rsync...
j'en ai, peut-être abusivement, conclus que le traitement, ou l'encodage, des caractères n'est pas le même côté Cocoa que côt é ruby ???
j'avais essayé de mettre des "" autour de mes paths, pour les "protéger" là du coup j'ai un problème ailleurs, au niveau de l'executeWithPrivileges... ( Carbon si je ne m'abuse)
On 7 sep, 15:53, unbewusst <yvon.thora...@gmail.com> wrote:
On 7 sep, 14:37, l...@honk-honk.com (Luc Heinrich) wrote:
unbewusst <yvon.thora...@gmail.com> wrote:
mais ce n'est pas suffisant...
Ce n'est pas suffisant pour faire quoi ?
--
Luc Heinrich
ben je dois ajouter .gsub(/ /, ' ')
afin que les strings de provenance file/Folder Chooser passent
correctement quand j'appelle rsync par exemple.
si non j'a
(coupure je suis sur pécé...)
si non j'ai droit à un message d'erreur :
/Volumes/EMTEC file or directory doesn't exists.
ce qui est vrai car celle qui existe est :
/Volumes/EMTEC KEY avec donc une espace entre EMTEC et KEY.
ce que je trouve curieux est que j'ai d'autres folder qui ont des
blancs dans leur nom, y compris d'ailleurs des caractères accentués,
mais ceux-ci sont obtenus par un Dir.glob(...) de ruby et ça ne pose
pas de pb quand je file le path tel quel à rsync...
j'en ai, peut-être abusivement, conclus que le traitement, ou
l'encodage, des caractères n'est pas le même côté Cocoa que côt é
ruby ???
j'avais essayé de mettre des "" autour de mes paths, pour les
"protéger" là du coup j'ai un problème ailleurs, au niveau de
l'executeWithPrivileges... ( Carbon si je ne m'abuse)
afin que les strings de provenance file/Folder Chooser passent correctement quand j'appelle rsync par exemple.
si non j'a
(coupure je suis sur pécé...)
si non j'ai droit à un message d'erreur :
/Volumes/EMTEC file or directory doesn't exists.
ce qui est vrai car celle qui existe est :
/Volumes/EMTEC KEY avec donc une espace entre EMTEC et KEY.
ce que je trouve curieux est que j'ai d'autres folder qui ont des blancs dans leur nom, y compris d'ailleurs des caractères accentués, mais ceux-ci sont obtenus par un Dir.glob(...) de ruby et ça ne pose pas de pb quand je file le path tel quel à rsync...
j'en ai, peut-être abusivement, conclus que le traitement, ou l'encodage, des caractères n'est pas le même côté Cocoa que côt é ruby ???
j'avais essayé de mettre des "" autour de mes paths, pour les "protéger" là du coup j'ai un problème ailleurs, au niveau de l'executeWithPrivileges... ( Carbon si je ne m'abuse)
luc
unbewusst wrote:
ben je dois ajouter .gsub(/ /, ' ')
Oui merci tu l'as déjà dit.
afin que les strings de provenance file/Folder Chooser passent correctement quand j'appelle rsync par exemple.
Mais encore ?
-- Luc Heinrich
unbewusst <yvon.thoraval@gmail.com> wrote:
ben je dois ajouter .gsub(/ /, ' ')
Oui merci tu l'as déjà dit.
afin que les strings de provenance file/Folder Chooser passent
correctement quand j'appelle rsync par exemple.
afin que les strings de provenance file/Folder Chooser passent correctement quand j'appelle rsync par exemple.
Mais encore ?
-- Luc Heinrich
Erwan David
unbewusst écrivait :
On 7 sep, 14:37, (Luc Heinrich) wrote:
unbewusst wrote:
mais ce n'est pas suffisant...
Ce n'est pas suffisant pour faire quoi ?
-- Luc Heinrich
ben je dois ajouter .gsub(/ /, ' ')
afin que les strings de provenance file/Folder Chooser passent correctement quand j'appelle rsync par exemple.
À te lire j'ai plutot l'impression que tes chaînes sont bonnes (elles donnent le nom du répertoire). Par contre tu sembles lancer rsync par l'intermédiaire d'un shell. Et c'est pour le shell qu'il faut un avant l'espace, parceque c'est le shell qui interprète l'espace.
-- Erwan
unbewusst <yvon.thoraval@gmail.com> écrivait :
On 7 sep, 14:37, l...@honk-honk.com (Luc Heinrich) wrote:
unbewusst <yvon.thora...@gmail.com> wrote:
mais ce n'est pas suffisant...
Ce n'est pas suffisant pour faire quoi ?
--
Luc Heinrich
ben je dois ajouter .gsub(/ /, ' ')
afin que les strings de provenance file/Folder Chooser passent
correctement quand j'appelle rsync par exemple.
À te lire j'ai plutot l'impression que tes chaînes sont bonnes (elles
donnent le nom du répertoire). Par contre tu sembles lancer rsync par
l'intermédiaire d'un shell.
Et c'est pour le shell qu'il faut un avant l'espace, parceque c'est le
shell qui interprète l'espace.
afin que les strings de provenance file/Folder Chooser passent correctement quand j'appelle rsync par exemple.
À te lire j'ai plutot l'impression que tes chaînes sont bonnes (elles donnent le nom du répertoire). Par contre tu sembles lancer rsync par l'intermédiaire d'un shell. Et c'est pour le shell qu'il faut un avant l'espace, parceque c'est le shell qui interprète l'espace.
-- Erwan
unbewusst
On 7 sep, 16:34, Erwan David wrote:
unbewusst écrivait :
On 7 sep, 14:37, (Luc Heinrich) wrote:
unbewusst wrote:
mais ce n'est pas suffisant...
Ce n'est pas suffisant pour faire quoi ?
-- Luc Heinrich
ben je dois ajouter .gsub(/ /, ' ')
afin que les strings de provenance file/Folder Chooser passent correctement quand j'appelle rsync par exemple.
À te lire j'ai plutot l'impression que tes chaînes sont bonnes (elles donnent le nom du répertoire). Par contre tu sembles lancer rsync par l'intermédiaire d'un shell. Et c'est pour le shell qu'il faut un avant l'espace, parceque c'est le shell qui interprète l'espace.
-- Erwan
???
ben je lance rsync par l'intermédiaire d'un script ruby (mon application est rubycocoa).
ce que je trouve étrange est que les strings de provenance ruby (par Dir.glob(...) ) même si elles comportent des espaces passent tel quelles.
celles de provenance File/Folder Chooser nécessitent un devant les espaces.
alors de plus les arguments pour rsync passent par une moulinette ( C ext to Ruby ) qui opère de deux manières :
- soit l'utilisateur a besoin d'une authetification/authorization pour accéder aux privilèges root et là je passe mes arguments à une fonction Carbon "executeWithPrivileges" (de mémoire) qui accepte les arguments pour rsync sous forme d'un tableau C terminé par un NULL du genre :
- soit l'utilisateur n'a pas besoin de privilège est l'extension C pour Ruby fait un popen et retourne (comme dans le cas précédent) le fileno du pipe. MAIS, dans ce cas le mode de passage des arguments est différent, je fais une concaténation des arguments passés en intercallant des espaces entre chaque argument du genre (avec strcat en C donc) l'appel à rsync est donc, dans ce cas, du genre :
fd = popen("/path/to/rsync les args concaténés", "r") (tjs de mémoi re)
bon, je suis sur que si nje lance rsync directement par ruby (donc sans privilèges root et sans extension ruby) par un IO.popen les strings ruby (Dir.glob) passent très bien, de mémoire j'en ai une, dans mon répertoire ~/Documents, du genre "Données Utilisateur Appleworks" qui enregistrée dans un fichier de préférence (yaml) est écrite sans devant les espaces et avec les accents ajoutés après le caractère comme dans : Donne' es Utilisateur Appleworks
et ça ça marche très bien.
On 7 sep, 16:34, Erwan David <er...@rail.eu.org> wrote:
unbewusst <yvon.thora...@gmail.com> écrivait :
On 7 sep, 14:37, l...@honk-honk.com (Luc Heinrich) wrote:
unbewusst <yvon.thora...@gmail.com> wrote:
mais ce n'est pas suffisant...
Ce n'est pas suffisant pour faire quoi ?
--
Luc Heinrich
ben je dois ajouter .gsub(/ /, ' ')
afin que les strings de provenance file/Folder Chooser passent
correctement quand j'appelle rsync par exemple.
À te lire j'ai plutot l'impression que tes chaînes sont bonnes (elles
donnent le nom du répertoire). Par contre tu sembles lancer rsync par
l'intermédiaire d'un shell.
Et c'est pour le shell qu'il faut un avant l'espace, parceque c'est le
shell qui interprète l'espace.
--
Erwan
???
ben je lance rsync par l'intermédiaire d'un script ruby (mon
application est rubycocoa).
ce que je trouve étrange est que les strings de provenance ruby (par
Dir.glob(...) ) même si elles comportent des espaces passent tel
quelles.
celles de provenance File/Folder Chooser nécessitent un devant les
espaces.
alors de plus les arguments pour rsync passent par une moulinette ( C
ext to Ruby ) qui opère de deux manières :
- soit l'utilisateur a besoin d'une authetification/authorization pour
accéder aux privilèges root et là je passe mes arguments à une
fonction Carbon "executeWithPrivileges" (de mémoire) qui accepte les
arguments pour rsync sous forme d'un tableau C terminé par un NULL du
genre :
- soit l'utilisateur n'a pas besoin de privilège est l'extension C
pour Ruby fait un popen et retourne (comme dans le cas précédent) le
fileno du pipe. MAIS, dans ce cas le mode de passage des arguments est
différent, je fais une concaténation des arguments passés en
intercallant des espaces entre chaque argument du genre (avec strcat
en C donc) l'appel à rsync est donc, dans ce cas, du genre :
fd = popen("/path/to/rsync les args concaténés", "r") (tjs de mémoi re)
bon, je suis sur que si nje lance rsync directement par ruby (donc
sans privilèges root et sans extension ruby) par un IO.popen les
strings ruby (Dir.glob) passent très bien, de mémoire j'en ai une,
dans mon répertoire ~/Documents, du genre "Données Utilisateur
Appleworks" qui enregistrée dans un fichier de préférence (yaml) est
écrite sans devant les espaces et avec les accents ajoutés après le
caractère comme dans :
Donne' es Utilisateur Appleworks
afin que les strings de provenance file/Folder Chooser passent correctement quand j'appelle rsync par exemple.
À te lire j'ai plutot l'impression que tes chaînes sont bonnes (elles donnent le nom du répertoire). Par contre tu sembles lancer rsync par l'intermédiaire d'un shell. Et c'est pour le shell qu'il faut un avant l'espace, parceque c'est le shell qui interprète l'espace.
-- Erwan
???
ben je lance rsync par l'intermédiaire d'un script ruby (mon application est rubycocoa).
ce que je trouve étrange est que les strings de provenance ruby (par Dir.glob(...) ) même si elles comportent des espaces passent tel quelles.
celles de provenance File/Folder Chooser nécessitent un devant les espaces.
alors de plus les arguments pour rsync passent par une moulinette ( C ext to Ruby ) qui opère de deux manières :
- soit l'utilisateur a besoin d'une authetification/authorization pour accéder aux privilèges root et là je passe mes arguments à une fonction Carbon "executeWithPrivileges" (de mémoire) qui accepte les arguments pour rsync sous forme d'un tableau C terminé par un NULL du genre :
- soit l'utilisateur n'a pas besoin de privilège est l'extension C pour Ruby fait un popen et retourne (comme dans le cas précédent) le fileno du pipe. MAIS, dans ce cas le mode de passage des arguments est différent, je fais une concaténation des arguments passés en intercallant des espaces entre chaque argument du genre (avec strcat en C donc) l'appel à rsync est donc, dans ce cas, du genre :
fd = popen("/path/to/rsync les args concaténés", "r") (tjs de mémoi re)
bon, je suis sur que si nje lance rsync directement par ruby (donc sans privilèges root et sans extension ruby) par un IO.popen les strings ruby (Dir.glob) passent très bien, de mémoire j'en ai une, dans mon répertoire ~/Documents, du genre "Données Utilisateur Appleworks" qui enregistrée dans un fichier de préférence (yaml) est écrite sans devant les espaces et avec les accents ajoutés après le caractère comme dans : Donne' es Utilisateur Appleworks
et ça ça marche très bien.
unbewusst
On 7 sep, 16:10, (Luc Heinrich) wrote:
unbewusst wrote:
ben je dois ajouter .gsub(/ /, ' ')
Oui merci tu l'as déjà dit.
afin que les strings de provenance file/Folder Chooser passent correctement quand j'appelle rsync par exemple.
Mais encore ?
en pratique j'ai un path, celui de la clé USB qui est :
/Volumes/EMTEC KEY
ce path est obtenu par File/Folder Chooser.
si j'envoie ce path sur rsync tel quel, rsync râle car il ne trouve pas le répertoire /Volumes/EMTEC, normal il n'existe pas, donc ça veut dire, amha, que le blanc n'est pas "escapé" par <NSArray de retour du File chooser>[ 0 ].to_s
On 7 sep, 16:10, l...@honk-honk.com (Luc Heinrich) wrote:
unbewusst <yvon.thora...@gmail.com> wrote:
ben je dois ajouter .gsub(/ /, ' ')
Oui merci tu l'as déjà dit.
afin que les strings de provenance file/Folder Chooser passent
correctement quand j'appelle rsync par exemple.
Mais encore ?
en pratique j'ai un path, celui de la clé USB qui est :
/Volumes/EMTEC KEY
ce path est obtenu par File/Folder Chooser.
si j'envoie ce path sur rsync tel quel, rsync râle car il ne trouve
pas le répertoire /Volumes/EMTEC, normal il n'existe pas, donc ça veut
dire, amha, que le blanc n'est pas "escapé" par <NSArray de retour du
File chooser>[ 0 ].to_s
afin que les strings de provenance file/Folder Chooser passent correctement quand j'appelle rsync par exemple.
Mais encore ?
en pratique j'ai un path, celui de la clé USB qui est :
/Volumes/EMTEC KEY
ce path est obtenu par File/Folder Chooser.
si j'envoie ce path sur rsync tel quel, rsync râle car il ne trouve pas le répertoire /Volumes/EMTEC, normal il n'existe pas, donc ça veut dire, amha, que le blanc n'est pas "escapé" par <NSArray de retour du File chooser>[ 0 ].to_s
luc
unbewusst wrote:
si j'envoie ce path sur rsync tel quel
*COMMENT* ? Du code! Du concret! De l'exemple! C'est impossible de t'aider uniquement à partir de tes pseudo explications obscures en pseudo français!
-- Luc Heinrich
unbewusst <yvon.thoraval@gmail.com> wrote:
si j'envoie ce path sur rsync tel quel
*COMMENT* ? Du code! Du concret! De l'exemple! C'est impossible de
t'aider uniquement à partir de tes pseudo explications obscures en
pseudo français!
*COMMENT* ? Du code! Du concret! De l'exemple! C'est impossible de t'aider uniquement à partir de tes pseudo explications obscures en pseudo français!
-- Luc Heinrich
OK, je vois, je fais ça demain, je ne suis pas connecté en direct.
A +, bon dimanche !
Yvon
unbewusst
On 9 sep, 15:46, unbewusst wrote:
On 8 sep, 11:05, (Luc Heinrich) wrote:
unbewusst wrote:
si j'envoie ce path sur rsync tel quel
*COMMENT* ? Du code! Du concret! De l'exemple! C'est impossible de t'aider uniquement à partir de tes pseudo explications obscures en pseudo français!
avec authRef un pointeur sur l'AuthorizationRef obtenue ; myToolPath le path absolu de rsync ; myArguments sont grosso-modo les options vues justes au-dessus et extraites des VALUEs ruby :
VALUE m_exec_with_priv( VALUE self, VALUE toolPath, VALUE args ) { char *cToolPath; int i, len, fd;
VALUE is_auth = rb_iv_get( self, "@isAuthorized" ); if ( is_auth == Qfalse ) return Qnil;
On 9 sep, 15:46, unbewusst <yvon.thora...@gmail.com> wrote:
On 8 sep, 11:05, l...@honk-honk.com (Luc Heinrich) wrote:
unbewusst <yvon.thora...@gmail.com> wrote:
si j'envoie ce path sur rsync tel quel
*COMMENT* ? Du code! Du concret! De l'exemple! C'est impossible de
t'aider uniquement à partir de tes pseudo explications obscures en
pseudo français!
avec authRef un pointeur sur l'AuthorizationRef obtenue ;
myToolPath le path absolu de rsync ;
myArguments sont grosso-modo les options vues justes au-dessus et
extraites des VALUEs ruby :
VALUE m_exec_with_priv( VALUE self, VALUE toolPath, VALUE args ) {
char *cToolPath;
int i, len, fd;
VALUE is_auth = rb_iv_get( self, "@isAuthorized" );
if ( is_auth == Qfalse )
return Qnil;
*COMMENT* ? Du code! Du concret! De l'exemple! C'est impossible de t'aider uniquement à partir de tes pseudo explications obscures en pseudo français!
avec authRef un pointeur sur l'AuthorizationRef obtenue ; myToolPath le path absolu de rsync ; myArguments sont grosso-modo les options vues justes au-dessus et extraites des VALUEs ruby :
VALUE m_exec_with_priv( VALUE self, VALUE toolPath, VALUE args ) { char *cToolPath; int i, len, fd;
VALUE is_auth = rb_iv_get( self, "@isAuthorized" ); if ( is_auth == Qfalse ) return Qnil;