Skip to content

Instantly share code, notes, and snippets.

@acanalesg
Last active January 4, 2016 02:59
Show Gist options
  • Save acanalesg/8559062 to your computer and use it in GitHub Desktop.
Save acanalesg/8559062 to your computer and use it in GitHub Desktop.
Quick Mock-up for the back-end. Only requires web.py (pip install web.py), to use it just start: ``` python geobrow_mock.py ``` And then you can call the api: ``` http://localhost:8080/cells?lat=40.12&lon=-3.687994&dist=5000 http://localhost:8080/cats?lat=40.12&lon=-3.687994&dist=5000 http://localhost:8080/domains?lat=40.12&lon=-3.687994&dist=50…
import web
import random
import json
import time
urls = (
'/cells(.*)', 'CellFinder',
'/domains(.*)', 'DomainFinder',
'/cats(.*)', 'CategoryFinder',
)
app = web.application(urls, globals())
categories_choice = ['Searching/Search_Engines', 'Computers/Companies/Apple_Inc.',
'Sports', 'Computers/Companies/Microsoft_Corporation', 'Internet_Services/File_Sharing']
domains_choice = ['www.google.com', 'www.twitter.es', 'samsungvuiasr.vlingo.com', 'static.ak.facebook.com',
'www.eltiempo.es', 'prisacom.112.2o7.net']
class CellFinder: # Mock-up
def GET(self, name):
input = web.input(lat=0, lon=0, dist=0)
random.seed(input.lat + input.lon + input.dist)
cells = []
for _ in range(random.randrange(10)):
cell = {'dist': round(random.random() * int(input.dist), 3),
'id': str(random.randrange(100000000, 999999999)),
'lat': 40.1322805833, 'lng': -3.65155519607,
'province': random.choice(['Madrid', 'Barcelona', 'Valladolid'])
}
cells.append(cell)
return json.dumps(cells)
class DomainFinder: # Mock-up
def GET(self, name):
input = web.input(lat=0, lon=0, dist=0)
random.seed(input.lat + input.lon + input.dist)
domains = []
for i in range(100):
domain = {'domain': random.choice(domains_choice),
'pos': i,
'cnt': int(random.random() * 1000)}
domains.append(domain)
time.sleep(2) # Esta operacion puede tardar un rato
return json.dumps(domains)
class CategoryFinder: # Mock-up
def GET(self, name):
input = web.input(lat=0, lon=0, dist=0)
random.seed(input.lat + input.lon + input.dist)
categories = []
for i in range(100):
cat = {'category': random.choice(domains_choice),
'pos': i,
'cnt': int(random.random() * 1000)}
categories.append(cat)
time.sleep(2) # Esta operacion puede tardar un rato
return json.dumps(categories)
if __name__ == "__main__":
app.run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment