[Serie tv] The Man in the High Castle – Un finale inspiegabile

Il celeberrimo romanzo ucronico «La svastica sul sole» è stato uno dei tanti capolavori di Philip K. Dick i cui scritti sono stati successivamente la base di lavori cinematografici e televisivi più o meno fortunati e il racconto distopico in cui i nazisti e i giapponesi si dividono i territori degli Stati Uniti da vincitori della 2a Guerra Mondiale ha sempre solleticato i produttori.

Già agli inizi del 2010 l’inglese BBC annunciò un primo progetto per una miniserie di quattro puntate. Tre anni dopo fu il canale SyFy che affidò un incarico esplorativo allo showrunner Frank Spotnitz di X-Files e a Ridley Scott affinché ne scrivessero un soggetto con l’ambizione di bissare il successo cinematografico di Blade Runner del regista britannico.

Infine arrivarono gli Amazon Studios che acquisirono il progetto per la creazione di una serie televisiva vera e propria da trasmettere in esclusiva sulla propria piattaforma di streaming.

Il primo episodio dell’Uomo nell’alto castello (The Man in the High Castle) è stato rilasciato il 15 gennaio 2015 e rimane tutt’ora l’episodio pilota più visto di sempre per una serie di Amazon Video. Il cui successo ha permesso la produzione di quattro stagioni per un totale di quaranta episodi. L’ultima stagione è stata rilasciata il 15 novembre 2019.

Del romanzo di Philip Dick nella serie tv di Amazon rimane lo scenario delle super potenze naziste e giapponesi che occupano gli USA e i nomi dei personaggi principali. Il meta-romanzo «La cavalletta non si alzerà più» diventa qui una serie di cinegiornali e filmati provenienti da un universo alternativo capace di risollevare lo spirito degli americani soverchiati dall’oppressione degli invasori. Mentre l’importanza vaticistica de I Ching si perde in qualche scena riempitiva. A conti fatti è una serie di genere tutto sommato interessante e di qualità con parecchi colpi di scena e ben interpretata da un cast eccezionale. In particolare rimangono impresse la bravura di Rufus Sewell e della bella e capace Alexa Davalos che sono riusciti a dare vita a due convincenti avversari, cosi come la carica spirituale infusa nella sua interpretazione da uno strepitoso Cary-Hiroyuki Tagawa e l’ambiguità del personaggio interpretato dall’altrettanto bravo Joel de la Fuente.

Di seguito il mio sfogo personale dopo aver visto l’episodio finale della serie… (chi l’ha visto capirà).

SPOILER! SPOILER! (Da non leggere se non hai visto la fine della serie e/o pensi di vederla un giorno)

Cosa c’è di più odioso per uno showrunner di non lasciare modo di capire il finale di una serie? Capisco terminare con un cliffhanger quando vuoi lasciarti la porta aperta a un’eventuale ripresa… ma quando ti commissionano l’episodio finale di una serie, hai il sacrosanto dovere di chiudere tutta la storia e le eventuali sottotrame. Lo spettatore ha il diritto di dare degna ‘sepoltura’ ai personaggi che ha amato/odiato per tanto tempo o almeno si merita di sapere che fine fanno. Invece Frank Spotnitz ha scelto, o meglio così ha tentato di spiegare all’inebetita fanbase, che la degna conclusione di questa serie è quella di essere oscura e indecifrabile, come la vita reale.
Ma va a quel paese, va!
Dopo che Juliana riesce finalmente ad eliminare il crudele John Smith così da scongiurare l’attacco nazista ai neonati territori orientali abbandonati dai giapponesi, i nazisti in nordamerica inspiegabilmente capitolano e il portale si apre da solo. Lasciamo pure perdere che quella che per trentanove puntate è stata la dittatura più feroce e assoluta che si potesse immaginare si sgretola invece in pochissimi attimi, ma vabbé. Quello che proprio non va giù è la fine del portale con tutta quella gente (comune?) che pare lo attraversi senza porsi nessuna domanda. Con i nostri erori che li vedono arrivare e rimangono lì impalati in preda all’estasi. Boh! Significa forse che i due mondi paralleli sono oramai uniti e che il portale è a disposizione di tutti? Ma se ci hanno fatto capire che possono viaggiare solo se la propria controparte nell’altro universo non esiste più significa che questi sono già tutti defunti da questa parte? E da dove arrivano? Nell’universo alternativo è costume che la gente si riunisca nelle profondità delle miniere in attesa di varcare portali?

Di tutti i finali quello proposto è il più banale immaginabile. Quasi non avessero più idee.
A mio parere forse avrebbero fatto meglio se avessero organizzato una seduta spiritica e chiesto lumi direttamente a Philip K. Dick.

[Serie Tv] Tv inglese con «Sanditon» e «A Confession»

