-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDetect.py
More file actions
123 lines (92 loc) · 3.6 KB
/
Copy pathDetect.py
File metadata and controls
123 lines (92 loc) · 3.6 KB
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
__author__ = 'Per'
# 12.04.14
# works, working on XML-Parser-Integration minidom
from class_logentry import logentry
from class_cachelogs import cachelogs
from class_cache import cache
import xml.dom.minidom
fo = ""
def findDupes(cachelog):
x = cachelog.getLogs()
y = []
i = []
gccode = cachelog.cache.gccode
for f in range(1, len(x) + 1):
if x[-f].logtype != 'Found it':
i.append(x[-f])
else:
y.append(x[-f])
f = len(y)
if f >= 2:
fo.write(
"<html>\n <head>\n<title> GC DupeDetect </title>\n <link href='DupeDetectColors.css' rel='stylesheet'/> \n"
"</head>\n<body>\n<img src='./img/dupedetect.png' hight='45'/>\n"
" <h2>\n<a href='http://coords.info/" + gccode + "'target='blank'> Cache " + gccode +
"</a>\n</h2>")
else:
fo.write(
"<html>\n <head>\n<title> GC DupeDetect </title>\n <link href='DupeDetectColors.css' rel='stylesheet'/> \n"
"</head>\n<body>\n<img src='./img/dupedetect.png' hight='45'/>\n <h3 style='background-color: red; color: "
"blue'> No dupes detected! </h3>")
if f >= 2:
fo.write(" \n <h3 > These are the found-logs: </h3> \n")
for log in y:
x = str(log.printlog())
y = str(log.logid)
fo.write(
" <h4> <a href='http://www.geocaching.com/seek/log.aspx?LID=" + y + "'target='blank'> " + x + " </a> </h4> \n")
if len(i) >= 1:
fo.write(" \n <p> </p> \n <p> </p> \n <h3> These are the other logs: </h3> \n")
for log in i:
x = str(log.printlog())
y = str(log.logid)
fo.write(
" <h4> <a href='http://www.geocaching.com/seek/log.aspx?LID=" + y + "'target='_blank'> " + x + " </a> </h4> \n")
fo.write("\n</body>\n</html>")
print("\n \n \t \t HTML created. View DupeDetectWeb.hmtl and open in Browser for overview over your results \n \n")
def getTextFromDomElement(domElement, elementName):
return domElement.getElementsByTagName(elementName)[0].firstChild.wholeText
def readLogs():
for log in logs:
logid = log.attributes["id"].value
logtype = getTextFromDomElement(log, "groundspeak:type")
logdate = getTextFromDomElement(log, "groundspeak:date")
logtext = getTextFromDomElement(log, "groundspeak:text")
le1 = logentry(logid, logtype, logdate, logtext)
logentries.append(le1)
return logentries
def printLogs():
for log in logentries:
print(log.printlog())
def addLogs():
for log in logentries:
log1.add_logentry(log)
all_caches = []
logentries = []
filename = "./pocketqueries/test-cachelist.xml"
dom = xml.dom.minidom.parse(filename)
waypoints = dom.getElementsByTagName('wpt')
fo = open("DupeDetectWeb.html", "w")
i = 1
for wpt in waypoints:
geocode = getTextFromDomElement(wpt, "name")
geoname = getTextFromDomElement(wpt,"urlname")
cache1 = cache(geocode, geoname)
cachelog = cachelogs(cache1)
logs = wpt.getElementsByTagName("groundspeak:log")
for log in logs:
log_id = log.attributes['id'].value
log_type = getTextFromDomElement(log, "groundspeak:type")
log_date = getTextFromDomElement(log, "groundspeak:date")
log_text = getTextFromDomElement(log, "groundspeak:text")
log_entry = logentry(log_id, log_type, log_date, log_text)
cachelog.add_logentry(log_entry)
print("test")
all_caches.append(cachelog)
findDupes(cachelog)
print(i)
i += 1
# print(all_caches)
# cache_log = all_caches[0]
# print(cache_log.cache.gccode)
# z = cache_log.getLogs()