Add top_hits plugin
This commit is contained in:
		
							
								
								
									
										33
									
								
								plugins/post_analysis/top_hits.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								plugins/post_analysis/top_hits.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| from iwla import IWLA | ||||
| from iplugin import IPlugin | ||||
|  | ||||
| class IWLAPostAnalysisTopHits(IPlugin): | ||||
|     def __init__(self, iwla): | ||||
|         super(IWLAPostAnalysisTopHits, self).__init__(iwla) | ||||
|         self.API_VERSION = 1 | ||||
|  | ||||
|     def hook(self): | ||||
|         stats = self.iwla.getCurrentVisists() | ||||
|         month_stats = self.iwla.getMonthStats() | ||||
|          | ||||
|         top_hits = month_stats.get('top_hits', {}) | ||||
|  | ||||
|         for (k, super_hit) in stats.items(): | ||||
|             if super_hit['robot']: continue | ||||
|             for r in super_hit['requests']: | ||||
|                 if r['is_page']: continue | ||||
|  | ||||
|                 if not self.iwla.isValidForCurrentAnalysis(r) or\ | ||||
|                         not self.iwla.hasBeenViewed(r): | ||||
|                     continue | ||||
|  | ||||
|                 uri = r['extract_request']['extract_uri'] | ||||
|                  | ||||
|                 uri = "%s%s" % (r.get('server_name', ''), uri) | ||||
|  | ||||
|                 if not uri in top_hits.keys(): | ||||
|                     top_hits[uri] = 1 | ||||
|                 else: | ||||
|                     top_hits[uri] += 1 | ||||
|  | ||||
|         month_stats['top_hits'] = top_hits | ||||
		Reference in New Issue
	
	Block a user