Da appassionato di serie tv mi capita di tanto in tanto di seguirne alcune trasmesse sui canali britannici. Seppur la Brexit è oramai alle porte con il rischio di allontanare l‘UK dall’Europa, la qualità delle loro produzioni televisive rimane indubbiamente un esempio per tutto il nostro continente. E non si tratta solo della forza produttiva di un colosso come la BBC, di cui sto seguendo al momento la coinvolgente «The Capture».

Non di recente la mia attenzione si è focalizzata sul meno blasonato canale concorrente ITV. Se l’anno scorso ho apprezzato la loro miniserie thriller «The Strangers» con una superlativa interpretazione del bravo John Simm nella parte di un professore universitario in viaggio ad Hong Kong per indagare sulla doppia vita della defunta consorte, quest’anno sto seguendo la piacevole serie in costume «Sanditon» tratta dal’omonimo romanzo incompiuto dell’autrice Jan Austen e «A Confession» un drama poliziesco che si regge tutto sulla bravura di Martin Freeman.


Sanditon

Benché l’autrice Jane Austen è venuta a mancare dopo aver scritto solo una bozza dei primi undici capitoli di questo romanzo del 1817 pubblicato postumo, la storia è abbastanza intrigante e i personaggi già ben delineati che lo sceneggiatore Andrew Davies (già noto per Guerra e Pace, I miserabili e Orgoglio e Pregiudizio) non ha certo faticato per tirarci fuori un period drama (così vengono detti gli sceneggiati in costume) con i contro fiocchi.

PLOT – E’ la storia della giovane Charlotte Heywood che dalla campagna del Sussex si trova a trascorrere un periodo di vacanza a Sanditon ospite dei coniugi Parker. Mr Parker è impegnato a rendere la cittadina di mare la nuova mecca del turismo nascente, grazie ai capitali dell’anziana ricca vedova Lady Denham. Charlotte viene quindi a contatto con una serie di personaggi che nella trasposizione televisiva non hanno per niente perso i caratteri caricaturali propri del romanzo. Ci sono gli avidi nipoti della Milady disposti a tutto per accaparrarsi la sua eredità, così come le immaginarie sofferenze dei fratelli tanto ipocondriaci quanto pigri di Mr. Parker, il giudizio tutt’altro che positivo dell’alta società londinese e delle sue tresche, nonché la sottotrama romantica della storia tra il mondano Sidney, il più giovane dei fratelli Parker, e l’ingenua, ma caparbia quanto sagace Charlotte. Il primo episodio introduce la maggior parte dei personaggi e scenari pescando a piene mani dal romanzo incompiuto, gli episodi successivi diciamo che sono sempre inspirati ai temi della malattia, della speculazione e del nascente turismo su cui la stessa Jane Austen avesse imperniato la scrittura del suo romanzo.

L’interpretazione di Rose Williams (vista in Reign) nei panni di Charlotte risulta convincente e piacevole.
Un po’ sottotono l’altra stella del cast Theo James (visto in Divergent e Underworld), ma forse è proprio il carattere schivo del suo personaggio, Sidney Parker, a renderlo a tratti alieno al contesto e antipatico al telespettatore.
Il resto del cast è qualitativamente impeccabile: possiamo dire che non ci sono in realtà personaggi comprimari, ma è una sinfonia in cui è proprio la somma delle scene ben interpretate a rendere la serie così piacevole da seguire.

Giunto alla settima delle otto puntate previste per questa stagione il mio giudizio è senz’altro positivo, sperando che le scene di sesso, un po’ troppo esplicite, ma mai fine a se stesse, non abbiano così tanto deluso gli spettatori inglesi da compromettere la realizzazione di un auspicabile una seconda stagione.


A Confession

Diciamo subito che, come annunciato nei titoli d’apertura, si tratta di una drammatizzazione di quanto realmente accaduto nel 2011, quando il Sovrintendente della polizia inglese Steve Fulcher sacrificò carriera e reputazione durante le indagini su un pericoloso serial killer. Una vicenda che ha diviso l’opinione pubblica inglese.

