summaryrefslogtreecommitdiffstats
path: root/src/emailmap.py
blob: 338c41238a3581e8ddcb3e62687632abf336f9a9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-

import os
import time
import datetime

class EmailMap:
	def __init__(self):
		templateFile = open(os.path.join(os.path.dirname(__file__), "template/map.html"), "r")
		self.__template = templateFile.read()
		templateFile.close()
		self.__emails = []
		self.__pointsIndex = self.__template.find("%%POINTS%%")
	def addEmail(self, email):
		if email.location()[1][0] == "" and email.location()[1][1] == "":
			return #Country level hits are not sutiable
		self.__emails.append(email)
	def writeMap(self, outfile):
		self.__emails.sort()
		outfile.write(self.__template[:self.__pointsIndex]);
		points = []
		for index, email in enumerate(self.__emails):
			outfile.write(("\t\t\tnew Location(%s, %s, \"%s\", \"%s\", %s)" % (email.location()[0][0], email.location()[0][1], email.ip, "%s, %s, %s" % email.location()[1], time.mktime(email.date.timetuple()) * 1000)).encode("utf-8"))
			points.append((float(email.location()[0][0]), float(email.location()[0][1])))
			if index < len(self.__emails) - 1:
				outfile.write(",\n")
		outfile.write(self.__template[self.__pointsIndex + 10:])