| 
									
										
										
										
											2014-11-21 16:57:37 +01:00
										 |  |  | import time | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-24 17:13:59 +01:00
										 |  |  | from iwla import IWLA | 
					
						
							|  |  |  | from iplugin import IPlugin | 
					
						
							|  |  |  | from display import * | 
					
						
							| 
									
										
										
										
											2014-11-21 16:57:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-24 17:13:59 +01:00
										 |  |  | class IWLADisplayTopVisitors(IPlugin): | 
					
						
							| 
									
										
										
										
											2014-11-24 21:42:57 +01:00
										 |  |  |     def __init__(self, iwla): | 
					
						
							|  |  |  |         super(IWLADisplayTopVisitors, self).__init__(iwla) | 
					
						
							| 
									
										
										
										
											2014-11-24 17:13:59 +01:00
										 |  |  |         self.API_VERSION = 1 | 
					
						
							|  |  |  |         self.requires = ['IWLAPostAnalysisTopVisitors'] | 
					
						
							| 
									
										
										
										
											2014-11-22 19:23:56 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-24 17:13:59 +01:00
										 |  |  |     def hook(self, iwla): | 
					
						
							|  |  |  |         stats = iwla.getMonthStats() | 
					
						
							| 
									
										
										
										
											2014-11-22 19:23:56 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-24 17:13:59 +01:00
										 |  |  |         index = iwla.getDisplayIndex() | 
					
						
							|  |  |  |         table = DisplayHTMLBlockTable('Top visitors', ['Host', 'Pages', 'Hits', 'Bandwidth', 'Last seen']) | 
					
						
							|  |  |  |         for super_hit in stats['top_visitors']: | 
					
						
							| 
									
										
										
										
											2014-11-26 16:17:16 +01:00
										 |  |  |             address = super_hit['remote_addr'] | 
					
						
							|  |  |  |             if self.iwla.getConfValue('display_visitor_ip', False) and\ | 
					
						
							|  |  |  |                     super_hit.get('dns_name_replaced', False): | 
					
						
							|  |  |  |                 address = '%s [%s]' % (address, super_hit['remote_ip']) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-24 17:13:59 +01:00
										 |  |  |             row = [ | 
					
						
							| 
									
										
										
										
											2014-11-26 16:17:16 +01:00
										 |  |  |                 address, | 
					
						
							| 
									
										
										
										
											2014-11-24 17:13:59 +01:00
										 |  |  |                 super_hit['viewed_pages'], | 
					
						
							|  |  |  |                 super_hit['viewed_hits'], | 
					
						
							|  |  |  |                 bytesToStr(super_hit['bandwidth']), | 
					
						
							|  |  |  |                 time.asctime(super_hit['last_access']) | 
					
						
							|  |  |  |                 ] | 
					
						
							|  |  |  |             table.appendRow(row) | 
					
						
							|  |  |  |         index.appendBlock(table) |