PLOT – Tutto ha inizio con la denuncia di scomparsa della ventiduenne Sian O’Callaghan che scatena un dispiegamento di forze mai visto prima per la sua ricerca. Mentre gli inglesi restano incollati alla tv per seguire gli sviluppi della vicenda, il sovraintendente Fucher messo a capo delle indagini concentra i suoi sospetti sul tassista Halliwell che viene quindi posto sotto sorveglianza nella speranza di ritrovare ancora viva la povera ragazza.
Poi sospettando che il criminale stesse per tentare il suicidio, Fucher è costretto ad arrestarlo, ma contravvenendo al protocollo, non lo fa portare subito alla stazione di polizia, ma lo interroga per ore nelle vicinanze del parco dove pensa possa aver nascosto la vittima che spera ancora si possa ritrovare viva. Durante questo incontro il poliziotto riesce a stabile una connessione con Halliwell che si convince a portare Fucher nel luogo dove si è liberato del cadavere. Qui Halliwell confessa anche un’altro vecchio omicidio. L’intuizione di Fucher di non incarcerare immediatamente il criminale e di cercare di stabilire un dialogo con lui ha quindi non solo risolto il caso di Sian, ma fatto luce su un vecchio caso di molti anni prima.
E’ un successo, probabilmente meritevole di encomio, ma rimane sempre il fatto che per ottenere la confessione del serial killer il poliziotto ha infranto il protocollo sugli interrogatori a tutela dei detenuti: una pecca imperdonabile. Il suo comportamento sarà perciò sanzionato dalla commissione interna della polizia. Messo dietro una scrivania, benché tecnicamente facente ancora parte delle forze dell’ordine, Fulcher viene via via sempre più emarginato. Il sostegno delle famiglie delle due vittime che gli sono grate per quanto ha fatto non basta, l’opinione pubblica rimane divisa e la sua vita precipita nella depressione che lo costringe infine a rassegnare le dimissioni.
A distanza di tempo l’ex-poliziotto è ancora convinto di avere fatto la scelta moralmente più giusta. Se non avesse contravvenuto al protocollo molto probabilmente non avrebbe scoperto la verità e Halliwell sarebbe ancora libero di uccidere ancora, mentre ora grazie a lui si trova a scontare una pena di carcere a vita. Convinzione che lo ha portato infine a pubblicare un libro sulla vicenda dal titolo «Catching a Serial Killer».

Il successo della miniserie si basa tutta sull’onestissima interpretazione di Martin Freeman (noto per Fargo, Sherlock, Lo Hobbit, Black Panther, The Office, Captain America), ma anche dell’altra stella del cast Imelda Staunton (vista in Harry Potter, Vera Drake, Pride, Downton Abbey, Maleficent, Paddington, Shakespeare In Love).

Come thriller drama non è niente di che e la vicenda ampiamente già nota al pubblico inglese non regge la suspance, ma il taglio alla narrazione voluto dallo sceneggiatore Jeff Pope (noto per Philomena e Stanlio&Ollio) rende benissimo la psicologia del poliziotto nei suoi tormenti e vicissitudini personali risultando talmente ben riportata da offrire un prodotto ben congegnato e nel suo genere imperdibile. Visione consigliatissima.


[Serie Tv] – The Passage

Accendete il televisore, arrivano i vampiri della trilogia fanta-horror di Justin Cronin!

1837

The Passage è una serie fanta-horror della FOX Television, ideata da Liz Heldens (Friday Night Lights, The Orville),  prodotta tra gli altri dal Premio Oscar Ridley Scott (The Martian, Il Gladiatore) e diretta da Matt Reeves (L’Alba del Pianeta delle Scimmie, Cloverfield).
La serie è basata sulla trilogia di romanzi dell’autore americano Justin Cronin che tratta di una cospirazione governativa per proteggere l’umanità da un futuro distopico in balia dei vampiri.
La prima stagione è composta da 10 episodi da 44 minuti circa ciascuno, ha debuttato negli Stati Uniti dal 14 gennaio 2019 e in Italia dal 28 gennaio 2019 trasmessa dai canali della FOX.


Interpreti e personaggi

THE_PASSAGE_12463-1014x570


Una lunga lunga gestazione (da film a serie tv)

The Passage è un progetto nato nel lontano 2007 quando la FOX acquisisce per $1,70m i diritti dei romanzi di Justin Cronin affidandone la trasposizione cinematografica allo sceneggiatore John Logan (Il Gladiatore, 007 Skyfall, Hugo Cabret) e al regista Ridley Scott.220px-The_Passage_(Justin_Cronin_novel_-_cover_art)
Nel 2011 entra in squadra Matt Reeves Jason Keller (Fuga dall’inferno, Die Hard – Un buon giorno per morire, Ford v. Ferrari) che riscrive daccapo la sceneggiatura.
Nel 2016 viene accantonato definitivamente il proposito di realizzare un film e dare un più ampio respiro all’intero progetto.
Così agli inizi del 2017 la FOX Television ordina un primo pilota della serie televisiva al team formato da Liz Heldens,  Matt Reeves e dalla Scott Free Productions (di Ridley e Tony Scott) affidandone la regia a Marcos Siega e scegliendo Mark-Paul Gosselaar e la giovane Saniyya_Sidney (e il suo personaggio che nel romanzo ha circa 6 anni viene ‘modificato’ in un più televisiva bambina di dieci anni) come protagonisti.
Nel 2018 l’episodio pilota viene parzialmente rigirato cambiando alcuni membri nel cast dal regista Jason Ensler accreditato quindi come co-regista insieme a Marcos Siega.
Viene infine ordinata una prima stagione di 10 puntate che negli Stati Uniti viene trasmessa a partire da metà gennaio del 2019 trainata il lunedì sera dall’altra serie di successo The Resident. Le prime puntate di The Passage vengono ben accolte sia dalla critica che dagli spettatori facendo ben sperare i fan nell’annuncio di una prossima seconda stagione.


Uno spettacolo eccezionale basato su uno scenario terribile

“I didn’t used to believe in monsters, but I do now,” Amy says. “I saw them change everything.” – (trad. «Non ero abituata a credere nei mostri, ma ora lo faccio.» dice Amy «Li ho visti cambiare tutto.»)
Passage_S1_MiniPoster_2018_hires2.jpgSpinto dalla necessità di trovare una cura per la moglie malata di Alzhaimer, il professor Jonas Lear insieme al suo fraterno amico scienziato Tim Fanning, organizza una spedizione nelle foreste della Bolivia dove scoprono un virus che rende più forte e immune alle malattie lo stesso Fanning che viene assalito e contagiato. Nasce così il Progetto Noah diretto dal Maggiore Nichole Sykes con l’obiettivo di creare un vaccino in grado di debellare qualsiasi malattia: in una base segreta vengono condotti esperimenti illegali su alcuni condannati a morte e su una bambina orfana senza famiglia di nome Amy che per via della giovane età potrebbe avere una migliore risposta al virus, salvando milioni di persone da una nuova pandemia. Istantanea_2019-02-20_13-04-05.pngTuttavia, nulla va secondo i piani del governo e i pazienti sottoposti alla sperimentazione si trasformano in telepatiche creature infettive assetate di sangue. La piccola Amy è la sola a poter liberare il mondo dall’incubo in cui è precipitato, affiancata dal suo protettore, l’agente dell’FBI Brad Wolgast, che inizialmente è colui che la rapisce per conto del Progetto Noah, ma che poi si ribella agli ordini dell’ex agente operativo della CIA incaricato delle operazioni, Clark Richards.

ThePassageBB-678x381.jpg


Salviamo il mondo dai vampiri… ancora una volta

Gli ingredienti sono magari i soliti e forse questo è l’unico tallone d’Achille di questa serie tv di genere.
La sceneggiatura è più che solida e si vede che si avvale della collaborazione dello stesso autore che ha portato al successo letterario la saga, ma un conto è la carta stampata e il gusto dei lettori, tutta un’altra cosa il palato esigente di una platea televisiva che negli anni è stata bombardata dagli eventi catastrofici più disparati compresi i virus vampireschi (ancora non ci siamo ripresi dall’appena terminata serie sui vampiri The Strain di Guillermo del Toro).
imagesSe le prime puntate vergono sul complotto governativo e sulla segretezza del Progetto Noah, i successivi episodi divengono ancora più interessanti per la scoperta dei poteri dei vampiri e la crescita d’importanza del personaggio di Amy.
Il dejà vu si supera così ben presto apprezzando la recitazione di un cast di tutto rispetto: bravi e convincenti tutti, compresa la giovane Saniyya_Sidney già apprezzata nella miniserie Radici. download.pngLa lunga gestazione non ha compromesso la trasposizione del racconto nel media televisivo che è sicuramente valorizzato dalla mano sapiente della showrunner Liz Heldens che non per niente ha già firmato un lungo contratto di collaborazione per i prossimi anni con la Fox. L’unico timore è che lo show non rientri nei piani della dirigenza del network che potrebbe, come già capitato in passato, non rinnovare la serie anche se apprezzata dal pubblico.

[Python] Traduttore automatico di sottotitoli

La mia smodata passione per le serie tv made in USA mi ha iniziato al binge watching molto prima che ne venisse coniato il termine per diventare una moda. Ricordo ancora il week end di una decina di anni fa, passato a ‘recuperare’ su internet gli episodi delle prime tre stagioni di «Battlestar Galactica» poco prima della trasmissione in America della quarta stagione. Di lì ho scoperto che non mi piaceva attendere qualche anno prima di poter guardare una serie tv che mi interessava e che internet da questo punto di vista era una notevole risorsa se si era disposti ad abituare l’occhio a non perdersi nessuna scena sbirciando contemporaneamente i sottotitoli sullo schermo (ancora tante grazie Italiansubs!).


Ora che i sottotitoli in italiano si fa più fatica a trovarli, un po’ per gioco e un po’ per utilità, ho pensato di creare uno script in Python che traduce un file di sottotitoli in inglese nel corrispettivo in italiano utilizzando la libreria googletrans (link) che sfrutta l’API di Google Translate. Il risultato non sarà dei più corretti ma IMHO abbastanza accettabile per godersi un episodio della propria serie tv preferita.


Ingredienti:

    • python 3
    • libreria googletrans (per la traduzione)
    • librerie sys, os (per la gestione dei file)
    • libreria timeit (per computare le prestazioni)

Per installare la libreria avendo a disposizione l’utility PIP è sufficiente digitare il seguente comando:

pip install googletrans

Analizziamo le parti principali del sorgente:

Innanzitutto importiamo le librerie che ci necessitano:

import sys, os
from googletrans import Translator
from timeit import default_timer as timer

Memorizziamo in una variabile il tempo iniziale che ci servirà per calcolare successivamente le prestazioni dello script:

start = timer()

