aboutsummaryrefslogtreecommitdiff
path: root/mensa/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'mensa/base.py')
-rw-r--r--mensa/base.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/mensa/base.py b/mensa/base.py
index a6e8cfa..8db5b8c 100644
--- a/mensa/base.py
+++ b/mensa/base.py
@@ -36,17 +36,33 @@ def formt (food) :
if i.desc :
r = r+"\t "+i.desc+"\n"
return r
+from math import acos, radians, pi, cos, sin
+def dist(pos1, pos2) :
+ # gives a rough estimate of the distance Accuracy: +/- cos(angle
+ # between coordinates)*37/2pi. (about +/- 50 m for distances).
+ # Distance is returned in km
+ if pos1 is None or pos2 is None :
+ return float("Inf")
+ lat1, long1 = pos1
+ lat2, long2 = pos2
+
+ a = radians(90 - lat1);
+ b = radians(90 - lat2);
+ C = radians(abs(long1-long2));
+ return acos(cos(a)*cos(b)+sin(a)*sin(b)*cos(C))*40040/(2*pi);
+
foodsources = {}
renderers = {}
class Restaurant(object):
- def __init__(self, name, human_name, module, optional_args=[], obligatory_args=()):
+ def __init__(self, name, human_name, module, optional_args=[], obligatory_args=(), pos=None):
self.name = name
self.human_name = human_name
self.module = module
self.optional_args = optional_args
self.obligatory_args = obligatory_args
+ self.pos = pos
def get_food(self,**opt_args) :
return self.module.get_food_items(*self.obligatory_args, **opt_args)