1.1 --- a/EventAggregatorSupport.py Sun Aug 07 01:23:44 2011 +0200
1.2 +++ b/EventAggregatorSupport.py Sun Aug 07 14:44:42 2011 +0200
1.3 @@ -764,10 +764,10 @@
1.4 elif term in ("topics", "categories"):
1.5 desc = map(getSimpleWikiText, to_list(desc, ","))
1.6
1.7 - # Position details (using degrees:minutes:seconds).
1.8 + # Position details.
1.9
1.10 elif term == "geo":
1.11 - desc = map(getMapReference, to_list(desc, ";"))
1.12 + desc = map(getMapReference, to_list(desc, None))
1.13
1.14 # Labels which may well be quoted.
1.15
1.16 @@ -879,6 +879,11 @@
1.17 elif term in ("title", "summary"):
1.18 desc = getEncodedWikiText(event_details[term])
1.19
1.20 + # Position details.
1.21 +
1.22 + elif term == "geo":
1.23 + desc = " ".join(map(str, event_details[term]))
1.24 +
1.25 # Text which need not be quoted, but it will be Wiki text.
1.26
1.27 elif term in ("description", "link", "location"):
1.28 @@ -2370,7 +2375,10 @@
1.29 self.seconds = seconds
1.30
1.31 def __repr__(self):
1.32 - return "Reference(%d, %d, %d)" % (self.degrees, self.minutes, self.seconds)
1.33 + return "Reference(%d, %d, %f)" % (self.degrees, self.minutes, self.seconds)
1.34 +
1.35 + def __str__(self):
1.36 + return "%d:%d:%f" % (self.degrees, self.minutes, self.seconds)
1.37
1.38 def __add__(self, other):
1.39 if not isinstance(other, Reference):
1.40 @@ -2433,7 +2441,21 @@
1.41
1.42 "Return a map reference by parsing the given 'value'."
1.43
1.44 - return Reference(*map(float, value.split(":")))
1.45 + if value.find(":") != -1:
1.46 + return getMapReferenceFromDMS(value)
1.47 + else:
1.48 + return getMapReferenceFromDecimal(value)
1.49 +
1.50 +def getMapReferenceFromDMS(value):
1.51 +
1.52 + """
1.53 + Return a map reference by parsing the given 'value' expressed as degrees,
1.54 + minutes, seconds.
1.55 + """
1.56 +
1.57 + values = value.split(":")
1.58 + values = map(int, values[:2]) + map(float, values[2:3])
1.59 + return Reference(*values)
1.60
1.61 def getMapReferenceFromDecimal(value):
1.62