gcp (Goffi's CoPier): un outil de copie de fichier à la cp

goffi 28/09/2010, 10:28 projet Libre

gcp: outil de copie à la cp

Bon, puisque je suis coincé à Broome depuis un moment (cf la note en bas de mon avant-dernier billet), j'ai avancé un petit outil de copie de fichier à la cp dont j'avais besoin. En gros c'est un cp amélioré (enfin, il ne fait pas encore tout ce que fait le respectable ancêtre) avec barre de progression, correction des noms de fichiers au besoin, sauvegarde de la liste des fichiers à copier, etc. Je vous laisse découvrir le README, et vous pouvez me contacter au besoin.

Comme je n'ai pas trop le temps pour faire une description détaillée, je mets un lien vers mon journal linuxfr où c'est un peu plus complet: https://linuxfr.org/~Goffi/30248.html

ça se passe ici: gcp (Goffi's cp)

MIS À JOUR: suite à quelques bugs, j'ai publié une version 0.1.1 qui corrige les problèmes suivants:

- syntaxe gcp FILE FILE_DEST maintenant gérée - erreurs affichées en fin de copie - mauvaises fermetures des fichiers/du journal en cas de fichier existant - erreur lors d'envoi du chemin source via dbus (via une deuxième instance de gcp)

jlaunay 28/09/2010, 21:53

J'utilise rsync pour avoir ces fonctionnalités (bar de progression, conserver les attributs etc...) et il semblerait que ça soit légèrement plus rapide et léger que gcp

$dd if=/dev/zero of=gigtest.file bs=1MB count=1000

jlaunay@arch-desktop:~/gcp (36 fichiers 859Mb) [21:26:13]
(jobs:0) :-)
$time ./gcp gigtest.file /mnt/sdb/
Copie de 953.67 Mio 100% |#########################################################################################################| 90.12 M/s Time: 00:00:11

real 0m11.172s
user 0m3.286s
sys 0m2.483s

$/usr/bin/top -b -n 1 | grep gcp | awk '{print $9}'
53

jlaunay@arch-desktop:~/gcp (36 fichiers 859Mb) [21:26:45]
(jobs:0) :-)
$time rsync -P --no-whole-file --inplace gigtest.file /mnt/sdb/
gigtest.file
1000000000 100% 95.51MB/s 0:00:09 (xfer#1, to-check=0/1)

sent 1000122145 bytes received 31 bytes 95249731.05 bytes/sec
total size is 1000000000 speedup is 1.00

real 0m10.048s
user 0m6.670s
sys 0m3.560s

$/usr/bin/top -b -n 1 | grep rsync | awk '{print $9}'
48


author website

Goffi 01/10/2010, 05:44

jlaunay> oui probablement, surtout que gcp est en python, mais ca se tient a peu pres, et il y a des fonctionnalites que je voulais et qui m'ont pousse a coder cet outil (correction du nom pour FAT et sauvegarde des sources). Dans les rapides tests que j'ai fait, ca avait l'air de se tenir avec cp (un poil plus lent,mais rien de catastrophique.

nox> ah cool, merci :)


author website

alpha_one_x86 03/10/2010, 11:30

Bonjour, je suis le développeur d'ultracopier.
J'aimerai que tu me contacte pour parler d'un rapprochement de nos projets et d'un potentiel partenariat.
Msn/icq/gtalk, ... trouvable sur le site.


author website

PPmarcel 09/10/2010, 14:13

Bonjour Goffi.

Ce projet est une bonne idée je trouve. Tu fais la différence à quelques autre projets grâce à la gestion d'une queue de copie unique.

Je me demandais si il serait possible que qcp puisse continuer un transfert d'un fichier incomplet? Par exemple, au lieu de recommencer la copie d'un transfert de 4 Go qui a été interrompu à 95%, que l'on puisse le reprendre là où le transfert s'est arrêté?


author website

al1.kd 11/10/2010, 12:36

./gcp:232: Warning: 'with' will become a reserved keyword in Python 2.6
File "./gcp", line 232
with open("/proc/mounts",'rb') as mounts:
^
SyntaxError: invalid syntax

Que faire ?

Goffi 15/10/2010, 07:25

Désolé pour les réponses tardives, je suis sur les routes et j'ai un accès assez difficile au net en ce moment.

PPmarcel> Pourquoi pas, c'est une idée. Mais encore une fois gcp n'est pas mon projet principale (c'est mon client XMPP qui me prend le plus de temps), aussi c'est envisageable, mais à plus ou moins long terme.

al1.kd> Tu as probablement une version trop vieille de python (sûrement la 2.5). Tu peux soit installer une version plus récente (2.6 ou la 2.7 qui est sortie plus récemment), soit ajouter cette ligne au début du script (au niveau où il y a tous les "import"):

from __future__ import with_statement

Ça devrait ensuite fonctionner.


author website

fab31 18/10/2010, 18:08

Hello Goffi!
Quoi de neuf ? :)

Tu n'as pas fait pypi et c'est mal !

http://pypi.python.org/pypi?:action...

Sinon pour le future, tu peux le mettre, ça ne casse pas même si tu es sur une version récente de python...

En tt cas, content de voir que tu t'éclattes & que tu es actif :)

++ fab.

Goffi 25/10/2010, 08:21

Oh fab, content de voir que tu passes par là (évidemment sur un billlet sur un script python ;) ). Oui je sais, j'ai prévu de packager tout ça à mon retour en France (idem pour lm, autre script pour afficher les films).

++


author website

mardek 18/01/2011, 17:46

Man !! Un gros merci pour ton outils. Fini les alias pouri de cp=rsync. Encore merci

mardek 18/01/2011, 17:46

Man !! Un gros merci pour ton outils. Fini les alias pouri de cp=rsync. Encore merci

Goffi 18/01/2011, 20:45

@mardek: c'est cool si ça sert :). Par contre va peut être falloir attendre que ça gagne un peu en stabilité pour l'utiliser comme remplaçant définitif ;). Le projet est jeune, et j'ai peu de temps à y consacrer...


author website

Salut à Toi v0.0.3

goffi 19/08/2010, 17:48 GNU-Linux projet SàT jabber-xmpp Libre


