import string
import os

#
# T: vipers_team
# H: vipers_hd
# S: vipers_sims
# L: vipers_speclines
# G: vipers_galev
#

MLISTS = ('TEAM','SIMS','HD','GALEV','SPECLINES')

MLISTSCODES = ('T','S','H','G','L')

LIST = {'Enzo Branchini':('TS','branchin@fis.uniroma3.it'),
	'Gigi Guzzo':('TSHGL','luigi.guzzo@brera.inaf.it'),
	'Gabriella De Lucia':('TSG','delucia@oats.inaf.it'),
	'Olivier LeFevre':('TG', 'olivier.lefevre@lam.fr'),
	'Jean Coupon':('TG','jean.coupon@unige.ch'),
	'Dario Bottini':('T','bottini@lambrate.inaf.it'),
	'Christophe Adami':('T','christophe.adami@lam.fr'),
	'Alberto Cappi':('TSG','alberto.cappi@oabo.inaf.it'),
	'John Peacock':('TS','jap@roe.ac.uk'),
	'Olga Cucciati':('TSG','olga.cucciati@oabo.inaf.it'),
	'Marco Scodeggio':('THGSL','marcos@lambrate.inaf.it'),
	'Agnieszka Pollo':('TSG','Agnieszka.Pollo@fuw.edu.pl'),
	'Christian Marinoni':('T','christian.marinoni@cpt.univ-mrs.fr'),
	'Alessandra Zanichelli':('TGL','a.zanichelli@ira.inaf.it'),
	'Vincent LeBrun':('T','vincent.lebrun@lam.fr'),
	'Daniela Vergani':('TGL','vergani@iasfbo.inaf.it'),
	'Will Percival':('TSG','will.percival@port.ac.uk'),
	'Micol Bolzonella':('TG','micol.bolzonella@oabo.inaf.it'),
	'Jeremy Blaizot':('TSG','blaizot@obs.univ-lyon1.fr'),
	'Yannick Mellier':('T','mellier@iap.fr'),
	'Lidia Tasca':('TG','lidia.tasca@lam.fr'),
	'Paolo Franzetti':('TH','paolo@lambrate.inaf.it'),
	'Dario Maccagni':('T','dario@lambrate.inaf.it'),
	'Kasia Malek':('TG','malek@cft.edu.pl'),
	'Alex Szalay':('T','szalay@jhu.edu'),
	'Bob Nichol':('TG','Bob.Nichol@port.ac.uk'),
	'Henry Joy McCracken':('TG','hjmcc@iap.fr'),
	'Olivier Ilbert':('TG','olivier.ilbert@lam.fr'),
	'Giovanni Zamorani':('TG','giovanni.zamorani@oabo.inaf.it'),
	'Sylvain DeLaTorre':('TS','sylvain.delatorre@lam.fr>'),
	'Angela Iovino':('TSG','angela.iovino@brera.inaf.it'),
	'Bianca Garilli':('THGL','bianca@lambrate.inaf.it'),
	'Janusz Krywult':('TG','krywult@ujk.edu.pl'),
	'Federico Marulli':('TS','federico.marulli3@unibo.it'),
	'Mari Polletta':('TG','polletta@iasf-milano.inaf.it'),
	'Lauro Moscardini':('TS','lauro.moscardini@unibo.it'),
	'Ummi Abbas':('TS','abbas@oato.inaf.it'),
	'Rita Tojeiro':('TG','rmftr@st-andrews.ac.uk'),
	'Stephane Arnouts':('TG','stephane.arnouts@lam.fr'),
	'Julien Bel':('T','Julien.Bel@cpt.univ-mrs.fr'),
	'Carlo Schimd':('T','carlo.schimd@lam.fr'),
	'Ben Granett':('TG','ben.granett@brera.inaf.it'),
	'Alexander Fritz':('THGL','afritz@lambrate.inaf.it'),
	'Alida Marchetti' : ('TG','alida@lambrate.inaf.it'),
	'Cinzia Di Porto' : ('T','cinzia.diporto@oabo.inaf.it'),
	'Iary Davidzon' : ('TG', 'iary.davidzon@lam.fr'),
	'Angela Burden':('T','Angela.Burden@port.ac.uk'),
	'Marco Fumana' : ('TH','fumana@lambrate.inaf.it'),
	'Lizzie Eardley' : ('T','ee@roe.ac.uk'),
        'Michael Wilson' : ('T','mjw@roe.ac.uk'),
        'Ola Solarz' : ('TG', 'ola@solarz.com.pl '),
        'Eric Jullo' : ('T','eric.jullo@lam.fr'),
	'Vivien Scottez' : ('T', 'scottez@iap.fr'),
	'Thibaud Moutard' : ('T', 'thibaud.moutard@lam.fr'),
	'Adam Hawken' : ('T', 'adam.hawken@brera.inaf.it'),
	'Andrea Pezzotta' : ('T', 'andrea.pezzotta@brera.inaf.it'),
 	'Tsutomu Takeuchi' : ('T', 'takeuchi.tsutomu@g.mbox.nagoya-u.ac.jp'),
	'Letizia Cassara' : ('TG', 'letizia@lambrate.inaf.it'),
	'Gosia Siudek' : ('TG', 'malgorzata.siudek@gmail.com'),
	'Aleksandra Nadkanska' : ('T', 'a.nadkanska@gmail.com'),
	'Tobiasz Gorecki' : ('T', 'tobiasz.gorecki@interia.pl'),
	'Adriana Gargiulo' : ('TG', 'adriana@lambrate.inaf.it'),
        'Stefano Rota' : ('T', 'stefano@lambrate.inaf.it'),
	'Jun Koda' : ('T', 'jun.koda@brera.inaf.it'),
	'Faizan Mohammad' : ('T', 'faizan.mohammad@brera.inaf.it'),
	'Chris Haines' : ('TG', 'chris.haines@oa-brera.inaf.it'),
	'Nicola Malavasi' : ('T', 'nicola.malavasi@unibo.it'),
	'Oskar Kopczynski' : ('TG', 'oskar.k@poczta.onet.pl'),
	'Tomasz Krakowski' : ('TG', 'Tomasz.Krakowski@ncbj.gov.pl')
	}




