Outils du site

Outils pour utilisateurs


p2p:rtorrent:pyroscope-rtorrent-ps:script-rtmanager (lu 2580 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
p2p:rtorrent:pyroscope-rtorrent-ps:script-rtmanager [le 24/01/2017 à 11h25]
111110101011 21-24 janvier. Essai de couleurs, remplacement de qq PATH, début d'usage de templates
p2p:rtorrent:pyroscope-rtorrent-ps:script-rtmanager [le 27/01/2017 à 23h11] (Version actuelle)
111110101011 [Screenshot]
Ligne 1: Ligne 1:
 ====== rtmanager.sh ====== ====== rtmanager.sh ======
  
-Un script fait maison pour accueillir les utilisateurs d'une session SSH sur la seedbox, c'est pas du très propreencore en développement, et je n'ai pas de dépot git.+Un script fait maison pour accueillir les utilisateurs d'une session SSH sur la seedbox
 + 
 +Le script est encore en développement, pas de dépot git sous la main. 
 + 
 +Le script ne se suffit pas à lui-même, il se complète avec les formats et les templates de sortie de rtcontrol. Vous devrez aussi ajuster les permissions des répertoires. 
 + 
 +===== Screenshot ===== 
 + 
 +Bon ok, c'est du terminal hein... mais y'a un peu de couleur ;) 
 + 
 +{{:p2p:rtorrent:pyroscope-rtorrent-ps:rtmanager_janv2017.png?400&direct|C'est beau}} 
 + 
 + 
 + 
 +===== Formats ===== 
 + 
 +<code ini config.ini> 
 +# Affiche nompourcentage de completiontaille, débit descendant et montant. 
 +f1      = {{default ESC= '\x1B'}}{{d.name}}{{ESC}}[0m | {{ESC}}{{if d.is_complete}}[32m{{else}}[33m{{endif}}{{d.done|int}}%{{ESC}}[0m | {{ESC}}[35m{{d.size|sz|strip}}{{ESC}}[0m | {{if not d.is_complete}} {{ESC}}[36m{{d.down|sz|strip}} ⇩{{ESC}}[0m{{endif}} {{ESC}}[31m{{d.up|sz|strip}} ⇧{{ESC}}[0m 
 + 
 +# Affiche uniquement le ratio et le nom. 
 +f2      = {{default ESC= '\x1B'}}{{d.name}} | {{ESC}}{{if d.ratio < 0.75}}[31m{{elif d.ratio < 1.0}}[33m{{else}}[32m{{endif}}{{d.ratio}}{{ESC}}[0m 
 +</code> 
 + 
 +  * ESC est un échappement qui précède les codes couleurs. 
 +  * [99m sont les codes couleurs de bash 
 +  * le format peut se définir de la même façon qu'un template, on peut utiliser des structures conditionelles, etc. 
 + 
 + 
 +===== Script =====
  
 Date: 24 janvier 2017 Date: 24 janvier 2017
Ligne 15: Ligne 44:
 RTCFGOPTS='--config-dir /home/rtorrentuser/.pyroscope -D rtorrent_rc=/home/rtorrentuser/.rtorrent.rc' RTCFGOPTS='--config-dir /home/rtorrentuser/.pyroscope -D rtorrent_rc=/home/rtorrentuser/.rtorrent.rc'
 RTCMD="$RTBIN/rtcontrol $RTCFGOPTS" RTCMD="$RTBIN/rtcontrol $RTCFGOPTS"
 +RTPATHCOMPLETE="/mnt/local/1/downloads/rtorrent/complete"
 +RTPATHWORK="/mnt/local/1/downloads/rtorrent/work"
 +RTPATHWATCH="/mnt/local/1/downloads/rtorrent/watch"
 +RTPATHWATCHHANDLED="/mnt/local/1/downloads/rtorrent/watch_archives"
  
 function rt_is_admin() { function rt_is_admin() {
Ligne 33: Ligne 66:
 else else
  RTUSER="$USER"  RTUSER="$USER"
 + # à vérif: si je mets le / final, il ne match pas
 + RTCMD="$RTCMD custom_targetdir=!$RTPATHCOMPLETE/flexget*"
 fi fi
  
-RTPATHCOMPLETE="/mnt/local/1/downloads/rtorrent/complete" 
-RTPATHWORK="/mnt/local/1/downloads/rtorrent/work" 
-RTPATHWATCH="/mnt/local/1/downloads/rtorrent/watch" 
-RTPATHWATCHHANDLED="/mnt/local/1/downloads/rtorrent/watch_handled" 
-RTUSERS="david fab kris" 
  
  
Ligne 85: Ligne 115:
 ### RTCONTROL ### RTCONTROL
  
 +
 +RTF1="custom_targetdir=$RTPATHCOMPLETE/$RTUSER*"
  
 function rt_print_user_torrents() { function rt_print_user_torrents() {
- #$RTCMD -"custom_targetdir=*$RTPATHCOMPLETE/$RTUSER/*+ $RTCMD -qo f1 "$RTF1" 
- $RTCMD -qO flistall.txt "custom_targetdir=*$RTPATHCOMPLETE/$RTUSER/*"+
 + 
 +function rt_print_users_torrents() { 
 + $RTCMD -qo f1 "*"
 } }
  
 function rt_print_user_incomplete() { function rt_print_user_incomplete() {
- $RTCMD -"custom_targetdir=*$RTPATHCOMPLETE/$RTUSER/*" "is_complete=no"+ $RTCMD -qo f1 "$RTF1" "is_complete=no"
 } }
  
 function rt_print_user_complete() { function rt_print_user_complete() {
- $RTCMD -"custom_targetdir=*$RTPATHCOMPLETE/$RTUSER/*" "is_complete=yes"+ $RTCMD -qo f1 "$RTF1" "is_complete=yes
 +
 + 
 +function rt_print_user_ratio() { 
 + $RTCMD -qo f2 "$RTF1"
 } }
  
 function rt_print_user_trackers() { function rt_print_user_trackers() {
- $RTCMD -q "custom_targetdir=*$RTPATHCOMPLETE/$RTUSER/*" -o alias -s alias \* | uniq -c+ $RTCMD -q "*" -o alias -s alias \* | uniq -c 
 +
 + 
 +function rt_print_recent_complete() { 
 + 
 + echo -e "Téléchargements complétés récemment (< 7 jours) :\n" 
 + 
 + $RTCMD -qo f1 "*" "is_complete=yes" "completed=-1w" 
 + 
 + echo ""
 } }
  
Ligne 125: Ligne 173:
  echo "Exemple: cité*peur"  echo "Exemple: cité*peur"
  
- echo -"rechercher> "+ echo -ne $CD"rechercher>$C0 "
  read critere  read critere
  
Ligne 133: Ligne 181:
  
  resultats=$(mktemp)  resultats=$(mktemp)
- $RTCMD -"custom_targetdir=*$RTPATHCOMPLETE/$RTUSER/*" "$critere" | tee $resultats + $RTCMD -qo f1 "$RTF1" "$critere" | tee $resultats 
- let nbresu=$(cat $resultats | wc -l)/2+ let nbresu=$(cat $resultats | wc -l)
  fi  fi
  
Ligne 164: Ligne 212:
  echo "Êtes-vous sûr de vouloir supprimer ces téléchargements ? (o/O/y/Y/n/N)"  echo "Êtes-vous sûr de vouloir supprimer ces téléchargements ? (o/O/y/Y/n/N)"
  if [ "$action" = "cull" ]; then  if [ "$action" = "cull" ]; then
- echo -n '!'+ echo -ne "$CA!$C0"
  fi  fi
  
- echo -"supprimer> "+ echo -ne $CD"supprimer>$C0 "
  read confirmation  read confirmation
  
  case $confirmation in  case $confirmation in
  o|O|y|Y)  o|O|y|Y)
- $RTCMD -q "realpath=*$RTPATHCOMPLETE/$RTUSER/*" "$critere" --"$action" --yes && let cptsuppr="$cptsuppr+1" # > /dev/null+ $RTCMD -q "custom_targetdir=*$RTPATHCOMPLETE/$RTUSER/*" "$critere" --"$action" --yes && let cptsuppr="$cptsuppr+1" # > /dev/null
  # --cull ou --purge)  # --cull ou --purge)
  ;;  ;;
Ligne 305: Ligne 353:
 function list_user_watch() { function list_user_watch() {
  
- echo "Fichiers .torrent dans $RTUSER/watch :"+ echo -e $C4"Fichiers .torrent dans $RTUSER/watch :"$C0
  
  find "$RTPATHWATCH/$RTUSER" -iname '*.torrent' | cut -d '/' -f 9-  find "$RTPATHWATCH/$RTUSER" -iname '*.torrent' | cut -d '/' -f 9-
Ligne 313: Ligne 361:
 function list_user_watch_handled() { function list_user_watch_handled() {
  
- echo "Fichiers .torrent archivés de $RTUSER :"+ echo -e $C4"Fichiers .torrent archivés de $RTUSER :"$C0
  
  find "$RTPATHWATCHHANDLED/$RTUSER" -iname '*.torrent' | cut -d '/' -f 9-  find "$RTPATHWATCHHANDLED/$RTUSER" -iname '*.torrent' | cut -d '/' -f 9-
Ligne 337: Ligne 385:
 cat << EOF cat << EOF
  
-: Lister tous les téléchargements +  [$RTUSER] L : Lister tes téléchargements 
- : Lister les téléchargements incomplets +  [$RTUSER] I : Lister tes téléchargements incomplets 
- : Lister les téléchargements terminés +  [$RTUSER] C : Lister tes téléchargements terminés 
- : Rechercher des téléchargements selon leur nom +  [$RTUSER] S : Rechercher des téléchargements selon leur nom 
- Statistiques des trackers +  [all] A Lister tous les téléchargements 
- +  [$RTUSER] D : Supprimer des téléchargements sans supprimer les fichiers terminés 
- : Supprimer des téléchargements sans supprimer les fichiers terminés +  [$RTUSER] DD : /!\ Supprimer des téléchargements, y compris les fichiers terminés 
- : /!\ Supprimer des téléchargements, y compris les fichiers terminés +  [all] O : Lister les fichiers complets de tous les utilisateurs 
- +  [$RTUSER] W : Lister les fichiers .torrent dans watch 
-: Lister les fichiers complets de tous les utilisateurs +  [$RTUSER] R Afficher le ratio des téléchargements
- : Lister les fichiers .torrent dans watch +
- 10 Lister les fichiers .torrent archivés+
  
 EOF EOF
Ligne 357: Ligne 403:
 cat << EOF cat << EOF
  
- q ou Q : Pour quitter ce menu (accès au shell) +  Q : Pour quitter ce menu (accès au shell) 
- m ou M : Pour réafficher ce menu +  M : Pour réafficher ce menu 
- z ou Z : Pour afficher un dinosaure+  Z : Pour afficher un dinosaure
   
 EOF EOF
Ligne 370: Ligne 416:
 cat << EOF cat << EOF
  
- a ou A : Lister les fichiers orphelins (non chargés dans rtorrent) +  or : Lister les fichiers orphelins (non chargés dans rtorrent) 
- b ou B : Déplacer les fichiers qui pour une raison X sont restés dans /work/ +  mv : Déplacer les fichiers qui pour une raison X sont restés dans /work/ 
- c ou C : Retirer les liens symboliques cassés de /work/+  sy : Retirer les liens symboliques cassés de /work/
  
 EOF EOF
Ligne 400: Ligne 446:
 function menu_ask() { function menu_ask() {
  
- echo -"> "+ echo -ne "$CD>$C0 "
  
  read choice  read choice
  
  case $choice in  case $choice in
- 1)+ l|L)
  rt_print_user_torrents  rt_print_user_torrents
  ;;  ;;
- 2)+ i|I)
  rt_print_user_incomplete  rt_print_user_incomplete
  ;;  ;;
- 3)+ c|C)
  rt_print_user_complete  rt_print_user_complete
  ;;  ;;
- 4)+ s|S)
  rt_user_search  rt_user_search
  ;;  ;;
- 5+ a|A
- rt_print_user_trackers+ rt_print_users_torrents
  ;;  ;;
- 6)+ d|D)
  rt_del_user_torrents purge  rt_del_user_torrents purge
  ;;  ;;
- 7)+ dd|DD)
  rt_del_user_torrents cull  rt_del_user_torrents cull
  ;;  ;;
- 8)+ o|O)
  list_users_complete  list_users_complete
  ;;  ;;
- 9)+ w|W)
  list_user_watch  list_user_watch
- ;; 
- 10) 
  list_user_watch_handled  list_user_watch_handled
  ;;  ;;
- a|A)+ r|R) 
 + rt_print_user_ratio 
 + ;; 
 + or)
  rt_is_admin && rt_print_orphans || menu_unknown_option  rt_is_admin && rt_print_orphans || menu_unknown_option
  ;;  ;;
- b|B)+ mv)
  rt_is_admin && rt_move_work_torrents || menu_unknown_option  rt_is_admin && rt_move_work_torrents || menu_unknown_option
  ;;  ;;
- c|C)+ sy)
  rt_is_admin && rt_del_broken_symlinks || menu_unknown_option  rt_is_admin && rt_del_broken_symlinks || menu_unknown_option
  ;;  ;;
  q|Q)  q|Q)
- echo "Entrez rtmanager.sh pour relancer le script de gestion rtorrent."+ echo -e "Entrez$CB rtmanager.sh$C0 pour relancer le script de gestion rtorrent."
  exit 0  exit 0
  ;;  ;;
Ligne 467: Ligne 514:
 menu_welcome menu_welcome
 menu_actions menu_actions
 +
 +rt_print_recent_complete
  
 #test_colors "Youpi!" #test_colors "Youpi!"
p2p/rtorrent/pyroscope-rtorrent-ps/script-rtmanager.1485253530.txt.gz · Dernière modification: le 24/01/2017 à 11h25 de 111110101011