Pomoc TorrentExpander skrypt dla NAS

lukjod

Entry Technician
Q Associate
2 Lipiec 2014
43
1
7
8
50
Warszawa
QNAP
TS-x64
Ethernet
1 GbE
Uzywalem tego skryptu na Popcornie c-200 (odtwarzaczu sieciowym na linuksie). Potrafil on samoczynnie rozpakowac, nastepnie oczyscic nazwe filmu, serialu czy muzyki i przeniesc folder do wlasciwefgo umiejscowienia np fimy seriale i muzyka. Mozna go bylo wywolac automatycznie po pobraniu torrenta przez transmission oraz pyloada. Tak naprawde bardzo mi go brakuje po przesiadce na qnapa a wlasciciel chyba projekt porzucil i nie odpowiada na githubie na zadne proby poprawienia skryptu generalnie po wielu walkach idalo mi sie go uruchomic ale caly czas wywala info o bashu i probuje przetwarzac katalog root zamiast wpisanego w poleceniu. Moze jest ktos kto wie jak ten skrypt dostosowac do Qnapa i pomoze bo naprawde warto. Dodatkowo skrypt potrafi wykonac dodatkowe polecenie i samoczynnie pobiera napisy z serwisu napiprojekt.

pyload.org • TorrentExpander: the all-in-one automatic script for pyLoad

Strona projektu: torrentexpander - This script is designed to be a perfect companion to the Transmission torrent client and Flexget - Google Project Hosting

po krotce:
  • Automatically extract compressed archive
  • Rename Movie & Series as you like
  • Automatically copy or move your downloads in ordered directory
  • Build .nfo for each movie file (useful with Jukebox or Movie Catalog software)
  • Download Poster from imdb
  • Download Fanart from TheMovieDB
  • Put Movies, Series and Music in different folders
  • Automatically update itself
  • Many More

aimg341.imageshack.us_img341_6311_attachmentaid480004000n.jpg
 
Systemowy Bash jest skompilowany w podstawowej (lite) wersji jak dla urządzeń zintegrowanych. Dlatego zmień interpreter skryptu, czyli pierwszą linię: #!/bin/bash na #!/opt/bin/bash.

Oczywiście Bash w Optware musi być zainstalowany:
Bash:
ipkg update
ipkg install bash binutils coreutils diffutils findutils optware-devel
 
  • Lubię to
Reakcje: kaktus
nic nie dalo caly czas mam:
Kod:
BusyBox v1.01 (2014.05.19-18:05+0000) multi-call binary

Usage: find [PATH...] [EXPRESSION]

Search for files in a directory hierarchy.  The default PATH is
the current directory; default EXPRESSION is '-print'

EXPRESSION may consist of:
        -follow         Dereference symbolic links.
        -name PATTERN   File name (leading directories removed) matches PATTERN.
        -print          Print (default and assumed).

        -type X         Filetype matches X (where X is one of: f,d,l,b,c,...)
        -perm PERMS     Permissions match any of (+NNN); all of (-NNN);
                        or exactly (NNN)
        -mtime TIME     Modified time is greater than (+N); less than (-N);
                        or exactly (N) days

BusyBox v1.01 (2014.05.19-18:05+0000) multi-call binary

Usage: find [PATH...] [EXPRESSION]

Search for files in a directory hierarchy.  The default PATH is
the current directory; default EXPRESSION is '-print'

EXPRESSION may consist of:
        -follow         Dereference symbolic links.
        -name PATTERN   File name (leading directories removed) matches PATTERN.
        -print          Print (default and assumed).

        -type X         Filetype matches X (where X is one of: f,d,l,b,c,...)
        -perm PERMS     Permissions match any of (+NNN); all of (-NNN);
                        or exactly (NNN)
        -mtime TIME     Modified time is greater than (+N); less than (-N);
                        or exactly (N) days



----------------------------------------------------
----------------------------------------------------

WELCOME TO TORRENTEXPANDER

----------------------------------------------------
----------------------------------------------------


Select Torrent Source :

/root

0 - Select current folder
1 - ..
2 - Library
3 - index_default.html

Type the ID of the Torrent Source :
zerknij na projekt filebot
Mozesz podac wiecej sczegolow dla qnapa ? Gdzie szukac implementacji?
Z gory dziekuje
 
Zauważ, że /usr/bin/find --help jest różny od /opt/bin/find --help.
Skrypt zamiast używać gnufind z /opt/bin to bierze systemowy z BusyBoxa.

Odszukaj zmienną globalną PATH i dopisz pod istniejącą:
Bash:
PATH=/opt/bin:/opt/sbin:$PATH:/opt/bin:/opt/sbin

Lub pozamieniaj wszystkie odwołania polecenia find do podając jego pełną ścieżkę.
 
  • Lubię to
Reakcje: kaktus
ok poprawilem, a co teraz jest nie tak:
# torrentexpander.sh


Use the -h or --help command if you need to see a list of all available commands


BusyBox v1.01 (2014.05.19-18:05+0000) multi-call binary

Usage: dirname FILENAME

Strips non-directory suffix from FILENAME



----------------------------------------------------
----------------------------------------------------

WELCOME TO TORRENTEXPANDER

----------------------------------------------------
----------------------------------------------------


Select Torrent Source :

/root

0 - Select current folder
1 - ..
2 - Library
3 - index_default.html

Type the ID of the Torrent Source :
 
Wstaw pod interpreterem #!/... funkcję, w której będziesz mógł sobie włączyć tryb debugowania. Np. coś takiego:
Bash:
_DEBUG=0

[ "$DEBUG" == "1" ] && _DEBUG=1
[ "$_DEBUG" == "1" ] && set -x

Skrypt uruchamiaj:
Bash:
DEBUG=1 ./torrentexpander.sh
...lub klasycznie ze zmienioną wartością DEBUG na 1

FYI:
set -x - włącza tryb śledzenia poleceń
set +x - wyłącza tryb śledzenia poleceń
 
Dzieki
odpalilem to ale jest tyle dodatkowych problemow i przy ustawianiu parametrow uprawnien ze odpuszczam przynajmniej na dzis
Moja znajomosc kodowania jest bliska zeru wiec moze ktos sie znajdzie kto przejmie projekt i to poprawi.
poki co dziekuje za pomoc
 
Aby ułatwić zainstaluj debugger (wymagany zainstalowany Optware/IPKG z App Center):

Wykonaj, aby zainstalować zestaw podstawowych narzędzi oraz narzędzia dla developerów:
Bash:
ipkg update
ipkg install binutils bsdmainutils coreutils diffutils findutils inetutils moreutils patchutils
ipkg install psutils sharutils sysfsutils textutils usbutils util-linux-ng xz-utils

ipkg install bc bzip2 c-ares curl file gawk gcc gdb getopt gettext git glib gzip lsof m4 p7zip
ipkg install patch pcre procps re2c screen sed strace svn sysstat tar termcap
ipkg install tmux tree tz unrar unzip vim vnstat wget-ssl which whois yasm zip zlib

ipkg install gnutls-dev libc-dev libcurl-dev ncurses-dev ncursesw-dev openssl-dev pcre-dev
ipkg install optware-devel

ipkg install emacs22 qemacs uemacs

Skompiluj bashdb:
Bash:
cd /share/Public
wget http://pool.qnapclub.pl/projects/tools/bashdb/bashdb-3.1-0.09.tar.gz
tar zxvf bashdb-3.1-0.09.tar.gz
rm bashdb-3.1-0.09.tar.gz

cd bashdb-3.1-0.09

OPTWARE_PATH=/opt/bin:/opt/sbin:/opt/local/bin:/opt/local/sbin
PATH=$OPTWARE_PATH:$PATH:$OPTWARE_PATH

sed -i configure -e "s:/usr/bin/file:/opt/bin/file:"
./configure --prefix=/opt/local --with-bash=/opt/bin/bash
make && make install

cd ..
rm -rf bashdb-3.1-0.09

Aby debugować skrypt, uruchom:
Bash:
bashdb /share/Public/torrentexpander.sh
upload_2014-7-3_3-24-48.png

Wpisz: s<ENTER>
Polecenie powtarzasz kolejnym przyciśnięciem ENTER, bez jego wpisywania.
upload_2014-7-3_3-27-24.png


(h - help, q - quit)


Możesz uruchomić dodatkowe okno terminala i przekierować na nie wyjście terminala debuggera.
W tym celu na drugim oknie terminala wpisz tty.
upload_2014-7-3_3-34-16.png


Z pierwszego okna, uruchom debugger wskazując podany terminal:
Bash:
bashdb -t /dev/pts/3 --trace /share/Public/torrentexpander.sh
 
  • Lubię to
Reakcje: kaktus