"""CGIWrapper main admin script."""

from time import time, localtime, gmtime, asctime

from WebUtils.Funcs import urlEncode
from AdminPage import AdminPage


class Page(AdminPage):
	"""CGIWrapper main administration page."""

	def title(self):
		return 'Admin'

	def writeBody(self):
		curTime = time()
		self.writeln('''
		<table align="center" cellspacing="2" cellpadding="2" border="0">
			<tr><th>Version:</th><td>%s</td></tr>
			<tr><th>Local time:</th><td>%s</td></tr>
			<tr><th>Global time:</th><td>%s</td></tr>
		</table>''' % (self._wrapper.version(),
		asctime(localtime(curTime)), asctime(gmtime(curTime))))
		self.startMenu()
		self.menuItem('Script log contents', '_dumpCSV?filename=%s'
			% urlEncode(self._wrapper.setting('ScriptLogFilename')))
		self.menuItem('Error log contents', '_dumpErrors?filename=%s'
			% urlEncode(self._wrapper.setting('ErrorLogFilename')))
		self.menuItem('Show config', '_showConfig')
		self.endMenu()

		self.writeln('''
<!--
begin-parse
{
	'Version': %r,
	'LocalTime': %r,
	'GlobalTime': %r
}
end-parse
-->''' % (self._wrapper.version(), localtime(curTime), gmtime(curTime)))

	def startMenu(self):
		self.write('''
		<div style="font-size:12pt;font-family:Arial,Helvetica,sans-serif">
		<table align="center" border="0" cellspacing="2" cellpadding="2" bgcolor="#E8E8F0">
			<tr bgcolor="#101040"><th align="center" style="color:white">Menu</th></tr>
			<tr><td>''')

	def menuItem(self, title, url):
		self.write('''
			<tr><td align="center"><a href="%s">%s</a></td></tr>'''
			% (url, title))

	def endMenu(self):
		self.writeln('''
		</table>
		</div>''')
