Hola,
He parcheado el lector de barcelonatv y ya lista canales y las ultimas 4 emisiones del apartado a la carta. Pero no se ve ninguna emisión porque falta pasar un token válido a flumotion (va en XXXXXXXXXXXXXX en el script). Vamos, que de color bien pero no flota.
He cambiado:
- la URL de "alacarta" (el site es ahora btv.cat)
- de esa pagina saco los programas (nombre y URL)
- de la pagina del programa lee los últimos publicados. 
- usando el thumbnail averiguo el código real de la emisión ( location = response.geturl() )
El script modificado es:
 
Código: Seleccionar todo
# -*- coding: utf-8 -*-
#------------------------------------------------------------
# tvalacarta - XBMC Plugin
# Canal para barcelonatv
# http://blog.tvalacarta.info/plugin-xbmc/tvalacarta/
#------------------------------------------------------------
import urlparse,re
import urllib
import urllib2
try:
    from core import logger
    from core import scrapertools
    from core.item import Item
except:
    # En Plex Media server lo anterior no funciona...
    from Code.core import logger
    from Code.core import scrapertools
    from Code.core.item import Item
logger.info("[barcelonatv.py] init")
DEBUG = False
CHANNELNAME = "barcelonatv"
def isGeneric():
    return True
def mainlist(item):
    logger.info("[barcelonatv.py] mainlist")
    itemlist = []
    # Descarga la página
    data = scrapertools.cachePage("http://www.btv.cat/alacarta/")
    
    # Extrae los programas
    patron = '<li><a title=\"([^<]+)\" href=\"([^<]+)\">'
    matches = re.compile(patron,re.DOTALL).findall(data)
    for match in matches:
        scrapedtitle = match[0]
        scrapedurl = match[1]
        scrapedthumbnail = ""
        scrapedplot = ""
        if (DEBUG): logger.info("title=["+scrapedtitle+"], url=["+scrapedurl+"], thumbnail=["+scrapedthumbnail+"]")
        # Añade al listado
        itemlist.append( Item(channel=CHANNELNAME, title=scrapedtitle , action="videolist" , url=scrapedurl, thumbnail=scrapedthumbnail, plot=scrapedplot , folder=True) )
    return itemlist
def videolist(item):
    logger.info("[barcelonatv.py] videolist")
    itemlist = []
    # Descarga la página
    data = scrapertools.cachePage(item.url)
    
    # Extrae los videos
    patron  = '<li>'
    patron += '<div class="img">'
    patron += '<a title="([^"]+)" href="#" class="video-loader-link-pro" id="([^"]+)" rel="fitxaprograma">'
    patron += '<img src="([^"]+)" width="([^"]+)" height="([^"]+)" alt="([^"]+)" />'
    patron += '</a></div>'
    patron += '<div class="txt">'
    patron += '<a title="([^"]+)" href="#" class="video-loader-link-pro" id="([^"]+)" rel="fitxaprograma">([^"]+)</a>'
    patron += '</div>'
    patron += '<div class="day">([^"]+)</div>'
    matches = re.compile(patron,re.DOTALL).findall(data)
    for match in matches:
        scrapedtitle = match[0]+" ("+match[9]+")"
        scrapedurl = "%s" % match[1]
        scrapedthumbnail = match[2]
        scrapedplot = match[9]
        if (DEBUG): logger.info("title=["+scrapedtitle+"], url=["+scrapedurl+"], thumbnail=["+scrapedthumbnail+"]")
        itemlist.append( Item(channel=CHANNELNAME, title=scrapedtitle , action="play" , url=scrapedurl, thumbnail=scrapedthumbnail, plot=scrapedplot , folder=False) )
    return itemlist
def play(item):
    logger.info("[barcelonatv.py] play")
    # Averigua la URL y la descripcion
    page_url = "http://api.barcelonatv2.webtv.flumotion.com/videos/%s/thumbnail.jpg" % item.url
    itemlist = []
    req = urllib2.Request( page_url ) 
    response = urllib2.urlopen( req )
    location = response.geturl()
    video_id = re.compile( 'http://media2.webtv.flumotion.com/cust/barcelonatv//outgoingimg/([^"]+).mpg/([^"]+).mpg([^"]+).jpg' ,re.DOTALL).findall( location )    
    url = "http://ondemand.barcelonatv.ondemand.flumotion.com/barcelonatv/ondemand/video/mp4/high/%s.mp4?token=XXXXXXXXXXXXXX" % video_id[0][0]
    itemlist.append( Item(channel=CHANNELNAME, title=item.title , action="play" , url=url, thumbnail=item.thumbnail , plot=item.plot , server = "directo" , folder=False) )
    return itemlist