Remove detection from awstats dataset for browser
This commit is contained in:
@@ -55,21 +55,35 @@ Statistics deletion :
|
||||
None
|
||||
"""
|
||||
|
||||
browser_order = ['android', 'iphone', 'xbox', 'edge', 'chrome', 'safari', 'firefox', 'curl', 'wget', 'w3m']
|
||||
|
||||
browser_hashid = {
|
||||
'android':'Android',
|
||||
'iphone':'iPhone',
|
||||
'edge':'Edg',
|
||||
'chrome':'Chrom',
|
||||
'safari':'Safari',
|
||||
'firefox':'Firefox',
|
||||
'xbox':'Xbox',
|
||||
'curl':'curl',
|
||||
'wget':'Wget',
|
||||
'w3m':'w3m'
|
||||
}
|
||||
|
||||
browser_name = {
|
||||
'android':'Android',
|
||||
'iphone':'iPhone',
|
||||
'edge':'Edge',
|
||||
'chrome':'Chrome',
|
||||
'safari':'Safari',
|
||||
'firefox':'Firefox',
|
||||
'xbox':'Xbox',
|
||||
'curl':'Curl',
|
||||
'wget':'Wget',
|
||||
'w3m':'w3m'
|
||||
}
|
||||
|
||||
class IWLAPostAnalysisBrowsers(IPlugin):
|
||||
def __init__(self, iwla):
|
||||
super(IWLAPostAnalysisBrowsers, self).__init__(iwla)
|
||||
self.API_VERSION = 1
|
||||
|
||||
def load(self):
|
||||
self.browsers = []
|
||||
|
||||
for hashid in awstats_data.browsers:
|
||||
hashid_re = re.compile(r'.*%s.*' % (hashid), re.IGNORECASE)
|
||||
|
||||
if hashid in awstats_data.browsers_hashid.keys():
|
||||
self.browsers.append((hashid_re, awstats_data.browsers_hashid[hashid]))
|
||||
|
||||
return True
|
||||
|
||||
def hook(self):
|
||||
stats = self.iwla.getValidVisitors()
|
||||
@@ -85,19 +99,19 @@ class IWLAPostAnalysisBrowsers(IPlugin):
|
||||
user_agent = r['http_user_agent']
|
||||
if not user_agent: continue
|
||||
|
||||
browser_name = 'unknown'
|
||||
for (hashid_re, browser) in self.browsers:
|
||||
if hashid_re.match(user_agent):
|
||||
browser_name = browser
|
||||
name = 'Unknown'
|
||||
for browser in browser_order:
|
||||
if browser_hashid[browser] in user_agent:
|
||||
name = browser_name[browser]
|
||||
break
|
||||
super_hit['browser'] = browser_name
|
||||
super_hit['browser'] = name
|
||||
break
|
||||
else:
|
||||
browser_name = super_hit['browser']
|
||||
name = super_hit['browser']
|
||||
|
||||
if not browser_name in browsers_stats.keys():
|
||||
browsers_stats[browser_name] = 1
|
||||
if not name in browsers_stats.keys():
|
||||
browsers_stats[name] = 1
|
||||
else:
|
||||
browsers_stats[browser_name] += 1
|
||||
browsers_stats[name] += 1
|
||||
|
||||
month_stats['browsers'] = browsers_stats
|
||||
|
||||
Reference in New Issue
Block a user