E inizializziamo il traduttore sull’API pubblica di Google Translate:

translator = Translator(service_urls=[
      'translate.google.com',
      'translate.google.it',
    ])

Il progetto prevede di dare in pasto al traduttore le frasi contenute in un file in formato .srt contenente i sottotitoli in inglese, strutturalmente fatto in questo modo:

Per quanto riguarda il nome del file da tradurre lo passeremo come argomento nell’istruzione di esecuzione del programma. Il nome del file prodotto con i sottotitoli tradotti in italiano sarà generato conseguentemente aggiungendo il suffisso “_tradotto”. Viene anche controllata l’esistenza di un eventuale precedente file di traduzione avente lo stesso nome di quello in produzione e nel caso verrà cancellato.

try:
sourcefile = sys.argv[1]
resultfile = sys.argv[1].replace('.srt', '')+'_tradotto.srt'
except:
sourcefile = "sottotitolo.srt"
resultfile = sourcefile.replace('.srt', '')+'_tradotto.srt'

if os.path.isfile(resultfile) == True:
os.remove(resultfile)

Nessun problema ad aprire il file in questione e scomporre le righe di testo in elementi di una lista. Inoltre già che ci siamo cancelliamo gli eventuali inutili spazi vuoti in testa e in coda a ciascuna riga con il metodo strip():

with open(sourcefile) as f:
    content = f.readlines()
content = [x.strip() for x in content]

Ovviamente al nostro traduttore dovremo passare ‘solo’ i testi e non gli altri elementi utili alla renderizzazione a video dei sottotitoli. Inoltre al traduttore dobbiamo passare delle frasi intere, anche se nel file dovessero risultare ‘spezzate’ su più righe.