Après des mois de travail dans des conditions pas toujours faciles (un ordinateur qui m'affiche un écran blanc toutes les 5 s, je suis sur les routes donc trouver un accès au net - et même de l'électricité - n'est pas toujours facile, et des choses mises de côté pour avancer le projet), voici la nouvelle version de SàT.

Bon ce n'est toujours pas utilisable par le grand public, utilisateurs avertis uniquement. Comme des captures d'écran valent parfois mieux qu'un long discours, enjoy... :)

update: comme on m'a conseillé de les ajouter, voici les liens vers les 2 journaux que j'ai posté sur DLFP, ils sont un peu plus techniques mais expliquent plus le projet:

Lord BlackFox 07/09/2010, 17:35

C'est marrant, je pensais à ce genre de projet très récemment, avec comme idée, notamment, de permettre à n'importe quelle application de proposer une fonctionnalité utilisant XMPP sans devoir à chaque fois reconfigurer tous les paramètres de compte, et ainsi que de lui éviter de devoir se reconnecter etc. (et donc éviter au développeurs de devoir gérer trop XMPP)...

Je pensais justement m'y mettre un de ces quatre. Par contre, je pencherais plus pour le C++...

Et j'adore le coup d'œil aux Bérus


author website

dawadam 24/09/2010, 20:25

bonjour
bravo pour votre client jabber, personnellement j'en ai fait un en java utilisant une bibliothèque.
J'aimerai ajouter une fonction jeu de carte et j'aimerai bien savoir comment vous avez gérer ça, peut être pouviez vous publier votre XEP personnel.
Aussi à moins d'avoir son propre serveur XMPP, je suppose que l'on ne peut gérer les règles du jeu que sur un des clients et alors cela peut poser des problèmes de triche et surtout ce n'est pas performant.
Merci de m'aiguiller.

Goffi 30/09/2010, 07:28

Salut,

j'ai fait un brouillon de XEP tres rapide, j'aimerais faire un truc un peu plus correct, en commun avec toute personne que ca interesse. Je n'aurai cependant pas le temps de m'en occuper avant Decembre...


author website

Hedy 21/11/2010, 16:00

Sympa le jeu de Tarot via XMPP
Comment peux-tu accéder à ce service (ou le mettre en place) ?

Goffi 21/11/2010, 17:44

Pour le moment, c'est plus une démonstration, c'est beaucoup trop tôt pour installer (c'est expliqué dans le fichier INSTALL). J'ai fait une pause de 2 mois dans le développement parce que j'étais en voyage, mais venant de rentrer en France, je vais rapidement reprendre SàT, et j'espère avoir une version facilement installable d'ici la fin de l'année, donc un peu de patience ;)


author website

SàT v0.0.2

goffi 10/01/2010, 08:14 GNU-Linux projet SàT jabber-xmpp

Un petit billet rapide pour signaler la sortie de la version 0.0.2 de Salut à Toi. Billet rapide car il s'agit d'une version intermédiaire, toujours destinée à un public averti, mais qui permet de montrer l'avancement (malgré les - ou plutôt grâce aux - changements dans ma vie ;) ).

Vous avez un fichier CHANGELOG dans l'archive pour une aperçu des nouveautés, et un nouveau fichier INSTALL expliquant l'installation pour un public averti (ça devrait être plus simple, un jour quelque part dans le futur).

À attendre dans la prochaine version:

  • localisation (c-à-d un système pour les traductions)
  • gestion multicompte (possibilité de se connecter à 2 serveurs en même temps)
  • si tout va bien, gestion MUC (Multi-User Chat: conversations à plusieurs)
  • peut être 1 ou 2 surprises (comprendre: je vais commencer à m'amuser sur les features)

Ça se passe ici: SàT (Salut à Toi) v0.0.2

Pour plus d'infos, se référer au billet précédent à ce sujet. N'hésitez pas à poser vos questions ou donner vos suggestions (notamment: qu'est-ce que vous attendez par ordre d'importance avant d'utiliser un tel client).

Joypad Saitek P2500

goffi 03/12/2009, 12:31 GNU-Linux projet

Juste un petit post rapide pour dire à ceux qui utilisent le pilote Saitek P2500 que j'ai codé il y a quelques années que, grâce à la philosophie du Libre, un codeur a continué le développement (je n'ai pour ma part plus de temps à y consacrer). Merci à lui. Vous pourrez le trouver sur son site: http://datacompboy.ru/

Just a quick post to say to people using the Saitek P2500 driver I used to code some years ago that, thanks to free softwares philosophy, a coder has continued the development (I personnaly have no more time for it). Thanks to him. You can find the new version on his website: http://datacompboy.ru/

Étape 1 - Phase 2

goffi 17/05/2009, 20:57 GNU-Linux projet jabber-xmpp

C'est le moment de sortir une première version d'un logiciel sur lequel je travaille par à-coups depuis quelques mois.

Donc voici SàT, en hommage au Salut à Toi des béru, qui est un client Jabber - un protocole de communication permettant notamment la messagerie instantanée, et bien plus -. Pour le moment il est adressé à un public averti: il est très jeune et fortement bogué, inutilisable pour le quotidien. C'est plus une preuve de concept.

Je passe ici les détails techniques. Juste une note sur mes raisons: la communication est essentielle - surtout à notre époque -, et j'ai de plus en plus marre de faire des concessions sur ma vie privée pour pouvoir communiquer avec mes amis. Je me suis fait avoir par tous les logiciels/sites que tout le monde connait, et j'y reste à cause de l'effet réseau. Ce n'est plus possible.
D'autre part, Jabber est un excellent protocole Libre connu depuis longtemps et très utilisé notamment dans le monde professionnel. Malheureusement il ne s'impose pas auprès de mes amis, soit parce qu'il ne connaissent pas (et c'est pas faute d'en parler), soit parce qu'il n'en voient pas l'utilité, et ce malgré de nombreux clients excellents.

Aussi j'ai voulu faire mon propre client. Oui je sais, j'aurais pu contribuer à un projet existant, mais je voulais d'une part avoir un terrain d'apprentissage pour twisted et python, d'autre part je n'en ai vu aucun qui avait l'architecture que je cherchais. Et puis c'est une brique nécessaire pour d'autres idées que j'ai en tête...
J'ai d'autres projets qui attentent que celui ci soit mature (et ça va prendre du temps), mais dans un premier temps je vais chercher à avoir un client de messagerie sûr (dans le sens que vos conversation ne vont pas transiter par une multinationale pour alimenter des pubs ou des fichiers pas avouables), indépendant, riche en fonctionnalités, et bien sûr Libre.

SàT (Salut à Toi)

souliane 21/07/2009, 15:27

Bonjour j'ai téléchargé votre logiciel Salut à Toi mais je n'arrive pas à l'ouvrir ou est le fichier EXE ? :D

Bravo !

Un petit script de transcodage

goffi 11/10/2008, 17:20 GNU-Linux projet ancien site technique

Un petit post pour dire que j'ai retrouvé un script que j'avais écrit il y a deux ans pour transcoder une vidéo utilisant un codec non lisible par VLC dans un fichier mkv. Vous pouvez le télécharger à ce lien: http://www.goffi.org/public/telecha.... Ca peut toujours servir...

Au passage j'ai retrouvé d'autres projets entamés mais non fini, dont je m'occuperai peut être à moyen terme. Pour le moment j'ai un projet qui me tient à coeur depuis un moment que je me suis décidé à commencer, j'en parlerai plus précisément si je ne l'abandonne pas avant qu'il soit utilisable :). Je suis désolé pour ceux qui utilisaient le driver SP2500, l'API du kernel change en permanence et je n'ai pas le temps ni le goût de le maintenir. Si un jour je n'ai que ça à faire je le recoderai en userspace, mais je ne promets rien et de toute manière ça ne sera pas de sitôt.

Pilote Linux pour le joypad Saitek P2500

goffi 11/10/2008, 15:40 GNU-Linux projet ancien site info_site

For english readers, you can directly download the Saitek P2500 Linux driver here.

J'ai profité de l'été pour faire un petit pilote pour le joypad Saitek P2500, qui n'était pas entièrement géré par le noyau. Ce pilote ajoute la gestion du bouton pour switcher entre le stick analogique et le stick numérique, ainsi que la gestion des vibrations.

Voilà, je vais maintenant pouvoir me mettre à plein temps sur Tales & Legends.

PS: J'ai récemment eu des attaques de SPAM, qui m'ont forcé à désactiver les commentaires pendant un moment. Pour le moment je fais un filtrage ultra basique qui a l'air de fonctionner, mais si des bots plus perfectionnés s'attaquent au site je vais devoir m'occuper de ça plus sérieusement.

MAJ: Il y avait une petite erreur de parenthèses qui est désormais corrigée. Un projet a été ouvert sur la forge du GCN, vous y trouverez les dernières corrections.

lightness1024 14/09/2006, 21:39

waii un vrai geek qui fait des pilotes, ca c'est la classe :)

me 13/10/2006, 07:01

I cant get this to compile I get the following error.
make
make -C /lib/modules/2.6.17-gentoo-r8/build M=/files/games/SP2500 modules
make[1]: Entering directory `/usr/src/linux-2.6.17-gentoo-r8'
  CC [M]  /files/games/SP2500/saitek_p2500.o
/files/games/SP2500/saitek_p2500.c:754: error: unknown field 'owner' specified in initializer
/files/games/SP2500/saitek_p2500.c:754: warning: initialization from incompatible pointer type
make[2]: *** [/files/games/SP2500/saitek_p2500.o] Error 1
make[1]: *** [_module_/files/games/SP2500] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.17-gentoo-r8'
make: *** [modules] Error 2

Goffi 13/10/2006, 10:45

The kernel API has changed in the 2.6.16 kernel: the .owner field is not needed anymore. You can delete the line 754 (.owner = THIS_MODULE,); it should then compile without error.


author website

me 13/10/2006, 14:54

Thanks!(or merci beaucoup) compiles without an issue now.

me 27/10/2006, 07:08

Ok, now that is compiles, and the modules load before usbhid, it will not run fftest.

fftest /dev/input/js1
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/js1 opened
Ioctl query: Invalid argument
This was after I did a chmod 777 on /dev/input/js1

jstest works without an issue

Goffi 27/10/2006, 10:16

You have to run fftest on eventx:
fftest /dev/input/eventx (usually event0, check the permissions).


author website

krato 27/02/2007, 14:08

Je viens de passer un temps fou à configurer cette manette qui fonctionnait bien sauf le pad qui ne réagissait pas du tout !
Ce pilote ( compilé en supprimant la ligne 754 comme conseillé plus haut ) a tout résolu. Merci Goffi !
Testé et approuvé sur Debian etch !

vinz 22/04/2007, 12:07

Bonjour, après un passage sous Feisty, je nepeux plus compiler le driver (me en supprimant la ligne 754). J'obtiens ce message après le make :
make -C /lib/modules/2.6.20-15-generic/build M=/home/vinz/SP2500/SP2500 modules
make[1]: entrant dans le répertoire « /usr/src/linux-headers-2.6.20-15-generic »
  CC [M]  /home/vinz/SP2500/SP2500/saitek_p2500.o
/home/vinz/SP2500/SP2500/saitek_p2500.c:38:26: erreur: linux/config.h : Aucun fichier ou répertoire de ce type
/home/vinz/SP2500/SP2500/saitek_p2500.c: In function ‘SP2500_input_event’:
/home/vinz/SP2500/SP2500/saitek_p2500.c:241: attention : passing argument 6 of ‘usb_fill_int_urb’ from incompatible pointer type
/home/vinz/SP2500/SP2500/saitek_p2500.c: In function ‘SP2500_upload_effect’:
/home/vinz/SP2500/SP2500/saitek_p2500.c:291: erreur: ‘struct input_dev’ has no member named ‘ff_effects_max’
/home/vinz/SP2500/SP2500/saitek_p2500.c:395: attention : passing argument 6 of ‘usb_fill_int_urb’ from incompatible pointer type
/home/vinz/SP2500/SP2500/saitek_p2500.c:396: attention : passing argument 6 of ‘usb_fill_int_urb’ from incompatible pointer type
/home/vinz/SP2500/SP2500/saitek_p2500.c:397: attention : passing argument 6 of ‘usb_fill_int_urb’ from incompatible pointer type
/home/vinz/SP2500/SP2500/saitek_p2500.c: In function ‘SP2500_close’:
/home/vinz/SP2500/SP2500/saitek_p2500.c:467: erreur: ‘struct input_dev’ has no member named ‘ff_effects_max’
/home/vinz/SP2500/SP2500/saitek_p2500.c:471: erreur: ‘struct input_dev’ has no member named ‘ff_effects_max’
/home/vinz/SP2500/SP2500/saitek_p2500.c: In function ‘SP2500_flush’:
/home/vinz/SP2500/SP2500/saitek_p2500.c:485: erreur: ‘struct input_dev’ has no member named ‘ff_effects_max’
/home/vinz/SP2500/SP2500/saitek_p2500.c: In function ‘SP2500_process_packet’:
/home/vinz/SP2500/SP2500/saitek_p2500.c:509: attention : implicit declaration of function ‘input_regs’
/home/vinz/SP2500/SP2500/saitek_p2500.c: In function ‘SP2500_probe’:
/home/vinz/SP2500/SP2500/saitek_p2500.c:660: attention : passing argument 6 of ‘usb_fill_int_urb’ from incompatible pointer type
/home/vinz/SP2500/SP2500/saitek_p2500.c:667: erreur: ‘struct input_dev’ has no member named ‘dev’
/home/vinz/SP2500/SP2500/saitek_p2500.c:677: erreur: ‘struct input_dev’ has no member named ‘upload_effect’
/home/vinz/SP2500/SP2500/saitek_p2500.c:682: erreur: ‘struct input_dev’ has no member named ‘ff_effects_max’
make[2]: *** [/home/vinz/SP2500/SP2500/saitek_p2500.o] Erreur 1
make[1]: *** [_module_/home/vinz/SP2500/SP2500] Erreur 2
make[1]: quittant le répertoire « /usr/src/linux-headers-2.6.20-15-generic »
make: *** [modules] Erreur 2
J'ai vu que le config.h n'était plus utilisé depuis le kernel 2.6.19, mais je ne sais pas trop quoi faire (et je ne sais même pas si l'erreur vient de là !)

Goffi 27/10/2007, 20:00

J'ai été extrémement occupé ces derniers mois (entrée dans la vie active, déménagement and co), désolé de n'avoir pu m'occuper des MAJ ni d'avoir répondu à tout le monde...


author website

datacompboy 11/07/2009, 21:40

Sir, please contact me by e-mail provided.

I have updated driver to latest kernel (2.6.30), but have problem with periodic -- need to know how to set up waveform.

Can you provide manual on that gamepad protocol, or just describe how to encode waveforms?

4 maximum feedbacks at time -- is that limit of pad, you you get that number from ceil? :)

Also -- where to send you updated driver, so it can be shared.


author website

datacompboy 11/07/2009, 22:51

I have published 0.9.0 driver, compatible with latest kernel at mine blog :)

If someone need it still


author website

Пещера отшельного фердопердозника 11/07/2009, 22:52

Saitek P2500 driver 0.9.0 — обновление linux драйвера для

Linux friver for Saitek P2500 gamepad supporting force feedback. Original (v.0.8.1) found at goffi.org, but it too old, and can’t be build with latest kernel. I have updated driver, now it compiles and work against 2.6.30 kernel, supporting FF_PE......


author website