[XBMC Live / Transmission] Script help

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Hey,

Allereerst ben ik een Linux noob. Buiten wat aanmodderen in de Terminal onder OSX en op m'n Nokia n900 en het installeren van de Grub bootloader had ik voor gisteren nog nooit met linux of shell/bash scripts gewerkt, dus gelieve niet de spot met me te drijven als ik domme dingen vraag ofzo.

Het probleem:
Ik heb gisteren een Mini-ITX systeempje in elkaar gezet dat als mediacenter moet dienen. Hiervoor heb ik er de XBMC Live-versie op geïnstalleerd, wat als ik het goed begrijp eigenlijk gewoon een gestripte Ubuntu install zonder windowmanager is.
De bedoeling is dat deze PC 's nachts automatisch nieuwe afleveringen van Tv series binnenhaalt, deze downloadt, en vanaf het moment dat ze 100% binnenzijn het .avi of .mkv bestand verplaatsen naar een map die door xbmc gecontroleerd wordt, zodat ze automatisch toegevoegd worden aan de mediabibliotheek.

Wat heb ik reeds gedaan, wat werkt er al? (Alles gebeurt via SSH op een Mac PC)
- transmission-daemon geïnstalleerd (Web-interface is te benaderen vanop de Mac)
- Samba share ingesteld voor alle media-mappen op de XBMC PC
- cron job ingesteld die de transmission-daemon start
- Het settings.json bestand van de transmission-daemon zo aangepast dat de IP's van de toestellen waarmee ik alles wil kunnen bedienen in de whitelist staan, en een watchdir ingesteld, zodat als er torrents in een bepaalde map gezet worden, deze automatisch gestart worden.
- Op mijn Mac draait dan ted, die automatisch de benodigde .torrent bestanden in de watchdir plaats via het samba netwerk.
- Transmission is dan zo ingesteld dat om 1 uur 's nachts de bandbreedte opengeschroefd wordt, waardoor de torrents dan gestart worden.

- volgende scriptje draait als cron job om de 30 minuten:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# !/bin/bash

# Dit scriptje zoekt torrents die klaar zijn in transmission, verwijderd deze uit de qeue, en verplaatst de mediabestanden naar een andere map

TRANSDIR=/media/B2D6F97FD6F943DF/Downloads

MOVEDIR=/media/B2D6F97FD6F943DF/Complete

# torrentlijst verkrijgen
TORRENTLIST=`transmission-remote -l | sed -e '1d;$d;s/^ *//' | cut -s -d " " -f1`

# De controle en de mogelijke acties voor iedere torrent in de qeue
for TORRENTID in $TORRENTLIST
do
  echo "Checking torrent ID $TORRENTID..."

  STARTED=`transmission-remote -t $TORRENTID -i | grep "Id: $TORRENTID"`
  echo " - started state = $STARTED"

  COMPLETED=`transmission-remote -t $TORRENTID -i | grep "100%"`
  echo " - completed state = $COMPLETED"

  if [ "$STARTED" != "" ]; then
    echo "Torrent #$TORRENTID is started"
    if [ "$COMPLETED" = "" ]; then
      echo "Torrent #$TORRENTID is still running"
    else
      echo "Torrent #$TORRENTID is $COMPLETED"
      transmission-remote -t $TORRENTID --stop
      transmission-remote -t $TORRENTID --move $MOVEDIR
      transmission-remote -t $TORRENTID --remove
      chown -R Ken $MOVEDIR/*
    fi
  fi
done


Dit script zorgt er dan voor dat torrents die 100% binnen zijn automatisch uit transmission verwijderd worden, en dat het mediabestand verplaatst wordt naar volgende map: /media/B2D6F97FD6F943DF/Complete

Wat ontbreekt er nu nog?
Wel, het probleem is nu dat de .torrent bestanden niet automatisch uit de watchdir verdwijnen, waardoor elke keer als de daemon gestart wordt de torrents terug opnieuw starten (Het te downloaden bestand is immers ondertussen verplaatst naar een andere map.)

Weet er iemand een scriptje, of een optie binnen transmission die dit voor elkaar kan krijgen?

Dank bij voorbaat,

Ken

Verwijderd

Topicstarter
Zo, ik heb de oplossing net zelf gevonden, nadat ik er toch al enkele uren mee aan het prutsen was.

Blijkbaar moest ik gewoon in de het "settings.json" bestandje van de transmission-daemon volgende regel toevoegen:

code:
1
trash-original-torrent-files: true,


En alles werkt nu zoals gehoopt!