Processiamo ciascuna riga della lista creata e scartiamo quelle righe (senza eliminarle perché ci occorreranno poi per scrivere correttamente il file .srt dei sottotitoli tradotti) contenenti un numero intero (cioè il numero del sottotitolo) piuttosto che la durata del sottotitolo (che Python vede comunque come una stringa di testo da qui la trovata di pulire la riga dal segno di separazione (“:”) e di considerarne solo i primi 5 caratteri, in modo che ad esempio la riga “00:00:03,886 –> 00:00:07,961” venga computata come “00000” che Python riconosce giustamente come numero e quindi ce la fa scartare:

for item in content:
    count += 1
    if item.isdigit() == False:
        try:
            control = item.replace(":","")
            part = control[0:4].isdigit()
        except:
            part = False

Per risolvere il problema delle frasi spezzate su più righe come abbiamo ad esempio in questo caso:

Dove per ottenere una traduzione corretta occorre passare al traduttore una corretta frase interaBut you won’t fix the real problem” e non due righe separate come si presentano nel file. Si andrà quindi a tradurre quanto memorizzato in una lista ‘volatile’ solo dopo aver incontrato un salto di riga vuoto come questo:

Di seguito la mia soluzione che memorizza il testo da tradurre nella stringa “datradurre” che viene passata al traduttore istanziando l’oggetto translations da cui ricaviamo il testo tradotto quando la variabile trigger ‘accio’ processa una riga vuota. Ovviamente occorre tenere conto che sebbene al traduttore la frase di due righe verrà fornita in una riga sola, al momento della ricostruzione del sottotitolo tradotto la frase dovrà essere nuovamente divisa se troppo lunga per non perdere in leggibilità del sottotitolo: la frase sarà ‘spezzata in due righe dovesse essere composta da più di 5 parole e comunque da più di 40 caratteri (esclusi i segni ‘speciali di renderizzazione). Dopo aver passato la stringa al traduttore questa viene azzerata, pronta per le righe successive. Il tutto viene memorizzato in una lista denominata ‘traduzione’ a cui si aggiungeranno man mano tutte le righe processate, comprendenti il numero del sottotitolo, i tempi di inizio e fine visualizzazione e la traduzione ottenuta (o il testo originale se il programma non è riuscito a tradurre).

       if part != True:
            datradurre = datradurre +' '+item
            datrad_non.append(datradurre)
            accio = ("_______"+str(item)+"________________>")
            if accio == "_______________________>":
                try:
                    translations = translator.translate(datradurre, src='en', dest='it')
                    trad = translations.text
                    parole = 0
                    a = trad.split(" ")
                    for i in a:
                        if (i!=" " and i!="<i>" and i!="</" and i!="i>" and i!="-" and i!="..."):
                            parole=parole+1
                    if parole >5 and len(trad) >40:
                        frase = range(6,parole)
                        primariga = str(a[0])+' '+str(a[1])+' '+str(a[2])+' '+str(a[3])+' '+str(a[4])+' '+str(a[5])
                        secondariga = ''
                        for x in frase:
                            secondariga = secondariga+' '+str(a[x])
                        traduzione.append(primariga)
                        traduzione.append(secondariga[1:])
                        traduzione.append(item)
                        TRcount += 1
                    else:
                        traduzione.append(trad)
                        traduzione.append(item)
                        TRcount += 1
                except:
                    for x in datrad_non:
                        traduzione.append(x)
                    traduzione.append(item)
                    NOcount += 1
                datradurre = ""
                datrad_non.clear()
        else:
            traduzione.append(item)

Dopo aver processato tutte le righe si può procedere a generare scrivendo riga per riga il file .srt con i sottotitoli tradotti:

with open(resultfile, 'a') as f:
    for item in traduzione:
        f.write(item+'\n')

Possiamo calcolare a questo punto il tempo di esecuzione in secondi del programma:

end = timer()
tempo = "{0:.2f}".format((end - start))

E infine visualizzare le statistiche raccolte con i vari contatori alimentati durante il processo di traduzione:

print('\n')
print ('Totale righe _________ '+str(count))
print ('Totale traduzioni ____ '+str(TRcount))
print ('Problemi traduzioni __ '+str(NOcount))
print ('Totale tempo _________ '+tempo+'s')
print('\n')

Non sarà lo script meglio scritto, ma in un tempo ragionevole (circa 300 secondi per processare un episodio di tre quarti d’ora) riesce a sfornare dei sottotitoli in italiano discretamente accettabili.

Codice sorgente completo disponibile su GITHUB (link).

[Serie Tv] – Stargate Origins

La saga sul portale dimensionale ispirata al film del 1994 continua con una nuova webserie ambientata al tempo dei nazisti.

Stargate Origins (abbreviato SGO) è una webserie fantascientifica appartenente al franchise di Stargate.

Prodotta dalla MGM Television e ideata da Mark Ilvedson e Justin Michael Terry, l’intera serie è composta da 1 stagione di 10 episodi da 10 minuti circa ciascuno, resa disponibile dal 15 febbraio 2018 sul sito della MGM – Stargate Command.

Interpreti e personaggi:
  • Ellie Gall: Catherine Langford
  • Connor Trinneer: Paul Langford
  • Aylam Orian: Dr. Wilhelm Brücke
  • Philip Alexander: Capitano James Beal
  • Shvan Aladdin: Wasif

Stargate è uno dei franchise di fantascienza di maggior successo. Sebbene non possa vantare la longevità di Doctor Who, i mezzi produttivi di Guerre Stellari e il numero di fan sfegatati di Star Trek, si può dire che con il tempo si è conquistato il suo posticino nell’olimpo della sci-fi. Il tutto è iniziato con un film senza pretese e dal successo inaspettato. Stargate uscito al cinema nel 1994 inizia con l’esercito americano che assume un portentoso archeologo (James Spader) per aiutarli a capire un antico manufatto alieno trovato nel deserto egiziano negli anni ’20. Il gigantesco anello di metallo si rivelerà essere un portale verso un altro mondo, dall’altra parte dei quali discendono gli schiavi egiziani ancora servi di un potente essere alieno che finge di essere il loro dio, Ra. Anche se i militari, guidati da Kurt Russell, inizialmente hanno in programma di distruggere il pianeta, finiscono per liberare il popolo schiavo e far fuori il cattivo. The End.

Da quella idea tre anni dopo fu tratta una serie tv,  Stargate SG-1 (trampolino di lancio delle carriere artistiche di Amanda Tapping e Richard Dean Anderson) che ne continuò lo svolgimento della storia. In men che non si dica (beh, ci sono volute ben 10 stagioni), la franchise Stargate si riempì di molteplici razze di alieni e divinità diverse su innumerevoli mondi, dozzine di squadre di viaggiatori e altre serie spin-off tra cui Stargate: Atlantis e Stargate: Universe, diventando un vero proprio cult, con appassionati in tutto il mondo.

E come tutte le cose belle che per esserlo devono finire dopo un po’, anche Stargate sembrava essere finita nel dimenticatoio. Almeno fino allo scorso agosto quando la MGM licenziò il portale web dedicato alla saga intitolandolo Stargate Command rimpinguandolo continuamente di contenuti per i fan e promettendo una webserie esclusiva in 10 parti, Stargate Origins per l’appunto.

Stargate Origins si adatta quasi miracolosamente alla continuità di Stargate e Continua a leggere

[Serie Tv] Powerless

cnqzlpxvuaawidtSe la caterva di supereroi sfornati in questi ultimi tempi per il cinema e la TV (dai vari Avenger agli altri affini del Marvel Cinematic Universe) vi stanno provocando fastidiosi attacchi d’insofferenza, potete decongestionarvi gli occhi dando uno sguardo alla nuova sitcom Powerless che lo sceneggiatore Ben Queen ha realizzato per l’americana NBC.

La serie è prodotta direttamente dalla DC Entertainment insieme alla  Warner Bros. Television ed è girata tra gli studi di Burbank (California, USA) di quest’ultima e, per gli esterni, nel solito Canada.

nbc_2014_ident_stylePer la prima stagione si pensa di realizzare un totale di 13 episodi da 30′ minuti. L’episodio pilota è stato presentato nel luglio del 2016 al San Diego Comic-Con International e la negativa accoglienza dei fan hanno portato a diverse modifiche alla sceneggiatura finale.

La normale trasmissione è iniziata il 2 febbraio 2017.


PLOT: 

istantanea_2017-02-10_21-23-12La serie è incentrata sul personaggio femminile di Emily Locke, neo-assunta alla Wayne Security, una sussidiaria della Wayne Enterprises (quella di Bruce Wayne alias Batman per intenderci) specializzata in prodotti per la sicurezza dei civili che si ritrovano coinvolti nelle battaglie tra supereroi e supercattivi.
In un mondo in cui la gente è ormai indifferente ai superpoteri di quelli che girano mascherati come a carnevale, con la perseveranza e l’innato ottimismo la nostra Emily ha il compito di motivare e mettere in riga il Dipartimento Ricerca e Sviluppo dell’azienda, composto da tecnici incompresi, asociali e, fino al suo arrivo, capaci di sfornare solo porcherie.
Ovviamente il suo capo, nonché cugino sfigato del suddetto Bruce, è uno stronzo.powerless-logo-copertina


istantanea_2017-02-10_20-22-23CAST:

  • Vanessa Hudgens è Emily Locke, direttrice del reparto R&D della Wayne Security. Sin dalle prime battute l’attrice mi è parsa spigliata e a suo agio con il personaggio: una ragazza dai forti ideali e dall’ottimismo contagioso. Il suo sorriso l’aiuta a sbrogliare la situazione a prescindere dai tailleur che la costumista le fa indossare.
  • Danny Pudiistantanea_2017-02-10_20-24-20 è Teddy, un ricercatore della Wayne Security. Direttamente dal successo della sitcom Community qui l’attore mi è sembrato meno spontaneo e irriverente, ma forse gli occorre solo più tempo per carburare o forse gli mancano le sue camicie a quadri.
  • Alan Tudykistantanea_2017-02-10_20-40-22 è Van Wayne, cugino di Bruce Wayne. Si trova suo malgrado a capo di un’azienda che odia geloso del successo del più famoso consanguineo. Cinico e distaccato, non mostra alcun interesse verso i suoi dipendenti: il suo unico obiettivo è quello di tornare a fare la bella vita a Gotham.
  • Christina Kirk2014_0507_nbcuxd_upfront2014_atoz_christinakirk_1230x1230_ko è Jackie la segretaria di Van Wayne. Durante la prima puntata veniamo a conoscenza che agli inizi della sua carriera aveva lo stesso entusiasmo di Emily, ma con il passare del tempo è diventata più cinica del suo capo.
  • Ron Funchesron_funches-cc_800x600 è Ron, un ingenuo tecnico informatico impiegato alla Wayne Security. A lui pare tocchi da contratto fare le battute più scontate.

TRAILER:


RECENSIONE:

E’ una sitcom e fa ridere, quindi per me funziona.
Ho iniziato a guardarla più per curiosità che per altro: attratto dalla presenza della Hudgens e dal trailer. In una televisione sovraffollata da eroi in calzamaglia e superpoteri ho trovato che il punto di vista di ‘noi’ gente normale potesse essere protagonista finalmente di una serie tutta sua.
La sigla iniziale è tutto un programma focalizzata sulle reazioni dei civili e non più sulle imprese degli eroi. Che poi tutto sia messo alla berlina, fumettoso per far ridere ci sta pure.  Al momento ho visto i primi due episodi e mi sono piaciuti.
E’ una mezz’ora che fa bene allo spirito e se riesce a convincere i più incalliti fan del mondo Marvel  potrebbe pure diventare una serie cult. Vale la pena!

Il mio script python per scaricare automaticamente via Raspberry i sottotitoli che mi interessano da Subspedia

Da grande estimatore delle serie tv made USA mi trovo spesso a reperire le puntate dei miei telefilm preferiti via .torrent (della cosa si occupa egregiamente il mio Raspberry Pi B+ via Transmission, il tutto automaticamente grazie ai feed RSS di Karmorra che vengono macinati da Flexget), e per quanto riguarda i sottotitoli faccio riferimento alle diverse piattaforme (ItaSA, Subspedia, Subfactory, The Legion Sub e Traduttori Anonimi) che fanno tutte più che egregiamente e gratuitamente il lavoro di fornire agli appassionato dei sottotitoli di qualità.telefilm-awards

Volendo automatizzare anche la ricerca dei sottotitoli in maniera tale da ritrovarmi la mia puntata bell’è pronta mi sono armato di pazienza e ho creato uno script in python con il quale sfruttando principalmente la libreria Beautifulsoup per il parsing della home page di Subspedia, il mio Raspberry Pi va a scaricare il sottotitolo che mi occorre non appena viene messo a disposizione dalla crew di traduttori. Non contento il valente tuttofare Raspberry Pi mi comunica via Telegram dell’avvenuto ritrovamento. Lo script ‘gira’ automaticamente ogni 30 minuti ed è in grado di evitare di riprocessare le puntate già trattate.

Ecco come ho realizzato lo script…

senzanomeInnanzitutto scorrendo il codice sorgente della home page di Subspedia, mi sono accorto della facilità con cui potevo realizzare la ‘chiamata’ al download del sottotitolo della puntata di mio interesse. Ovviamente chiedo scusa al webmaster di Subspedia se la mia curiosità non era cosa gradita. Dal canto mio lo ringrazio dal profondo del cuore per come ha realizzato l’intera piattaforma che è all’altezza dell’ottimo servizio di tutti coloro che dedicano tempo e fatica per fare felici tutti noi.senzanome

Comunque procedendo nell’analisi del sito ho visto che riguardo ad ogni sottotitolo pubblicato nella home page è presente una chiamata a uno script che si occupa dell’operazione di download:

istantanea_2017-01-15_23-14-07

istantanea_2017-01-15_23-14-27

La prima operazione è identificare le puntate presenti sul mio dispositivo in maniera tale da fornire allo script ciò che stiamo cercando… In pratica visto che Transmission salva le puntate in una directory con il nome della serie mi basta creare leggere il contenuto del dispositivo di archiviazione per dare a python ciò che deve cercare.

In realtà a questo punto c’è una precisazione che devo fare: mi sono accorto che alcune serie tv vengono salvate con un nome da Transmission e indicate da Subspedia con un altro ( si tratta di piccole differenze, ma per noi sostanziali), quindi ho risolto il problema con un file esterno (che ho chiamato except) in cui elenco queste eccezioni e faccio agire lo script di conseguenza.

Ad esempio la serie che si trova nella directory “The Librarians Us” sarà cercata nel sito di Subspedia come “The Librarians”:istantanea_2017-01-15_23-29-04

opengraph-icon-200x200Per leggere adeguatamente la pagina di Subspedia mi sono affidato alla potente libreria BeautifulSoup. Si è trattato di isolare l’oggetto che ci interessa e quindi ricavare i parametri che occorrono (link, nome della serie, stagione e numero della puntata) per costruire l’url a cui il sito di Sbspedia risponde facendo partire il download dei sottotitolo che ci occorre.

Una volta scaricato il sottotitolo, provvedo a rinominare la directory che contiene la puntata (in maniera da rendere più visibile il fatto che è disponibile il sottotitolo ed evitare che lo script la rilavori successivamente), prendo nota dell’operazione effettuata in un file di log per un successivo controllo e invio un avviso via Telegram.

Ed ecco il risultato:istantanea_2017-01-15_23-40-51

senzanome

#!/usr/bin/python
'''
Programma per scarico sottotitoli da Subspedia
ver. 1.2 (13/01/17)
By Zirconet - 07-01-2017
'''

import subprocess
import time
import os, sys
import urllib
import requests
from bs4 import BeautifulSoup

url = "http://www.subspedia.tv/index.php"
r = requests.get(url)
soup = BeautifulSoup(r.content, "lxml")
g_data = soup.find_all("table", {"class": "subHomeContainer"})

path = '/mnt/usb/0tv/'
subdirectories =  os.listdir(path)

for item in subdirectories:
    seriedacercare = item
    dirname = seriedacercare

    f = open('/mnt/usb/except','r')
    xxx = [x for x in f.readlines()]  
    f.close()
    for x in xxx:
     eccept = x.split(";")
     if eccept[0] == seriedacercare:
        seriedacercare = eccept[1]
   
    print seriedacercare+" --> X" 
    aList = []

    for item in g_data:
        links = item.contents[1].find_all("a", text=seriedacercare)
	
        for link in links:
                xxx = item.contents[3].find_all("a", href=True)
                for link in xxx:
                        trovo = link["href"]
                        aList.append(trovo);
	        
                str0 = aList [0]
                str1 = str0.replace('javascript:downloadSub("', '')
                str2 = str1.replace(');','')
                str = str2.replace('"','')
                data = str.split(',')

		filename = data[0].split('/')
                nomefile = path+dirname+'/'+filename[1]
		print nomefile
                
                sito = "http://www.subspedia.tv/scaricaSub.php?path="
                url = sito+data[0]+'&serie='+data[1]+'&stagione='+data[2]+'&numero='+data[3]

                myfile = urllib.URLopener()
                myfile.retrieve(url, nomefile)
		
		os.rename((path+dirname),(path+"0subbed "+seriedacercare))

		t = time.localtime()
                timestamp = time.strftime('%d-%b-%Y %H:%M', t)
                log = timestamp+' --> '+seriedacercare+'\n'
                out_file=open("/var/log/mySub.log", "a")
                out_file.write(log)
                out_file.close()  

		messaggio = "Trovato nuovo sottotitolo per "+seriedacercare
		subprocess.Popen(["/mnt/usb/telegram.sh", messaggio]) 
%d blogger hanno fatto clic su Mi Piace per questo: