Store files in month directory
This commit is contained in:
		| @@ -1,3 +1,4 @@ | ||||
| import os | ||||
|  | ||||
| class DisplayHTMLBlock(object): | ||||
|  | ||||
| @@ -56,7 +57,13 @@ class DisplayHTMLPage(object): | ||||
|         self.blocks.append(block) | ||||
|  | ||||
|     def build(self, root): | ||||
|         f = open(root + self.filename, 'w') | ||||
|         filename = root + self.filename | ||||
|  | ||||
|         base = os.path.dirname(filename) | ||||
|         if not os.path.exists(base): | ||||
|             os.makedirs(base) | ||||
|  | ||||
|         f = open(filename, 'w') | ||||
|         f.write('<html><title>%s</title><body>' % (self.title)) | ||||
|         for block in self.blocks: | ||||
|             block.build(f) | ||||
|   | ||||
							
								
								
									
										16
									
								
								iwla.py
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								iwla.py
									
									
									
									
									
								
							| @@ -77,11 +77,17 @@ class IWLA(object): | ||||
|  | ||||
|     def isValidForCurrentAnalysis(self, request): | ||||
|         cur_time = self.meta_infos['start_analysis_time'] | ||||
|         return (time.mktime(cur_time) <= time.mktime(request['time_decoded'])) | ||||
|         # Analyse not started | ||||
|         if not cur_time: return False | ||||
|         return (time.mktime(cur_time) < time.mktime(request['time_decoded'])) | ||||
|  | ||||
|     def hasBeenViewed(self, request): | ||||
|         return int(request['status']) in conf.viewed_http_codes | ||||
|  | ||||
|     def getCurDisplayRoot(self): | ||||
|         cur_time = self.meta_infos['last_time'] | ||||
|         return '%d/%d/' % (cur_time.tm_year, cur_time.tm_mon) | ||||
|  | ||||
|     def _clearMeta(self): | ||||
|         self.meta_infos = { | ||||
|             'last_time' : None | ||||
| @@ -93,7 +99,7 @@ class IWLA(object): | ||||
| 	return self.display | ||||
|  | ||||
|     def getDBFilename(self, time): | ||||
|         return (conf.DB_ROOT + '%d/%d_%s') % (time.tm_year, time.tm_mon, conf.DB_FILENAME) | ||||
|         return (conf.DB_ROOT + '%d/%d/%s') % (time.tm_year, time.tm_mon, conf.DB_FILENAME) | ||||
|  | ||||
|     def _serialize(self, obj, filename): | ||||
|         base = os.path.dirname(filename) | ||||
| @@ -214,14 +220,14 @@ class IWLA(object): | ||||
|  | ||||
|     def getDisplayIndex(self): | ||||
|         cur_time = self.meta_infos['last_time'] | ||||
|         filename = '%d/index_%d.html' % (cur_time.tm_year, cur_time.tm_mon) | ||||
|         filename = '%s/index.html' % (self.getCurDisplayRoot()) | ||||
|  | ||||
|         return self.display.getPage(filename) | ||||
|  | ||||
|     def _generateDisplayDaysStat(self): | ||||
|         cur_time = self.meta_infos['last_time'] | ||||
|         title = 'Stats %d/%d' % (cur_time.tm_mon, cur_time.tm_year) | ||||
|         filename = '%d/index_%d.html' % (cur_time.tm_year, cur_time.tm_mon) | ||||
|         filename = '%s/index.html' % (self.getCurDisplayRoot()) | ||||
|         print '==> Generate display (%s)' % (filename) | ||||
|         page = DisplayHTMLPage(title, filename) | ||||
|  | ||||
| @@ -367,7 +373,7 @@ class IWLA(object): | ||||
|             self.analyse_started = True | ||||
|         else: | ||||
|             if not self.analyse_started: | ||||
|                 if not self.isValidForCurrentAnalysis(hit): | ||||
|                 if time.mktime(t) < time.mktime(cur_time): | ||||
|                     return False | ||||
|                 else: | ||||
|                     self.analyse_started = True | ||||
|   | ||||
| @@ -15,11 +15,10 @@ class IWLADisplayAllVisits(IPlugin): | ||||
|  | ||||
|         last_access = sorted(hits.values(), key=lambda t: t['last_access'], reverse=True) | ||||
|  | ||||
|         cur_time = self.iwla.getCurTime() | ||||
|         title = time.strftime('All visits - %B %Y', cur_time) | ||||
|         title = time.strftime('All visits - %B %Y', self.iwla.getCurTime()) | ||||
|  | ||||
|         filename = 'all_visits_%d.html' % (cur_time.tm_mon) | ||||
|         path = '%d/%s' % (cur_time.tm_year, filename) | ||||
|         filename = 'all_visits.html' | ||||
|         path = '%s/%s' % (self.iwla.getCurDisplayRoot(), filename) | ||||
|  | ||||
|         page = DisplayHTMLPage(title, path) | ||||
|         table = DisplayHTMLBlockTable('Last seen', ['Host', 'Pages', 'Hits', 'Bandwidth', 'Last seen']) | ||||
|   | ||||
| @@ -54,8 +54,8 @@ class IWLADisplayReferers(IPlugin): | ||||
|         cur_time = self.iwla.getCurTime() | ||||
|         title = time.strftime('Connexion from - %B %Y', cur_time) | ||||
|  | ||||
|         filename = 'referers_%d.html' % (cur_time.tm_mon) | ||||
|         path = '%d/%s' % (cur_time.tm_year, filename) | ||||
|         filename = 'referers.html' | ||||
|         path = '%s/%s' % (self.iwla.getCurDisplayRoot(), filename) | ||||
|  | ||||
|         page = DisplayHTMLPage(title, path) | ||||
|         table = DisplayHTMLBlockTable('Connexion from', ['Origin', 'Pages', 'Hits']) | ||||
| @@ -93,8 +93,8 @@ class IWLADisplayReferers(IPlugin): | ||||
|         # All key phrases in a file | ||||
|         title = time.strftime('Key Phrases - %B %Y', cur_time) | ||||
|  | ||||
|         filename = 'key_phrases_%d.html' % (cur_time.tm_mon) | ||||
|         path = '%d/%s' % (cur_time.tm_year, filename) | ||||
|         filename = 'key_phrases.html' | ||||
|         path = '%s/%s' % (self.iwla.getCurDisplayRoot(), filename) | ||||
|  | ||||
|         page = DisplayHTMLPage(title, path) | ||||
|         table = DisplayHTMLBlockTable('Top key phrases', ['Key phrase', 'Search']) | ||||
|   | ||||
| @@ -22,11 +22,10 @@ class IWLADisplayTopDownloads(IPlugin): | ||||
|             table.appendRow([uri, entrance]) | ||||
|         index.appendBlock(table) | ||||
|  | ||||
|         cur_time = self.iwla.getCurTime() | ||||
|         title = time.strftime('Top Downloads - %B %Y', cur_time) | ||||
|         title = time.strftime('Top Downloads - %B %Y', self.iwla.getCurTime()) | ||||
|  | ||||
|         filename = 'top_downloads_%d.html' % (cur_time.tm_mon) | ||||
|         path = '%d/%s' % (cur_time.tm_year, filename) | ||||
|         filename = 'top_downloads.html' | ||||
|         path = '%s/%s' % (self.iwla.getCurDisplayRoot(), filename) | ||||
|  | ||||
|         page = DisplayHTMLPage(title, path) | ||||
|         table = DisplayHTMLBlockTable('All Downloads', ['URI', 'Hit'])         | ||||
|   | ||||
| @@ -22,11 +22,10 @@ class IWLADisplayTopHits(IPlugin): | ||||
|             table.appendRow([uri, entrance]) | ||||
|         index.appendBlock(table) | ||||
|  | ||||
|         cur_time = self.iwla.getCurTime() | ||||
|         title = time.strftime('All Hits - %B %Y', cur_time) | ||||
|         title = time.strftime('All Hits - %B %Y', self.iwla.getCurTime()) | ||||
|  | ||||
|         filename = 'top_hits_%d.html' % (cur_time.tm_mon) | ||||
|         path = '%d/%s' % (cur_time.tm_year, filename) | ||||
|         filename = 'top_hits.html' | ||||
|         path = '%s/%s' % (self.iwla.getCurDisplayRoot(), filename) | ||||
|  | ||||
|         page = DisplayHTMLPage(title, path) | ||||
|         table = DisplayHTMLBlockTable('Top Hits', ['URI', 'Entrance'])         | ||||
|   | ||||
| @@ -22,11 +22,10 @@ class IWLADisplayTopPages(IPlugin): | ||||
|             table.appendRow([uri, entrance]) | ||||
|         index.appendBlock(table) | ||||
|  | ||||
|         cur_time = self.iwla.getCurTime() | ||||
|         title = time.strftime('All Pages - %B %Y', cur_time) | ||||
|         title = time.strftime('All Pages - %B %Y', self.iwla.getCurTime()) | ||||
|  | ||||
|         filename = 'top_pages_%d.html' % (cur_time.tm_mon) | ||||
|         path = '%d/%s' % (cur_time.tm_year, filename) | ||||
|         filename = 'top_pages.html' | ||||
|         path = '%s/%s' % (self.iwla.getCurDisplayRoot(), filename) | ||||
|  | ||||
|         page = DisplayHTMLPage(title, path) | ||||
|         table = DisplayHTMLBlockTable('Top Pages', ['URI', 'Entrance'])         | ||||
|   | ||||
		Reference in New Issue
	
	Block a user