Index: modules/statsmaster/templates/anonymize_ips_item.erb |
=================================================================== |
new file mode 100644 |
--- /dev/null |
+++ b/modules/statsmaster/templates/anonymize_ips_item.erb |
@@ -0,0 +1,27 @@ |
+file = os.path.join('/var/www/awstatsdata', '<%= title %>', |
+ 'awstats%s%s.%s.txt' % (month, year, '<%= title %>')) |
+if os.path.exists(file): |
+ with open(file, 'rb+') as f: |
+ mapstarted = False |
+ seekpos = None |
+ for line in f: |
+ if not mapstarted: |
+ if line.startswith('BEGIN_MAP '): |
+ mapstarted = True |
+ else: |
+ match = re.search(r'^POS_VISITOR (\d+)', line) |
+ if match: |
+ seekpos = int(match.group(1)) |
+ break |
+ |
+ f.seek(seekpos) |
+ data = f.readline() # BEGIN_VISITOR line |
+ for line in f: |
+ if line.startswith("END_VISITOR"): |
+ break |
+ parts = line.split(' ') |
+ parts[0] = re.sub(r'\w', 'x', parts[0]) |
+ data += ' '.join(parts) |
+ |
+ f.seek(seekpos) |
+ f.write(data) |