Guest User

Filebot e XdccDownloader

a guest
Mar 31st, 2015
291
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 9.31 KB | None | 0 0
  1. RIASSUNTO DELLA STORIA:
  2. parser.py accetta come argomento il nome del file appena scaricato, si occupa di lanciare un subprocess per non intasare tutto che controlla se l'estensione del file è un file video, tramite un semplice script in python contenuto in videoparser.py. Nel caso in cui il file risulti essere un file video, si procede con l'esecuzione di "/opt/bin/ordine NOMEFILE".
  3.  
  4. /opt/bin/ordine è il vero artefice della magia, visto che si occupa di controllare che effettivamente esista quel file nella cartella di download e lancia FileBot con i miei personali parametri di ordinamento... Inoltre, ho modificato /opt/bin/ordine in modo che se non viene specificato alcun nome, parte filebot alla ricerca di file video nella cartella di download e li ordina tutti (occhio, che se avete download in corso, vi sposterà anche quelli!)
  5.  
  6. ### DOVETE METTERE IL VOSTO PERSONALE COMANDO filebot... SE VOLETE USARLO!####
  7. (Per chi non conoscesse filebot, invito tutti a googlarlo, è un ordinatore di film/serie tv/anime... molto evoluto e personalizzabile, supporta anche la riga di comando, una benedizione per chi come me gira su un server synology)
  8.  
  9.  
  10. Comando postprocess di XdccDownloader:
  11. /usr/bin/python /opt/share/videoparse/parser.py $(FILE_NAME)
  12.  
  13.  
  14. OUTPUT LOG DI XDCCDOWNLOADER:
  15. Provenienza Messaggio
  16. Azione fine download    Eseguo:/usr/bin/python /opt/share/videoparse/parser.py Naruto.-.174.-.La.tecnica.dei.contanti.-.Incensurato.By_MonDo-AnIme.mkv Risultato:Searching for file Naruto.-.174.-.La.tecnica.dei.contanti.-.Incensurato.By_MonDo-AnIme.mkv : the file is here Parameter: pushover = ***** Parameter: subtitles = it Parameter: skipExtract = y Parameter: artwork = y Parameter: clean = y Parameter: music = n Parameter: seriesFormat = SERIE TV/{n}/{'Stagione '+s}/{n} {sxe} - {t} {ac}-{vc} {vf}({sdhd}) Parameter: movieFormat = FILM/{n} ({y})/{n} {y} {ac}-{vc} {vf} ({sdhd}) Parameter: exec = synoindex -a "{file}" Argument: /volume1/video/da_ordinare/Naruto.-.174.-.La.tecnica.dei.contanti.-.Incensurato.By_MonDo-AnIme.mkv Input: /volume1/video/da_ordinare/Naruto.-.174.-.La.tecnica.dei.contanti.-.Incensurato.By_MonDo-AnIme.mkv Naruto.-.174.-.La.tecnica.dei.contanti.-.Incensurato.By_MonDo-AnIme.mkv [series: Naruto, movie: null] Group: [tvs:naruto, mov:null, anime:null] => [Naruto.-.174.-.La.tecnica.dei.contanti.-.Incensurato.By_MonDo-AnIme.mkv] Get [Italian] subtitles for 1 files Looking up subtitles by hash via OpenSubtitles Rename episodes using [TheTVDB] Auto-detected query: [Naruto] Fetching episode data for [Naruto] Fetching episode data for [Naruto Shippuden] [MOVE] Rename [/volume1/video/da_ordinare/Naruto.-.174.-.La.tecnica.dei.contanti.-.Incensurato.By_MonDo-AnIme.mkv] to [/volume1/video/SERIE TV/Naruto/Stagione 4/Naruto 4x43 - La tecnica dei contanti AAC-x264 360p(SD).mkv] Processed 1 files Fetching series artwork for [Naruto] to [/volume1/video/SERIE TV/Naruto/Stagione 4] Fetching /volume1/video/SERIE TV/Naruto/Stagione 4/poster.jpg => {id=966964, BannerMirror=http://thetvdb.com/banners/,">http://thetvdb.com/banners/,">http://thetvdb.com/banners/,">http://thetvdb.com/banners/, BannerPath=posters/78857-10.jpg, BannerType=poster, BannerType2=680x1000, Language=en, Rating=10.0000, RatingCount=2} Fetching /volume1/video/SERIE TV/Naruto/Stagione 4/banner.jpg => {id=27205, BannerMirror=http://thetvdb.com/banners/,">http://thetvdb.com/banners/,">http://thetvdb.com/banners/,">http://thetvdb.com/banners/, BannerPath=graphical/78857-g3.jpg, BannerType=series, BannerType2=graphical, Language=en, Rating=7.0000, RatingCount=6} Fetching /volume1/video/SERIE TV/Naruto/Stagione 4/fanart.jpg => {id=301331, BannerMirror=http://thetvdb.com/banners/,">http://thetvdb.com/banners/,">http://thetvdb.com/banners/,">http://thetvdb.com/banners/, BannerPath=fanart/original/78857-32.jpg, BannerType=fanart, BannerType2=1920x1080, Colors=|233,229,228|168,134,107|122,108,107|, Language=en, Rating=6.2727, RatingCount=11, SeriesName=false, ThumbnailPath=_cache/fanart/original/78857-32.jpg, VignettePath=fanart/vignette/78857-32.jpg} Fetching /volume1/video/SERIE TV/Naruto/Stagione 4/clearart.png => {type=clearart, id=14358, url=http://assets.fanart.tv/fanart/tv/78857/clearart/naruto-4eb4d78a83fcb.png, lang=en, likes=1} Fetching /volume1/video/SERIE TV/Naruto/Stagione 4/logo.png => {type=clearlogo, id=739, url=http://assets.fanart.tv/fanart/tv/78857/clearlogo/Naruto-78857.png, lang=en, likes=1} Fetching /volume1/video/SERIE TV/Naruto/Stagione 4/landscape.jpg => {type=tvthumb, id=4745, url=http://assets.fanart.tv/fanart/tv/78857/tvthumb/N_78857.jpg, lang=en, likes=0} Execute: synoindex -a "/volume1/video/SERIE TV/Naruto/Stagione 4/Naruto 4x43 - La tecnica dei contanti AAC-x264 360p(SD).mkv" Sending Pushover notification Done ヾ(@⌒ー⌒@)ノ
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24. CONTENUTO /opt/share/videoparse/parser.py:
  25.  
  26.  
  27. import sys
  28. from videoparse import run_filebot_if_video
  29. if len (sys.argv) >= 2 :
  30.        run_filebot_if_video(sys.argv[1])
  31.  
  32.  
  33. CONTENUTO /opt/share/videoparse/videoparse.py:
  34.  
  35. import subprocess
  36. def is_video_file(filename):
  37.        video_file_extensions = (
  38. '.264', '.3g2', '.3gp', '.3gp2', '.3gpp', '.3gpp2', '.3mm', '.3p2', '.60d', '.787', '.89', '.aaf', '.aec', '.aep', '.aepx',
  39. '.aet', '.aetx', '.ajp', '.ale', '.am', '.amc', '.amv', '.amx', '.anim', '.aqt', '.arcut', '.arf', '.asf', '.asx', '.avb',
  40. '.avc', '.avd', '.avi', '.avp', '.avs', '.avs', '.avv', '.axm', '.bdm', '.bdmv', '.bdt2', '.bdt3', '.bik', '.bin', '.bix',
  41. '.bmk', '.bnp', '.box', '.bs4', '.bsf', '.bvr', '.byu', '.camproj', '.camrec', '.camv', '.ced', '.cel', '.cine', '.cip',
  42. '.clpi', '.cmmp', '.cmmtpl', '.cmproj', '.cmrec', '.cpi', '.cst', '.cvc', '.cx3', '.d2v', '.d3v', '.dat', '.dav', '.dce',
  43. '.dck', '.dcr', '.dcr', '.ddat', '.dif', '.dir', '.divx', '.dlx', '.dmb', '.dmsd', '.dmsd3d', '.dmsm', '.dmsm3d', '.dmss',
  44. '.dmx', '.dnc', '.dpa', '.dpg', '.dream', '.dsy', '.dv', '.dv-avi', '.dv4', '.dvdmedia', '.dvr', '.dvr-ms', '.dvx', '.dxr',
  45. '.dzm', '.dzp', '.dzt', '.edl', '.evo', '.eye', '.ezt', '.f4p', '.f4v', '.fbr', '.fbr', '.fbz', '.fcp', '.fcproject',
  46. '.ffd', '.flc', '.flh', '.fli', '.flv', '.flx', '.gfp', '.gl', '.gom', '.grasp', '.gts', '.gvi', '.gvp', '.h264', '.hdmov',
  47. '.hkm', '.ifo', '.imovieproj', '.imovieproject', '.ircp', '.irf', '.ism', '.ismc', '.ismv', '.iva', '.ivf', '.ivr', '.ivs',
  48. '.izz', '.izzy', '.jss', '.jts', '.jtv', '.k3g', '.kmv', '.ktn', '.lrec', '.lsf', '.lsx', '.m15', '.m1pg', '.m1v', '.m21',
  49. '.m21', '.m2a', '.m2p', '.m2t', '.m2ts', '.m2v', '.m4e', '.m4u', '.m4v', '.m75', '.mani', '.meta', '.mgv', '.mj2', '.mjp',
  50. '.mjpg', '.mk3d', '.mkv', '.mmv', '.mnv', '.mob', '.mod', '.modd', '.moff', '.moi', '.moov', '.mov', '.movie', '.mp21',
  51. '.mp21', '.mp2v', '.mp4', '.mp4v', '.mpe', '.mpeg', '.mpeg1', '.mpeg4', '.mpf', '.mpg', '.mpg2', '.mpgindex', '.mpl',
  52. '.mpl', '.mpls', '.mpsub', '.mpv', '.mpv2', '.mqv', '.msdvd', '.mse', '.msh', '.mswmm', '.mts', '.mtv', '.mvb', '.mvc',
  53. '.mvd', '.mve', '.mvex', '.mvp', '.mvp', '.mvy', '.mxf', '.mxv', '.mys', '.ncor', '.nsv', '.nut', '.nuv', '.nvc', '.ogm',
  54. '.ogv', '.ogx', '.osp', '.otrkey', '.pac', '.par', '.pds', '.pgi', '.photoshow', '.piv', '.pjs', '.playlist', '.plproj',
  55. '.pmf', '.pmv', '.pns', '.ppj', '.prel', '.pro', '.prproj', '.prtl', '.psb', '.psh', '.pssd', '.pva', '.pvr', '.pxv',
  56. '.qt', '.qtch', '.qtindex', '.qtl', '.qtm', '.qtz', '.r3d', '.rcd', '.rcproject', '.rdb', '.rec', '.rm', '.rmd', '.rmd',
  57. '.rmp', '.rms', '.rmv', '.rmvb', '.roq', '.rp', '.rsx', '.rts', '.rts', '.rum', '.rv', '.rvid', '.rvl', '.sbk', '.sbt',
  58. '.scc', '.scm', '.scm', '.scn', '.screenflow', '.sec', '.sedprj', '.seq', '.sfd', '.sfvidcap', '.siv', '.smi', '.smi',
  59. '.smil', '.smk', '.sml', '.smv', '.spl', '.sqz', '.srt', '.ssf', '.ssm', '.stl', '.str', '.stx', '.svi', '.swf', '.swi',
  60. '.swt', '.tda3mt', '.tdx', '.thp', '.tivo', '.tix', '.tod', '.tp', '.tp0', '.tpd', '.tpr', '.trp', '.ts', '.tsp', '.ttxt',
  61. '.tvs', '.usf', '.usm', '.vc1', '.vcpf', '.vcr', '.vcv', '.vdo', '.vdr', '.vdx', '.veg','.vem', '.vep', '.vf', '.vft',
  62. '.vfw', '.vfz', '.vgz', '.vid', '.video', '.viewlet', '.viv', '.vivo', '.vlab', '.vob', '.vp3', '.vp6', '.vp7', '.vpj',
  63. '.vro', '.vs4', '.vse', '.vsp', '.w32', '.wcp', '.webm', '.wlmp', '.wm', '.wmd', '.wmmp', '.wmv', '.wmx', '.wot', '.wp3',
  64. '.wpl', '.wtv', '.wve', '.wvx', '.xej', '.xel', '.xesc', '.xfl', '.xlmv', '.xmv', '.xvid', '.y4m', '.yog', '.yuv', '.zeg',
  65. '.zm1', '.zm2', '.zm3', '.zmv'  )
  66.  
  67.        if filename.lower().endswith((video_file_extensions)):
  68.                return True
  69.        else:
  70.                return False
  71.  
  72. def run_filebot_if_video(name):
  73.        if is_video_file(name):
  74.                subprocess.call(["/opt/bin/ordine", name])
  75.  
  76.  
  77.  
  78.  
  79. CONTENUTO /opt/bin/ordine:
  80. #!/bin/ash
  81.        if [ "$#" -eq 0 ];then
  82.         echo "Ordine Generale... "
  83.         filebot -script........... <---- QUI SOSTITUITE CON IL VOSTRO SCRIPT PERSONALE
  84.  
  85.         else
  86.                         while [ "$2" != "" ]; do
  87.                         shift
  88.                         done
  89.  
  90.                 if [ -f "/volume1/video/da_ordinare/$1" ];then <---- QUI SOSTITUITE CON LA VOSTRA CARTELLA DI DOWNLOAD LASCIANDO IL /$1 ALLA FINE DEL PERCORSO!
  91.                 echo "Searching for file $1 : the file is here"
  92.                 filebot -script............<---- QUI SOSTITUITE CON IL VOSTRO SCRIPT PERSONALE
  93.  
  94.                 else
  95.                 echo "Searching for file $1 : no such file"
  96.                 fi
  97.  
  98.         fi
  99.  
  100.  
  101. exit 0
Add Comment
Please, Sign In to add comment