Do a lot of things
This commit is contained in:
22
iwla.py
22
iwla.py
@@ -34,7 +34,7 @@ class IWLA(object):
|
||||
self.log_format_extracted = re.sub(r'\$(\w+)', '(?P<\g<1>>.+)', self.log_format_extracted)
|
||||
self.http_request_extracted = re.compile(r'(?P<http_method>\S+) (?P<http_uri>\S+) (?P<http_version>\S+)')
|
||||
self.log_re = re.compile(self.log_format_extracted)
|
||||
self.uri_re = re.compile(r'(?P<extract_uri>[^\?]*)[\?(?P<extract_parameters>.*)]?')
|
||||
self.uri_re = re.compile(r'(?P<extract_uri>[^\?]+)(\?(?P<extract_parameters>.+))?')
|
||||
self.plugins = {conf.PRE_HOOK_DIRECTORY : conf.pre_analysis_hooks,
|
||||
conf.POST_HOOK_DIRECTORY : conf.post_analysis_hooks,
|
||||
conf.DISPLAY_HOOK_DIRECTORY : conf.display_hooks}
|
||||
@@ -143,9 +143,9 @@ class IWLA(object):
|
||||
|
||||
hit['is_page'] = self.isPage(uri)
|
||||
|
||||
# Don't count 3xx status
|
||||
status = int(hit['status'])
|
||||
if status >= 300 and status < 400: return
|
||||
if status not in conf.viewed_http_codes:
|
||||
return
|
||||
|
||||
if super_hit['robot'] or\
|
||||
not status in conf.viewed_http_codes:
|
||||
@@ -163,6 +163,7 @@ class IWLA(object):
|
||||
def _createVisitor(self, hit):
|
||||
super_hit = self.current_analysis['visits'][hit['remote_addr']] = {}
|
||||
super_hit['remote_addr'] = hit['remote_addr']
|
||||
super_hit['remote_ip'] = hit['remote_addr']
|
||||
super_hit['viewed_pages'] = 0
|
||||
super_hit['viewed_hits'] = 0
|
||||
super_hit['not_viewed_pages'] = 0
|
||||
@@ -191,9 +192,10 @@ class IWLA(object):
|
||||
print "Bad request extraction " + hit['request']
|
||||
return False
|
||||
|
||||
referer_groups = self.uri_re.match(hit['http_referer'])
|
||||
if referer_groups:
|
||||
referer = hit['extract_referer'] = referer_groups.groupdict()
|
||||
if hit['http_referer']:
|
||||
referer_groups = self.uri_re.match(hit['http_referer'])
|
||||
if referer_groups:
|
||||
hit['extract_referer'] = referer_groups.groupdict()
|
||||
return True
|
||||
|
||||
def _decodeTime(self, hit):
|
||||
@@ -229,13 +231,13 @@ class IWLA(object):
|
||||
nb_days = len(keys)
|
||||
row = [0, nb_visits, stats['viewed_pages'], stats['viewed_hits'], stats['viewed_bandwidth'], stats['not_viewed_bandwidth']]
|
||||
if nb_days:
|
||||
average_row = map(lambda(v): str(int(v/nb_days)), row)
|
||||
average_row = map(lambda(v): int(v/nb_days), row)
|
||||
else:
|
||||
average_row = map(lambda(v): '0', row)
|
||||
average_row = map(lambda(v): 0, row)
|
||||
|
||||
average_row[0] = 'Average'
|
||||
average_row[4] = bytesToStr(row[4])
|
||||
average_row[5] = bytesToStr(row[5])
|
||||
average_row[4] = bytesToStr(average_row[4])
|
||||
average_row[5] = bytesToStr(average_row[5])
|
||||
days.appendRow(average_row)
|
||||
|
||||
row[0] = 'Total'
|
||||
|
||||
Reference in New Issue
Block a user