mirror of
https://github.com/cds-astro/aladin-lite.git
synced 2025-12-31 23:18:08 -08:00
62 lines
1.4 KiB
Python
Executable File
62 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
"""
|
|
Logger for Aladin Lite
|
|
"""
|
|
|
|
|
|
import os, sys
|
|
import cgitb
|
|
import cgi
|
|
from time import strftime
|
|
import fcntl
|
|
import traceback
|
|
|
|
scriptDir = os.path.split(os.path.realpath(sys.argv[0]))[0]
|
|
|
|
#### Retrieving parameters ####
|
|
form = cgi.FieldStorage()
|
|
if not form.has_key('action'):
|
|
print 'Content-Type: application/javascript\r\n'
|
|
sys.exit()
|
|
else:
|
|
action = form.getfirst('action')
|
|
callback = form.getfirst('callback', None)
|
|
|
|
params = form.getfirst('params', '')
|
|
pageUrl = form.getfirst('pageUrl', '')
|
|
referer = form.getfirst('referer', '')
|
|
|
|
logfile = 'aladin-lite-log.txt'
|
|
|
|
isodate = strftime("%Y-%m-%dT%H:%M:%S")
|
|
try:
|
|
if os.environ.has_key('REMOTE_ADDR'):
|
|
ip = os.environ['REMOTE_ADDR']
|
|
else:
|
|
ip = 'Unknown'
|
|
if os.environ.has_key('HTTP_USER_AGENT'):
|
|
userAgent = os.environ['HTTP_USER_AGENT']
|
|
else:
|
|
userAgent = 'Unknown'
|
|
|
|
logline = isodate+'\t'+ip+'\t'+action+'\t'+params+'\t'+userAgent+'\t'+referer+'\t'+pageUrl
|
|
|
|
h = open(logfile, 'a')
|
|
fcntl.lockf(h, fcntl.LOCK_EX)
|
|
h.write(logline+'\n')
|
|
fcntl.lockf(h, fcntl.LOCK_UN)
|
|
h.close()
|
|
except:
|
|
traceback.print_exc()
|
|
|
|
if callback:
|
|
print 'Content-Type: application/javascript\r\n'
|
|
print '%s({});' % (callback)
|
|
sys.exit()
|
|
else:
|
|
print 'Content-Type: application/javascript\r\n'
|
|
sys.exit()
|
|
|