Codice: Seleziona tutto
#!/usr/bin/env python
# Script by Berlino (c) 2007
import sys
import time
import os
import getopt
import re
import MySQLdb
# CHANGE BELOW
output = "szindex.html"
database = "name of database"
hostname = "name of hostname"
username = "superzeta"
password = "superzeta"
port = "port number eg. 3306" # Opzionale
bbtitle = "name of title in topic table"
bbtopic = "name of topic in topic table"
bbtable = "name of topic table"
query = "SELECT %s, %s FROM %s ORDER BY %s ASC" % (bbtitle, bbtopic, bbtable, bbtopic)
wwwhost = "http://www.superzeta.it/"
in_topics = ['2004|2005|2006', 'A2M|ATM|Ass to Mouth', 'Abbonament', 'Abbracci', 'Acquist', 'Addio', 'ADSL', 'Agnelli|Lapo', 'Aids| HIV', 'Aiut|Help|Richiest|Consigli|Cercasi', 'Amateur|Amatorial', 'Amburgo|Monaco|Berlin|Germania', 'America', 'Amic', 'Amore', 'Anal', 'Angel Dark', 'Angelica', 'Animal|Bestial', 'Anita', 'Annunci', 'Aprile', 'Argentina', 'Asia | Asia', 'Aurora.Snow', 'Autostrad', 'Avventure', 'Axel|Braun', 'B-side', 'Bacchettoni', 'Bambola', 'Bandinelli', 'Bangbros', 'Bannat', 'Bikini', 'Barcellona|Madrid|Spagna', 'Barzellett', 'Bastard', 'Behind|The Scene|bts', 'Belladonna', 'Bellezza', 'Berlin', 'Berlusc|Forza Ital|Cavaliere|Silvio|Perlusconi', 'Bisex', 'Black|Ebony', 'Blake', 'Blowjob|Pompin', 'Bondage|BDSM|Domination', 'Bordell', 'Borgia', 'Brasil|Brazil', 'Briana.Banks|Brianna', 'Brigitta Bulgari', 'Britney', 'Broccolo', 'brother|fratello|reality', 'Budapest|Ungheria', 'Bukkake', 'Bush', 'Buttman', 'Calciator|Calcio|Campionat', 'Calendar', 'Canalis', 'Campagna', 'Campioni', 'Canga', 'Che fine', 'Capozzi|Pornology', 'Casanova', 'Cassazione', 'Cattolic', 'Cavalcanti', 'Cazzo', 'Celibato', 'Censura', 'Cento |CxC', 'Champions', 'Channel', 'Chat', 'Ciao|Sono nuovo', 'Cicciolina', 'Cinema', 'Cina|^Cina|Grande Nick', 'Classic', 'Climax', 'Club', 'Compleann', 'Comunist', 'Connessione', 'Contraccezione', 'Coraggio', 'Costanzo|Filippi', 'Cream|Cum', 'Cristaldi', 'Cronache', 'CSI|Cultura Sessuale Italiana', 'Cuckold', 'Culo', 'Cytherea|squirt', 'Agde', 'Danimarca|Svezia|Sweden|Swedish', 'DDV|Delta.di.Venere', 'Delir', 'Dell.est', 'Delta.*Venere', 'Digitale', 'Digitale terrestre', 'Dittatur', 'Diva futura', 'Divx', 'Dogging|Esibiz|Outdoor', 'Dolly Buster', 'Domand', 'Donna|Donne|!Belladonna', 'Doppia|Double', 'Dorcel', 'Dove anda', 'Droga|Doping', 'DVD', 'e-bay|ebay|paypal', 'Edelweiss', 'Elezioni', 'Erika Neri', 'Erotismo|Erotic', 'Escort|!forum', 'Escortforum', 'Espert', 'Estate', 'Estdipendent', 'Estmania', 'Estonia|Lettonia|Lituania', 'Euro', 'Europa', 'Evil.Angel|Euro.Angel', 'Fabrizio|Zanoni', 'Facial|Swallow', 'Faltoyano', 'Famosi', 'Fancazz', 'Fanny Bravo', 'Fata|fate|CSI', 'Federica.Tommasi', 'Ferie', 'Fetish|Feticismo', 'FICEB', 'Fiera|Fiere', 'Figa|Fighe', 'Figli', 'Film.*Porno|Porno.*Film', 'Filmati', 'Filmografi', 'Fiorentina', 'Fist', 'Fitness', 'Forum', 'Foto', 'Francia|Parigi', 'Fuck|Scopata|Coito', 'Fumo|Alcool', 'Fuori', 'Gang.Bang', 'Genio', 'Genova|Liguria', 'GGG|666|Thompson', 'Giappone|Tokyo|Kyoto', 'Gina.Wild', 'Gioco', 'Girls Gone Wild|Gone Wild', 'Givemepink', 'Gola Profonda', 'Gongolo', 'Google|Gmail|Yahoo', 'Google|Yahoo', 'Gotich|Gothic', 'Governo', 'Grande Fratello|Brother', 'Grazie', 'Guerra', 'Hard', 'Help|Richiesta|Aiut|Espert', 'Henger', 'Hentai|Manga', 'Hustler', 'Ifix|Supersex', 'Immagini', 'Incest', 'Infermier|Ospedal', 'Informatic', 'Informatic|Softwar|Computer| PC|PC |portatil|program', 'Inglese', 'Innamora', 'Holmes', 'Insex|Hogtied', 'Inside', 'Internet', 'Internet|navigaz|rete', 'Intervist', 'Isabella|Madameweb|Pordenone', 'Islam|Iran|Irak|Turchia|Maomett', 'Isola', 'Israele', 'Italia', 'Jenna', 'Jessica.Rizzo', 'Jessica.*Gayle', 'Jordan', 'Kamasutra', 'Katsumi', 'Kelly', 'Kit Kat Club|KitKatClub|KKC|KKK|Thaur|Tahur', 'La cula', 'LA SFIDA', 'Lahaie', 'Las Vegas', 'Lavoro', 'Le Iene', 'League', 'Legge', 'Lesbian|Lesbo|Lesbi|Saffo', 'Libro|libri', 'Locale|Locali', 'Londra|UK|Inghilter|Bretagna', 'Love.*Parade|Parade', 'Lucignolo', 'Macchina', 'Mail', 'Malone', 'Manya', 'Marcetta|fighetta', 'Marina.*Frajese', 'Masturbazione', 'Matt.Hardcore|Matthardcore', 'Max.Hardcore', 'Maxxx', 'Melanie', 'Melanzan|Lumacon', 'Melissa P', 'Messenger|Msn', 'Messenger|Msn|Windows', 'Metal', 'Michelle Wild', 'Milan|Lombardi', 'Milf|Miltf|Matur|Mamm', 'Misex|Mi Sex|Mi-Sex', 'Mito|miti', 'Moana', 'Model', 'Mogli|Moglie', 'Mondiali', 'Monica Roccaforte', 'Morgane', 'Morte|morto|morti|morta', 'Mosca|Russia', 'Mpeg|Divx', 'MTV', 'Musica|Album|Canzon', 'Nacho', 'Natale', 'Natasha.*Kiss', 'News|Notizi', 'Ninn', 'Notte', 'Nudismo|Nudist|Naturis', 'Office|Ufficio|Segretarie', 'Oland|Holland|Dutch|Amsterdam', 'Omosess|Omosex|Gay', 'Orgasm', 'Orgia|Orge|Gruppo|Orgy|Party|Group', 'Oscenit', 'Outdoor|Exhib|Reality|Public', 'P2P|Peer|Torrent| DC', 'Paesi Est|Est-girl| est |^Est ', 'Pal|Ntsc', 'Pamela Anderson', 'Paperinik', 'Paris Hilton', 'Pasolini', 'Pedofi|Pedo-', 'Personaggio|personale', 'Perver', 'Peter.*North', 'Piercing', 'Pirate', 'Pisciat|Piss|Wet|Piogg', 'Playboy', 'Player', 'Politic', 'Polonia|Praga', 'Poesia', 'Pornografia', 'Porno|Sesso', 'Pornstar|Pornostar', 'Praga', 'Pregnant|Drop|Incint|Lact', 'Premiazion|AVN|Award', 'Preservativ|Condom|Profilatt', 'Presidente', 'Private', 'Priv|Scambis|Echang|Swinger', 'Problem', 'Programm', 'Propost', 'Prostitu', 'Provin', 'Pubblico', 'Purity Test', 'Pussy', 'Puttan|Puttanier', 'Qualcosa', 'Raccont', 'Raccont|Ricordar|Distruttore', 'Ragazz', 'Recension', 'Redlight|Red.*Light', 'Referendum', 'Religione|Blasfem', 'Repubblica', 'Rimorchiare|Pick.up', 'Risate', 'Ritorno', 'Rocco|Siffred', 'Roma|Lazio', 'Russia|Mosca|Moscow', 'Russo', 'Salieri', 'Salute|Medic', 'San Pietroburgo', 'Sandy', 'Satellit', 'Scacchi', 'Scat|Shit|MFX|Cacca|Merd|!scaten', 'Schicchi', 'Scoregge', 'Scusa', 'Seghe|Sega', 'Selen', 'Sesso|Sessualit', 'Sessual', 'settembre', 'Sexpo', 'Sexy', 'Sexy Bar', 'Sexy Shop', 'Sexy Show', 'Sexycoppie', 'Show', 'Shower|Doccia|Bide', 'Silvia.Saint', 'Simpson', 'Sinistra', 'Siti|sito', 'Sito |^Siti | sito | siti ', 'Slap', 'Slovenia', 'Snuff', 'Sofia|Bulgaria', 'Soldi|Economia|Pensionr|Mutui', 'Sondagg', 'Sono malato', 'sono nuovo|iscritt', 'Sophie', 'Sperma|Sborra', 'Sport', 'Squirt', 'Stagliano', 'Star', 'Stasera', 'Stealth', 'Stone', 'Streaming', 'Striptease', 'Stupr', 'Suicid', 'Superstar', 'Tanga|Perizoma', 'Tatoo|Tattoo|Kill.Girl', 'Taylor', 'Telefoni', 'Telefonin|Telefonia', 'Televisione|Tele|Radio', 'Terroris', 'Tette|Tits|Titten|Tett|Boob', 'Toniolo', 'Torino|Piemonte', 'Tradiment', 'Trans|Shemale', 'Travestit', 'Trez', 'Truffa', 'Turismo sessuale', 'Ucraina', 'Urgente', 'Utenti', 'UVZ', 'Vagina| fica', 'Valentino', 'Veline', 'Vendo|Mercatino', 'Venere|!Delta', 'Vergin', 'VHS', 'Viagg|Vacanz', 'Viagra', 'Vibratori', 'Video', 'Video Impulse|Videoimpulse', 'Videogiochi', 'Vieri', 'Vinci', 'Vino', 'Violenza', 'Virus', 'Vita', 'Vomit', 'Votato|votare', 'Yahoo|Google', 'Young|Teen|Lolita', 'Zarri', 'Zerbin', 'Zeta|Superz' ]
# DO NOT CHANGE ANYTHING BELOW THIS ROW
# Specify default settings here...
version = "1.1.0" # Version No.
dry = 0 # if 1 Dry Run
recent = 0
count = 0
help = 0
cat = ''
found = 0
topiclist = {}
#---------------------------------------------------------
print "Welcome to Super Zeta Organizer. Get usage with --help\n"
if __name__ == "__main__" :
# parse command line options
try:
opts, args = getopt.getopt(sys.argv[1:], "h", ["help"])
except getopt.error, msg:
print "for help use --help"
sys.exit(2)
# process options
for o, a in opts:
if o in ("-h", "--help"):
print __doc__
print '''
Super Zeta Organizer
Usage: sz.py -i indexfile [--dry] [-o outfile]
--dry just a dry run
--o output_file
--i input_file
Topic cathegories:
'''
print in_topics
sys.exit(1)
if o in ("-o", "--output"):
output = a
if o in ("-d", "--dry"):
dry = 1
if o in ("-r", "--recent"):
recent = a
#-------------------------------
# Open the connection
#-------------------------------
try:
connection = MySQLdb.connect(host=hostname, user=username, passwd=password, db=database )
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
sys.exit (1)
#-------------------------------
# Execute Query
#-------------------------------
print query # for debug
cursor = connection.cursor()
cursor.execute( query )
#-------------------------------
# Loop on results
#-------------------------------
while (1) :
row = cursor.fetchone()
if row == None :
break
print "%s, %s" % (row[0], row[1])
title = row[0]
topic = row[1]
if (topic < recent) :
continue
link = '<a href="%s/viewtopic.php?t=%s">%s</a> | ' % (wwwhost, topic, title)
count += 1
if (count % 500) :
print count
found = 0
for cat in in_topics :
p = re.compile(cat, re.IGNORECASE)
if p.search(title) :
try: topiclist[cat].append(link)
except KeyError : topiclist[cat] = [ link ]
found += 1
if not found :
try: topiclist['Unclassified'].append(link)
except KeyError : topiclist['Unclassified'] = [ link ]
if dry :
sys.exit(1)
# Now it's time to print everything out
print "Print on file output\n"
try:
OUT = open(output, "w")
except IOError:
print "Cannot open ", output
sys.exit(1)
date = time.time()
topiclistcomma = []
topiclistcomma.sort()
for cat in in_topics :
topiclistcomma.append("%s, " % cat )
topiclistcomma.append('Unclassified')
print >> OUT, '''
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<title>Super Zeta Full Topic List</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" href="http://www.superzeta.it/templates/fisubsilver/fisubsilver.css" type="text/css" />
<META HTTP-EQUIV="pragma" content="no-cache">
<META HTTP-EQUIV="expires" content="0">
<META HTTP-EQUIV="cache-control" content="no-cache">
<META NAME="Keywords" CONTENT="%s">
<META NAME="Description" CONTENT="Super Zeta Forum Ifix Tcen Tcen">
<META NAME="Robots" CONTENT="INDEX,FOLLOW">
<META NAME="author" content="Berlino 4 Super Zeta">
<META NAME="Language" CONTENT="Italiano, English">
</head>
<body>
<a href="#top">
<h1>Index Superzeta count topics found on date %s</h1></a>
<hr>
''' % (topiclistcomma, date)
in_topics.append('Unclassified')
for cat in in_topics :
print >> OUT, '[<a href="#%s">%s</a>] \n' % (cat, cat)
#-------------------------------------------------------------------------
print >> OUT, "<hr>\n"
for cat in in_topics :
s = '<a name="%s" id="%s"></a><h1>%s<a href="#top"> ↑</a></h1>\n' % (cat, cat, cat)
print >> OUT, s
try :
for f in topiclist[cat] :
print >> OUT, f
except KeyError : pass
print >> OUT, "\n</body>\n</html>\n"
sys.exit(0)
se non è poesia questa...