class Page:

	DB = False

	def __init__(self, session, config):

		self.session = session
		self.config = config

		self.tolog = None
		
	
	def draw(self, resp, form):
		
		if form['list'] == 'members':
			
			keys = LIST.keys()
			keys.sort()
			
			html = ''
			
			for mlist,mkey in zip(MLISTS,MLISTSCODES):
			
				html += '<table width="600" cellpadding="2" cellspacing="0" border="1">'
				html += '<tr><td colspan="2" align="center"><span class="large bold">%s</span>' % mlist
				html += '<br><span class="small bold">vipers_%s AT lambrate.inaf.it</span></td></tr>' % string.lower(mlist)
				
				for key in keys:				
					if mkey in LIST[key][0]:
						html += '<tr><td width="300"><span class="small bold">%s</span></td><td><span class="small bold">%s</span></td></tr>' % (key,string.replace(LIST[key][1],'@',' AT '))
				
				html += '</table><br>'
			
					
					
					
			resp.set_page('generic', title='VIPERS MAILING LISTS MEMBERS' , html=html)
			
			
			
		else:
			
			f = open('%s/maillists/vipers_%s/%s.html' % (os.path.dirname(__file__), form['list'], form['mode']))		
			html = f.read()
			f.close()
			
			html = string.replace(html,'a href="', 'a href="/internal/maillists/vipers_%s/' % form['list'])
			
			for mode in 'index','author','date','subject','attachment':
				html = string.replace(html,'a href="/internal/maillists/vipers_%s/%s.html' % (form['list'],mode), 'a href="/internal/mlist.py?list=%s&mode=%s' % (form['list'],mode))

				
			html = html[html.index('<ul>'):]	
				
			resp.set_page('generic', title='VIPERS %s MAILING LIST' % string.upper(form['list']), html=html)
		
			
			
			
			
	
