Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 wink

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 wink

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 big_smile 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 wink

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

Yannick_LM a écrit :

ç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 wink
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 wink

#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 wink


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

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-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é wink

#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:

Qid a écrit :

(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

Yannick_LM a écrit :
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

Qid a écrit :
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-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é wink

...
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 wink


Trucs et astuces pour Vim
Ma web page  avec des trucs dessus ...

Hors ligne