]> jfr.im git - irc/rizon/acid.git/blob - pyva/pyva/src/main/python/esim/api/map.py
Split pyva plugin into pyva.core and pyva.pyva
[irc/rizon/acid.git] / pyva / pyva / src / main / python / esim / api / map.py
1 import utils
2 from feed import get_json
3 from time import time
4
5 def get_region_from_map(r):
6 map = Map().get()
7 for entry in map:
8 if entry['regionId'] == r['id']:
9 return entry
10
11 def get_region_from_regions(r):
12 regions = Regions().get()
13 for entry in regions:
14 if entry['id'] == r['id']:
15 return entry
16
17 def get_country_by_id(id):
18 countries = Countries().get()
19 for entry in countries:
20 if entry['id'] == id:
21 return entry
22
23
24 class Map(object):
25 def __init__(self):
26 self.cache = [0, None]
27
28 def get(self):
29 if (time() - self.cache[0]) > 1800:
30 data = get_json('http://e-sim.org/apiMap.html')
31 self.cache = [time(), data]
32 return data
33 else:
34 return self.cache[1]
35
36 class Regions(object):
37 def __init__(self):
38 self.cache = [0, None]
39
40 def get(self):
41 if (time() - self.cache[0]) > 1800:
42 data = get_json('http://e-sim.org/apiRegions.html')
43 self.cache = [time(), data]
44 return data
45 else:
46 return self.cache[1]
47
48 class Countries(object):
49 def __init__(self):
50 self.data = None
51 self.get()
52
53 def get(self):
54 if not self.data:
55 self.data = get_json('http://e-sim.org/apiCountries.html')
56 return self.data
57 else:
58 return self.data