#1 Le 14/02/2009, à 17:22
- Yannick_LM
pycp: cp avec une barre de progression
Salut à tous,
Un beau jour, je me suis retrouvé à devoir copier/coller un tas de fichiers assez gros d'une partition à une autre, et je me suis dit : « Ah, ça serait cool si cp pouvait afficher une petite barre de progression »
J'ai alors pensé qu'un petit script qui lancerait cp en arrière plan, et regarderait la taille des fichiers sources et destination pour afficher une barre de progression ne serait pas très compliqué à écrire.
Ainsi naquit pycp.
Comme j'avais envie d'en apprendre un peu plus sur le packaging, (*) j'ai aussi ajouté python-progressbar et pycp sur mon PPA:
https://launchpad.net/~yannick-lm/+archive/ppa
Pour l'installer:
ajoutez :
deb http://ppa.launchpad.net/yannick-lm/ppa/ubuntu intrepid main
dans vos dépôts.
Le dépôt étant signé, vous devrez faire:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 4AA52547F377528799CA77DFD74197842C3E94CB
avant de mettre à jour la liste des paquets et d'installer pycp.
Note: Il est aussi sur AUR, si il y a des archers qui passent dans le coin, et le paquet s'appelle toujours pycp.
Voilà, le but premier est d'apprendre deux trois choses sur python et le packaging, donc, vous pouvez simplement considérer tout cela comme un exercice
Pour ceux qui préfèrent, les sources sont aussi directement disponibles ici: http://gitorious.org/projects/pycp
Bon, pour l'instant pycp ne peut copier qu'un fichier à la fois, mais, qui sait, ça pourrait toujours vous être utile.
(*) EDIT: merci à jeromeg et gpocentek pour leur aide précieuse
Dernière modification par Yannick_LM (Le 14/02/2009, à 17:57)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#2 Le 14/02/2009, à 21:54
- little_boy81200
Re : pycp: cp avec une barre de progression
Oui c'est sympa, ca peut donner beaucoup d'idée !
Pour le problème de la copie de plusieurs fichiers, c'est a dire, la copie à la suite ou copier 2 fichiers en meme temps ?
#3 Le 15/02/2009, à 01:31
- Yannick_LM
Re : pycp: cp avec une barre de progression
Pour clarifier:
pycp « machin » « truc »
ne fonctionne que si « machin » existe et est un fichier.
(ie pas un répertoire), et que si « truc » n'existe pas, ou est un répertoire (auquel cas, machin est copié dans truc).
Voili voilou
Dernière modification par Yannick_LM (Le 15/02/2009, à 01:31)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#4 Le 15/02/2009, à 08:10
- al_boon
Re : pycp: cp avec une barre de progression
il y a un prog en cours de dev pour cela, si tu t y connais un peu tu peu peut etre contribuer il leur faut de l aide sous gnome :
ils en parlent là http://forum.ubuntu-fr.org/viewtopic.php?pid=2371813
viva ubuntu ^^ et deux personnes converties !!
ps: il est pas beau mon fils ? (cf mon avatar)
Hors ligne
#5 Le 15/02/2009, à 13:28
- Yannick_LM
Re : pycp: cp avec une barre de progression
Hum, non, non, l'idée est pas d'avoir un truc « graphique », j'avais juste besoin d'un truc en ligne de commandes.
Et si tu prend les dernières versions de Nautilus et de Dolphin, il y a tout ce qu'il faut comme barres de progression
Sinon, histoire de ne pas réinventer la roue sans arrêt, j'ai trouvé un petit soft qui fait ça beaucoup mieux que le mien, j'ai nommé: vcp.
Comme je vous aime bien, je vous l'ai aussi packagé.
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#6 Le 24/02/2009, à 00:41
- Yannick_LM
Re : pycp: cp avec une barre de progression
Petit up pour vous annoncer que la version 2.1 de pycp est disponible sur mon PPA.
Au menu : possibilité de copier plusieurs fichiers à la fois, et aussi les répertoires.
Prévu pour dans pas longtemps: un "pymv".
Have fun!
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#7 Le 25/02/2009, à 02:37
- n3o51
Re : pycp: cp avec une barre de progression
Bonjour Top ce pycp merci
Welcome to the real world
________________________________
Hors ligne
#8 Le 25/02/2009, à 11:12
- Qid
Re : pycp: cp avec une barre de progression
ça peu etre vachement interessant ça wai ...
il y aurait moyen que l'un de vous face
un screen de la bete en action ?
juste pour voir
et la différence avec vcp
(que je connais pas non plus)
elle est ou ?
#9 Le 25/02/2009, à 22:18
- Yannick_LM
Re : pycp: cp avec une barre de progression
ça a cette tête-là:
yannick@lorient [0] [~]
z$ pycp /media/Medias/ubuntu-8.04-i386.iso /mnt/ubuntu/home/yannick [09-02-25 22:16]
/media/Medias/ubuntu-8.04-i386.iso -> /mnt/ubuntu/home/yannick/ubuntu-8.04-i386.iso
100% [###################################################################] - 33.18 M/s | Time: 00:00:02
et vcp ressemble à:
VCP 2.2
Copying: ubuntu-8.04-i386.iso (1/1)
Copied: 63.48 mB / 63.48 mB
ETR: ? sec :0 B/sec
[========================================================================== 100% ===========================================================================]
[===========================================================================================================================================================]
- Messages -
1 file copied, 0 failed
EDIT:
Sinon vcp est écrit en c, et utilise ncurses
(c'est à dire que ça va occuper tout l'espace disponible sur ton terminal), alors que pycp est écrit en python et affiche ses messages « normalement »
Dernière modification par Yannick_LM (Le 25/02/2009, à 22:49)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#10 Le 27/02/2009, à 08:46
- Qid
Re : pycp: cp avec une barre de progression
ça a cette tête-là:
yannick@lorient [0] [~] z$ pycp /media/Medias/ubuntu-8.04-i386.iso /mnt/ubuntu/home/yannick [09-02-25 22:16] /media/Medias/ubuntu-8.04-i386.iso -> /mnt/ubuntu/home/yannick/ubuntu-8.04-i386.iso 100% [###################################################################] - 33.18 M/s | Time: 00:00:02
et vcp ressemble à:
VCP 2.2 Copying: ubuntu-8.04-i386.iso (1/1) Copied: 63.48 mB / 63.48 mB ETR: ? sec :0 B/sec [========================================================================== 100% ===========================================================================] [===========================================================================================================================================================] - Messages - 1 file copied, 0 failed
j'ai une préférence pour pycp donc
par contre au vu du nombre de copie
à à comparer au nombre de deplacement que je fais
je crois que je vais attendre pymv pour installer
le depot sur mes config
#11 Le 28/02/2009, à 12:31
- Yannick_LM
Re : pycp: cp avec une barre de progression
je crois que je vais attendre pymv pour installer
le depot sur mes config
ah ah!
Je vais essayer de faire ça ce week-end, donc.
EDIT: hop, c'est fait.
(Faudra encore un peu de temps avant que le paquet soit construit, et les miroirs synchronisés)
EDIT2: Quid, Qid ?
(jeux de mots pourri, désolé)
Juste pour savoir si ça fonctionne chez vous.
Dernière modification par Yannick_LM (Le 04/03/2009, à 23:35)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#12 Le 07/03/2009, à 19:47
- leck
Re : pycp: cp avec une barre de progression
sinon peu être avec le programme pv on peut avoir ça :
http://blog.bmaron.net/index.php?post/2009/02/10/A-la-d%C3%A9couverte-de-5-Commandes-Linux-Sympa
Hors ligne
#13 Le 07/03/2009, à 19:55
- Yannick_LM
Re : pycp: cp avec une barre de progression
Yup : voir le code suivant
pcp(){
cat "$1" | pv -s $(ls -s --block-size 1 | cut -d ' ' -f 1) > "$2"
}
On m'a dit la même chose sur un autre forum, mais avec le script utilisant pv correspondant
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#14 Le 08/03/2009, à 12:48
- Qid
Re : pycp: cp avec une barre de progression
sinon peu être avec le programme pv on peut avoir ça :
http://blog.bmaron.net/index.php?post/2009/02/10/A-la-d%C3%A9couverte-de-5-Commandes-Linux-Sympa
ah wai pas bete !
il marche pas mal et en plus pour tous type de "mouvement de fichier"
(testé avec un transfere scp)
reste que j'ai pas réussi à affichier le temp restant meme avec l'aide du man ...
mais bon je l'ai quand meme adopté
#15 Le 08/03/2009, à 19:45
- Yannick_LM
Re : pycp: cp avec une barre de progression
Bon, petit up pour vous prévenir que la version 3.1 de pycp est disponible:
* utilisation de /bin/cp à la place de "cp"
* un peu de refactoring: utilisation envisageable pour d'autres outils
* l'option -o disparaît, et pycp fonctionne de manière plus proche de cp:
les fichiers sont écrasés par défaut, sauf si on passe l'option -i, auquel cas
on demande confirmation à chaque fois
EDIT:
(testé avec un transfert scp)
Mais y'a déjà une barre de progression dans scp , non ?
Dernière modification par Yannick_LM (Le 08/03/2009, à 19:49)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#16 Le 08/03/2009, à 20:45
- Qid
Re : pycp: cp avec une barre de progression
Qid a écrit :(testé avec un transfert scp)
Mais y'a déjà une barre de progression dans scp , non ?
eh non ... ...
et pv semble passe partout c'est plus simple que d'implementer la progression dans toutes les action
#17 Le 14/03/2009, à 13:49
- Qid
Re : pycp: cp avec une barre de progression
leck a écrit :sinon peu être avec le programme pv on peut avoir ça :
http://blog.bmaron.net/index.php?post/2009/02/10/A-la-d%C3%A9couverte-de-5-Commandes-Linux-Sympaah wai pas bete !
il marche pas mal et en plus pour tous type de "mouvement de fichier"
(testé avec un transfere scp)
reste que j'ai pas réussi à affichier le temp restant meme avec l'aide du man ...
mais bon je l'ai quand meme adopté
...
bon bah non au final ça devine assez désagréable en plus : la barre de prograssion elle veut pas bougé et le temp qui est affiché il y a pas moyen c'est elui qui reste ... bref du coups je trouve que ça marche pas ... ça crain ça ... rhoooo ... mais comment faire pour avoir sur un mouvement de fichier et le pourcentage restant et le temp restant et pourquoi pas oui le temp deja passé ... ... bon ne meme temp je vous avoue que la je fais pas dans la dentelle - mais c'est aussi bien pour ça que la j'en ai besoin - je suis entrain de deplacer les donner d'un dd vers un autre ...
#18 Le 14/03/2009, à 20:43
- Yannick_LM
Re : pycp: cp avec une barre de progression
mais comment faire pour avoir sur un mouvement de fichier et le pourcentage restant et le temps restant et pourquoi pas oui le temps déjà passé
C'est relativement facile avec pycp. J'ai juste mis par défaut les informations que j'avais envie d'avoir, mais c'est pas dur de modifier tout ça.
Peut-être à la limite un jeu d'options permettant de contrôler l'apparence de la barre de progression ?
Je suis ouvert à toute proposition
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne