first commit

This commit is contained in:
Sanj 2012-02-19 23:06:43 +05:30
commit 89221c78b6
3 changed files with 162 additions and 0 deletions

5
README Normal file
View File

@ -0,0 +1,5 @@
create a file called settings.py like this:
username = 'yourusername'
password = 'yourpassword'
url = 'http://next.pad.ma/api'

0
__init__.py Normal file
View File

157
utils.py Normal file
View File

@ -0,0 +1,157 @@
from settings import username, password, url
import ox
import json
import codecs
api = ox.api.API(url)
user = api.signin({'username': username, 'password': password})
if user['data'].has_key("errors"):
print "Authentication Failed!"
def titleContains(string):
return api.find({
'sort': [{
'key': 'title',
'operator': '+'
}],
'query': {
'conditions': [
{
'key': 'title',
'value': string,
'operator': ''
}
],
'operator': '&'
},
'keys': ['id', 'title']
})
def getIdFromTitle(string):
result = api.find({
'sort': [{
'key': 'title',
'operator': '+'
}],
'query': {
'conditions': [
{
'key': 'title',
'value': string,
'operator': '='
}
],
'operator': '&'
},
'keys': ['id', 'title']
})
items = result['data']['items']
if (len(items) > 1):
raise Exception("more than 1 item matches title")
elif (len(items) == 0):
return None
else:
return items[0]['id']
def addFeaturedPerson(id, person):
result = api.get({'id': id, 'keys': 'featured'})
featured = result['data']['featured']
if person in featured:
return
else:
featured.append(person)
return api.edit({
'id': id,
'featured': featured
})
def dumpUnknownPlaces():
result = api.findPlaces({
"query": {
"conditions": [{
'key': 'lat',
'value': None,
'operator': '='
}],
"operator": ""
},
"keys": [
"id",
"countryCode",
"type",
"name",
"alternativeNames",
"lat",
"lng",
"area",
"area",
"geoname",
"matches",
"matches"
],
"range": [
0,
5000
],
"sort": [
{
"key": "geoname",
"operator": "+"
}
]
})
out = codecs.open("unknownplaces.json", "w", encoding="utf-8")
json.dump(result['data']['items'], out)
out.close()
return result
def dumpKnownPlaces():
result = api.findPlaces({
"query": {
"conditions": [{
'key': 'lat',
'value': None,
'operator': '!'
}],
"operator": ""
},
"keys": [
"id",
"countryCode",
"type",
"name",
"alternativeNames",
"lat",
"lng",
"area",
"area",
"geoname",
"matches",
"matches"
],
"range": [
0,
5000
],
"sort": [
{
"key": "geoname",
"operator": "+"
}
]
})
out = codecs.open("knownplaces.json", "w", encoding="utf-8")
json.dump(result['data']['items'], out)
out.close()
return result
#def replaceAnnotation(track, old, new):
def getIds(result):
return [item.id for item in result['data']['items']]