• Applications
  • [Discussion] Medusa: téléchargement automatique d'épisodes de série

au secours 🙂

j'ai installé medusa hier et pendant la nuit il a récup 125 épisodes .... (aie mon ratio)

je ne lui ai pas demandé et normalement tout était réglé sur skipped sauf pour les nouveaux épisodes.

avez vous une idée merci

    Nebukad peux tu remonter le bug sur github stp? merci pour tes remarques. Je passe uniquement par Python en daemon désormais.

    D'ailleurs, je suis curieux, quels providers as-tu sur Jackett qui te manquent sur Medusa?

    Cognotte peut être as-tu récupéré des propers pour des épisodes qui n'avaient qu'été snatched.

    merci pour la réponse. j'ai une erreur qui n'arrete pas de revenir :

    2017-11-01 20:57:37 ERROR SHOWQUEUE-REFRESH :: [b16e0e5] 256111: Error while refreshing show Saving Hope. Error: unsupported locale setting
    Traceback (most recent call last):
    File "/opt/medusa/medusa/show_queue.py", line 629, in run
    self.show.refresh_dir()
    File "/opt/medusa/medusa/tv/series.py", line 1744, in refresh_dir
    self.load_episodes_from_dir()
    File "/opt/medusa/medusa/tv/series.py", line 928, in load_episodes_from_dir
    cur_episode = self.make_ep_from_file(os.path.join(self.location, media_file))
    File "/opt/medusa/medusa/tv/series.py", line 1354, in make_ep_from_file
    filepath)
    File "/opt/medusa/medusa/tv/series.py", line 1223, in should_refresh_file
    new_quality = Quality.name_quality(filepath, anime)
    File "/opt/medusa/medusa/common.py", line 302, in name_quality
    return Quality.extend_quality(name)
    File "/opt/medusa/medusa/common.py", line 401, in
    extend_quality
    quality = Quality.quality_from_file_meta(file_path)
    File "/opt/medusa/medusa/common.py", line 422, in quality_from_file_meta
    knowledge = knowit.know(file_path)
    File "/opt/medusa/ext/knowit/api.py", line 49, in know
    return provider.describe(video_path, context)
    File "/opt/medusa/ext/knowit/providers/mediainfo.py", line 330, in describe
    data = self.executor.extract_info(video_path).to_data()
    File "/opt/medusa/ext/knowit/providers/mediainfo.py", line 89, in extract_info
    xml = self.execute(filename)
    File "/opt/medusa/ext/knowit/providers/mediainfo.py", line 165, in
    execute
    locale.setlocale(locale.LC_CTYPE, locale.getdefaultlocale())
    File "/usr/lib/python2.7/locale.py", line 579, in setlocale
    return _setlocale(category, locale)
    Error: unsupported locale setting

    vous connaissez ?

    Soumets ton problème sur github, pas ici 😉

    5 jours plus tard

    Bonjour la compagnie,

    je viens vers vous pour avoir vos lumieres sur un soucis vraiment pénible. je viens de reinstaller from scratch 2 seedbox (debian 8 & 9) et depuis impossible pour Medusa d'envoyer des torrents vers rtorrent.

    J'ai utilisé les scripts d'@ex_rat pour les deux seedbox et j'ai les erreurs suivantes :

    rTorrent: Unable to send Torrent
    Error while sending torrent: <Fault -506: "Method 'load_raw' not defined">

    J'ai deja ouvert une issue sur git hub (https://github.com/pymedusa/Medusa/issues/3223) Mais le dev est un peu dans le flou car il a exactement la même configuration que moi et pas de souci pour lui. Il me demande de vérifier si la méthode load_raw est utilisable mais je sais pas comment faire.

    D"autre personnes ont elles utilisé le scritp pour debian 9 d'ex_rat et pour qui Medusa fonctionnel ?

    A votre bon cœur 😁

      therealcorwin je suis conscient que ça ne fixe pas la fonctionnalité en elle même, mais tu peux toujours passer par le trou noir qui envoie les torrents dans le répertoire watch de rtorrent

        adaur

        Merci Adaur pour ton retour. C'est ce à quoi je tends pour palier à ce souci. Par contre comment j'envoie mon torrent à ma seedbox de manière simple?

        Pour info, je travaille avec Mediarox un des contributeurs de Medusa pour résoudre ce souci. Maintenant le torrent est bien envoyé à la seedbox mais il reste en statut arrêté et n'a pas de label ;( Mais on avance !!

        Bonjour à tous,

        Je suis entrain de passer de SickRage à Medusa, et j’essaye d’essayer le passer en multi-utilisateur en me basant sur ce tuto : https://mondedie.fr/d/6674-Tuto-Sickrage-multi-utilisateurs mais je bloque...

        Donc j’ai créé un fichier /etc/init.d/medusa_garrus (en me basant sur le tuto de xataz) dont voici le contenu :

         
        #!/bin/bash
        #
        ### BEGIN INIT INFO
        # Provides:          medusa_garrus
        # Required-Start:    $local_fs $network $remote_fs
        # Required-Stop:     $local_fs $network $remote_fs
        # Should-Start:      $NetworkManager
        # Should-Stop:       $NetworkManager
        # Default-Start:     2 3 4 5
        # Default-Stop:      0 1 6
        # Short-Description: Daemon pour Medusa
        # Description:       Permets le lancement de Medusa en multi-utilisateurs
        ### END INIT INFO
        
        # A modifier
        APP_USER=garrus
        APP_INSTALL=/opt/medusa
        
        
        
        # Pas touche
        NAME=medusa_$APP_USER
        DESC="Medusa pour $APP_USER"
        APP_HOME=$APP_INSTALL
        APP_DATA=$APP_HOME/data/$APP_USER
        APP_OPTS=--config=$APP_DATA/config.ini
        APP_PIDFILE=$APP_DATA/Medusa.pid
        
        
        # default
        RUN_AS=${APP_USER-medusa}
        APP_PATH=${APP_HOME-/opt/medusa}
        DATA_DIR=${APP_DATA-/opt/medusa}
        PID_FILE=${APP_PIDFILE-/var/run/PyMedusa/Medusa.pid}
        DAEMON=${PYTHON_BIN-/usr/bin/python2.7}
        EXTRA_DAEMON_OPTS=${APP_OPTS-}
        EXTRA_SSD_OPTS=${SSD_OPTS-}
        
        PID_PATH=`dirname $PID_FILE`
        DAEMON_OPTS=" start.py -q --daemon --nolaunch --pidfile=${PID_FILE} --datadir=${DATA_DIR} ${EXTRA_DAEMON_OPTS}"
        
        test -x $DAEMON || exit 0
        set -e
        
        if [ ! -d $PID_PATH ]; then
            mkdir -p $PID_PATH
            chown $RUN_AS $PID_PATH
        fi
        
        if [ ! -d $DATA_DIR ]; then
            mkdir -p $DATA_DIR
            chown $RUN_AS $DATA_DIR
        fi
        
        if [ -e $PID_FILE ]; then
            PID=`cat $PID_FILE`
            if ! kill -0 $PID > /dev/null 2>&1; then
                echo "Removing stale $PID_FILE"
                rm $PID_FILE
            fi
        fi
        
        d_start() {
            echo "Starting $DESC"
            start-stop-daemon -d $APP_PATH -c $RUN_AS $EXTRA_SSD_OPTS --start --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS
        }
        
        d_stop() {
            echo "Stopping $DESC"
            start-stop-daemon --stop --pidfile $PID_FILE --retry 15
        }
        
        d_status() {
                if [ -e $PID_FILE ]
                then
                        if [ $(cat $PID_FILE) -eq $(ps -ef | grep $PID_FILE | grep -v grep | awk '{print $2}') ]
                        then
                                echo "$DESC is running"
                        else
                                echo "$DESC is stopping"
                        fi
                else
                        echo "$DESC is stopping"
                fi
        
        }
        
        case "$1" in
            start)
                d_start
                ;;
            stop)
                d_stop
                ;;
        
        restart|force-reload)
            d_stop
            sleep 2
            d_start
            ;;
        status)
            d_status
            ;;
        *)
            N=/etc/init.d/$NAME
            echo "Usage: $N {start|stop|restart|status|force-reload}" >&2
            exit 1
            ;;
        esac
        
        exit 0
        

        Mais lorsque je vais sur l’interface web j’ai le message suivant :

        Traceback (most recent call last):
          File "/opt/medusa/ext/tornado/web.py", line 1488, in _execute
            result = self.prepare()
          File "/opt/medusa/ext/tornado/web.py", line 2223, in prepare
            raise HTTPError(self._status_code)
        HTTPError: HTTP 404: Not Found
        

        réponse un peu basique, le fichier existe t il bien et les droits sont ils les bons ?

          therealcorwin Merci pour l'aide, mais oui le fichier est bien au bon endroit et avec les bons droits...

            Garrus
            Salut
            jai fait ça mais non testé

            #
            ### BEGIN INIT INFO
            # Provides:          medusa
            # Required-Start:    $local_fs $network $remote_fs
            # Required-Stop:     $local_fs $network $remote_fs
            # Should-Start:      $NetworkManager
            # Should-Stop:       $NetworkManager
            # Default-Start:     2 3 4 5
            # Default-Stop:      0 1 6
            # Short-Description: starts instance of Medusa
            # Description:       starts instance of Medusa using start-stop-daemon
            ### END INIT INFO
            
            # Load the VERBOSE setting and other rcS variables
            . /lib/init/vars.sh
            
            # Define LSB log_* functions.
            # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
            . /lib/lsb/init-functions
            
            
            ## Don't set -e
            ## Don't edit this file!
            ## Edit user configuation in /etc/default/medusa to change
            ##
            ## APP_USER=         #$RUN_AS, username to run medusa under, the default is medusa
            ## APP_GROUP=        #$RUN_GROUP, group to run medusa under, the default is medusa
            ## APP_HOME=         #$APP_PATH, the location of start.py, the default is /opt/medusa
            ## APP_DATA=         #$DATA_DIR, the location of sickbeard.db, cache, logs, the default is /opt/medusa
            ## APP_PIDFILE=      #$PID_FILE, the location of medusa.pid, the default is /var/run/PyMedusa/Medusa.pid
            ## PYTHON_BIN=      #$DAEMON, the location of the python binary, the default is /usr/bin/python2.7
            ## APP_OPTS=         #$EXTRA_DAEMON_OPTS, extra cli option for medusa, i.e. " --config=/home/medusa/config.ini"
            ## SSD_OPTS=        #$EXTRA_SSD_OPTS, extra start-stop-daemon option like " --group=users"
            ##
            ## EXAMPLE if want to run as different user
            ## add APP_USER=username to /etc/default/medusa
            ## otherwise default medusa is used
            
            
            # A modifier
            MD_USER=garrus
            MD_INSTALL=/opt/medusa
            
            
            
            # Pas touche
            NAME=Medusa_$MD_USER
            MD_HOME=$MD_INSTALL
            MD_DATA=$MD_HOME/data/$MD_USER
            MD_OPTS=--config=$MD_DATA/config.ini
            MD_PIDFILE=$MD_DATA/sickrage.pid
            
            
            
            # App name
            DESC="Medusa pour $MD_USER"
            
            ## The defaults
            # Run as username
            RUN_AS=${MD_USER-medusa}
            
            # Run as group
            RUN_GROUP=${MD_USER-medusa}
            
            # Path to app APP_HOME=path_to_app_start.py
            APP_PATH=${MD_HOME-/opt/medusa}
            
            # Data directory where sickbeard.db, cache and logs are stored
            DATA_DIR=${MD_DATA-/opt/medusa}
            
            # Path to store PID file
            PID_FILE=${MD_PIDFILE-/var/run/PyMedusa/Medusa.pid}
            
            # path to python bin
            DAEMON=${PYTHON_BIN-/usr/bin/python2.7}
            
            # Extra daemon option like: APP_OPTS=" --config=/home/medusa/config.ini"
            EXTRA_DAEMON_OPTS=${MD_OPTS-}
            
            # Extra start-stop-daemon option like START_OPTS=" --group=users"
            EXTRA_SSD_OPTS=${SSD_OPTS-}
            ##
            
            PID_PATH=$(dirname $PID_FILE)
            DAEMON_OPTS=" start.py -q --daemon --nolaunch --pidfile=${PID_FILE} --datadir=${DATA_DIR} ${EXTRA_DAEMON_OPTS}"
            
            ##
            
            test -x $DAEMON || exit 0
            
            # Create PID directory if not exist and ensure the Medusa user can write to it
            if [ ! -d $PID_PATH ]; then
                mkdir -p $PID_PATH
                chown $RUN_AS $PID_PATH
            fi
            
            if [ ! -d $DATA_DIR ]; then
                mkdir -p $DATA_DIR
                chown $RUN_AS $DATA_DIR
            fi
            
            if [ -e $PID_FILE ]; then
                PID=`cat $PID_FILE`
                if ! kill -0 $PID > /dev/null 2>&1; then
                    [ "$VERBOSE" != no ] && echo "Removing stale $PID_FILE"
                    rm -f $PID_FILE
                fi
            fi
            
            start_medusa() {
                [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
                start-stop-daemon -d $APP_PATH -c $RUN_AS --group=${RUN_GROUP} $EXTRA_SSD_OPTS --start --quiet --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS
                RETVAL="$?"
                case "${RETVAL}" in
                    # Service was started or was running already
                    0|1) [ "${VERBOSE}" != no ] && log_end_msg 0 ;;
                    # Service couldn't be started
                    2) [ "${VERBOSE}" != no ] && log_end_msg 1 ;;
                esac
                [ "${RETVAL}" = 2 ] && return 2
                return 0
            }
            
            stop_medusa() {
                [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
                start-stop-daemon --stop --pidfile $PID_FILE --quiet --retry TERM/30/KILL/5
                RETVAL="$?"
                case "${RETVAL}" in
                    # Service was stopped or wasn't running
                    0|1) [ "${VERBOSE}" != no ] && log_end_msg 0 ;;
                    # Service couldn't be stopped
                    2) [ "${VERBOSE}" != no ] && log_end_msg 1 ;;
                esac
                [ "${RETVAL}" = 2 ] && return 2
                [ -f "${PID_FILE}" ] && rm -f ${PID_FILE}
                return 0
            }
            
            case "$1" in
                start)
                    start_medusa
                    exit $?
                    ;;
                stop)
                    stop_medusa
                    exit $?
                    ;;
            
                restart|force-reload)
                    stop_medusa
                    sleep 2
                    start_medusa
                    exit $?
                    ;;
                status)
                    status_of_proc -p "$PID_FILE" "$DAEMON" "$DESC"
                    exit $?
                    ;;
                *)
                    N=/etc/init.d/$NAME
                    echo "Usage: $N {start|stop|restart|force-reload}" >&2
                    exit 1
                    ;;
            esac
            
            exit 0

            il te manque /lib/lsb/init-functions qui sont pour des variables.

              xavier Merci pour ta réponse, j'ai testé mais je me retrouve avec les mêmes erreurs...

                bjr, n'étant pas un spécialiste et comme j'ai peur de merdouiller, je peux laisser sickrage et installer aussi medusa? merci

                Bien sûr que tu peux, il faut juste faire attention à tes paramétrages afin d'éviter de doublonner le snatch

                  Garrus
                  Déjà on peut ce dire que le fichier est ok.
                  Peut-être un problème de version de python ?

                  fana les paramétrages à quel endroit? merci

                  Ce que je veux dire c'est qu'il faut que tu fasses attention à comment tu compte utiliser sickrage et medusa en même temps. Histoire de ne pas snatcher 2 fois les mêmes choses en fait c'est tout. Perso en ce moment je teste medusa également avec sickrage à côté, du coup j'ai pas les mêmes séries d'un côté et de l'autre.

                  [inconnu] Hum à priori la version de python est bonne, d'autant que lorsque je démarre Médusa avec le script "mono utilisateur" ça fonctionne bien...

                    adaur Comment faire pour associer jacket à medusa

                    en effet, le NZB custom correspond exclusivement à une recherche RSS

                    merci par avance.

                    adaur Je n'ai pas compris d'ou vient le dossier /var/run/PyMedusa dont on doit changer le propriétaire.

                    Sinon je crois que tu as un path faux: python /var/www/medusa/SickBeard.py -d qui devrait être si j'ai bien compris python /chemin/vers/votre/installation/medusa/SickBeard.py -d.

                    Pour le moment lorsque j'essaie de faire un service medusa start, j'ai une erreur "Access Denied", j'imagine qu'il manque un sudo ici?