Personal tools
You are here: Home Comunità zopemaster's Home old_blog Migrare la Broadcast Machine ad altro URL

Daniele Paganelli


alias mythsmith

  • Blog
  • Feed RSS
    Iscriviti al diario, con il feed RSS (?)
  • Emopiano
    Imporvvisazioni al pianoforte ed alla tastiera (del computer :)
  • Università
    Documenti redatti per/a/con l'Università
  • Programmazione
    La mia limitata biblioteca personale di script, principalmente in Python.
  • Macropost
    Testi molto lunghi, inadatti per il blog.
  • Segnalibri
    I miei segnalibri direttamente da Firefox... quando mi ricordo di aggiornarli!

Sinapsi

  • AGESCI zona di Modena
    (curato da me, si nota? ;-)
  • Magnatune
    Etichetta discografica online. Musica di alta qualità con licenza CreativeCommons. Anteprime gratuite e complete di qualsiasi album... Attenzione: rischi di non uscirne più fuori!!!
  • Conoscere Linux
    Il Linux User Group di Modena, cui sono associato dalla fondazione.
  • Slack.it
    Wiki di un amico...
  • Punto Informatico
    I miei inutili interventi sulla rivista online più antica d'italia...
  • Oblivion999
    Un gruppo metal
  • Fax via eMail
    Il servizio che utilizzo per inviare e ricevere fax via eMail per lavoro.



Contatti Personali:
  • Jabber: dapa@jabber.org
    Per accedere alla rete Jabber usa Gaim oppure Google Talk
  • Posta: daniele.chioccia.modena1.it
  • OpenWengo: paganoide
  • Perché evito MSN?
 
Document Actions

Migrare la Broadcast Machine ad altro URL

by mythsmith last modified 2006-12-17 04:35 PM

Mi sono recentemente trovato a dover cambiare l'indirizzo di una istanza di Broadcast Machine. Ho trovato zero documentazione al riguardo, quindi ecco gli step che ho seguito durante la migrazione.

Broadcast Machine immagazzina staticamente molti dati che fanno riferimento all'indirizzo della vostra istanza al momento della pubblicazione. Se per un malaugurato caso dovete cambiare l'URL alla vostra BM, troverete che non funziona più nulla!


Niente Panico! Ecco tre non tanto semplici passaggi per riaggiustare tutto:

1) /data/settings

Aprite il file /data/settings. Troverete una lunga linea di dati Bencode. Leggendola attentamente, dovreste trovare un passaggio del genere: [...]8:base_url40:http://ilvecchiourl.com/vecchia/cartella[...]. Il numero 40 è il numero di caratteri costituito dal vostro vecchio URL. Non basta sostituire il base_url con il nuovo indirizzo, ma dovrete anche aggiornare quel numerino prima dei due punti al numero di caratteri del vostro nuovo indirizzo! Ad esempio: 8:base_url34:http://nuovourl.com/nuova/cartella


2) /torrents

Naturalmente dovrete aggiornare tutti i vostri torrents al nuovo indirizzo del trakcer, che da http://ilvecchiourl.com/vecchia/cartella/announce.php è diventato http://nuovourl.com/nuova/cartella/announce.php (saltate questo passaggio se avete usato un tracker esterno).
Pazzia! Ecco una soluzione: create una cartella torrents.new dove metterete i nuovi torrent (mai sovrascrivere dati importanti). Poi copincollate questo script python in un file nella base della BM:
#/usr/bin/python
"""To be launched in the broadcast machine base dir!!!!"""
oldtrack='http://ilvecchiourl.com/vecchia/cartella/announce.php'
newtrack='http://nuovourl.com/nuova/cartella/announce.php'


#-----------------------Script
oldcode=str(len(oldtrack))+':'+oldtrack
newcode=str(len(newtrack))+':'+newtrack

from os import listdir
tors=listdir('./torrents')
for torname in tors:
tor=open('./torrents/'+torname,'r')
data=tor.read().replace(oldcode,newcode)
tor.close()
tor=open('./torrents.new/'+torname,'w')
tor.write(data)
tor.close()
print torname

Lo script sostituirà il vecchio url al nuovo per ogni torrent, e metterà i torrent risultanti nella cartella torrents.new. Potete usare questo script anche se volete per qualche motivo cambiare il tracker ad un qualsiasi altro indirizzo.

Dopo questi primi due passaggi la vostra BM dovrebbe essere perfettamente funzionante, a parte per i thumbnails...

3) /data/files

Questo file contiene tutti i dati relativi ai torrent che avete registrato presso la BM. Includono la descrizione,il titolo, la durata... e soprattutto (argh!) l'URL del thumbnails. Ecco allora lo scriptino che fa per voi:
#!/usr/bin/python
oldstr='http://ilvecchiourl.com/vecchia/cartella'
newstr='http://nuovourl.com/nuova/cartella'

files=open('files','r')
data=files.read()
files.close()
files=open('files.new','w')
diff=len(newstr)-len(oldstr)

for i in range(len(oldstr),200):
old=str(i)+':'+oldstr
new=str(i+diff)+':'+newstr
data=data.replace(old,new)

files.write(data)
files.close()

Piazzatevi nella direcory data, copincollate lo script in un file e lanciatelo. Creerà un file chiamato files.new, versione corretta del precedente.

hosting
Iniziative che sponsorizziamo:
Scopri altri siti scout!
Sito precedente 5o sito precedente Home ScoutRing Lista dei Siti Sito Casuale Sito successivo 5o sito successivo
Informati e protesta contro il DRM!
Powered by Plone, the Open Source Content Management System