Remove detection from awstats dataset for browser

This commit is contained in:
Gregory Soutade
2023-03-23 21:16:54 +01:00
parent 44c76007cd
commit cad3467c25
105 changed files with 65 additions and 64 deletions

View File

@@ -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