import feedfinder, re, feedparser, codecs

quelle_url = open ("quelle_url.txt", "r")
## ziel_url_feed = open ("ziel_url_feed.txt", "w")
ziel_url_feed = codecs.open("ziel_url_feed.txt", "w", "utf8")

i = 0
while 1:
	i = i + 1
	zeile = quelle_url.readline()
	if not zeile:
			break
	if zeile[-1] == '\n':
			zeile = zeile[:-1]
			
	regexp = re.compile(r"^\|\|.*\|\| {X}.*\|\|.*\|\|")
	if regexp.search(zeile):
		## Zeile unveraendert, wenn  URL beginn mit {X}
		zielzeile = zeile + "\n"
	else:	
		regexp = re.compile(r"^\|\|.*\|\|.*(?P<url>http.*) \|\|.*\|\|.*\|\|")
		result = regexp.search(zeile)
		url =  result.group("url")
		
		regexp = re.compile(r"^\|\|.*\|\|.*\|\| \(\!\) http.*\|\|")
			
		if regexp.search(zeile):
			## Zeile unveraendert, wenn Feed beginnt mit (!!) http
			zielzeile = zeile + "\n"
		else:
			
			## zielzeile = "||  || " + url + " || "
			
			try:
				urlfeed = feedfinder.feed(url)
				if urlfeed:
					## zielzeile = zielzeile + urlfeed
						
					try:
						d = feedparser.parse(urlfeed)
						title = d.channel.title
						## print title
					except:
						title = "(!)"
						## print "+++ Fehler beim Feed Parsen\n"
						
				else:
					urlfeed = "(!)"
					title = ""
					## zielzeile = zielzeile + "(!)"
			except:
				urlfeed = "(!)"
				title = ""
			
			
			regexp = re.compile(r"^\|\|.*\|\|.*\|\|.*\|\|(?P<bemerkung>.*)\|\|")
			result = regexp.search(zeile)
			bemerkung =  result.group("bemerkung")
			
			zielzeile = "|| " + title + " || " + url + " || " + urlfeed + " || " + bemerkung + " ||\n"
			
			## zielzeile = zielzeile + " ||" + bemerkung +"||\n"

	ziel_url_feed.write (zielzeile)
	try:
		print i, zielzeile,
	except:
		print "Probleme mit Zielzeile"
		
print "+++ Fertig +++"

quelle_url.close()
ziel_url_feed.close()