mirror of
https://github.com/r4sas/py-i2phosts
synced 2025-02-09 13:24:22 +00:00
added api status tool
This commit is contained in:
parent
2634ae7c8e
commit
68e3b47be1
@ -2,4 +2,5 @@ from django.conf.urls import *
|
||||
|
||||
urlpatterns = patterns('pyi2phosts.api.views',
|
||||
url(r'^all/$', 'all'),
|
||||
url(r'^status/$', 'status'),
|
||||
)
|
||||
|
@ -14,3 +14,49 @@ def all(request):
|
||||
# pass last_seen to json in unixtime
|
||||
json_dict[get_b32(host.b64hash)] = host.last_seen.strftime("%s")
|
||||
return HttpResponse(json.dumps(json_dict), content_type="application/json")
|
||||
|
||||
def status(request):
|
||||
"""
|
||||
Return all hosts in {
|
||||
"hostname": hostname,
|
||||
"b64": b64,
|
||||
"b32": b32,
|
||||
"last-seen": timestamp
|
||||
} form.
|
||||
Implemented by MXPLRS|Kirill request.
|
||||
"""
|
||||
# host status
|
||||
if 'q' in request.GET and request.GET['q'] is not None and request.GET['q'] != '':
|
||||
hostname = request.GET['q']
|
||||
else:
|
||||
json_dict = {
|
||||
'error': 'Bad request',
|
||||
}
|
||||
return HttpResponse(json.dumps(json_dict), content_type="application/json")
|
||||
|
||||
try:
|
||||
host = i2phost.objects.get(name=hostname)
|
||||
except:
|
||||
host = None
|
||||
|
||||
if host and host.last_seen:
|
||||
json_dict = {
|
||||
'hostname': host.name,
|
||||
'b64': host.b64hash,
|
||||
'b32': get_b32(host.b64hash),
|
||||
'last-seen': host.last_seen.strftime("%s"),
|
||||
}
|
||||
elif host and not host.last_seen:
|
||||
json_dict = {
|
||||
'hostname': host.name,
|
||||
'b64': host.b64hash,
|
||||
'b32': get_b32(host.b64hash),
|
||||
'error': 'Never seen',
|
||||
}
|
||||
else:
|
||||
json_dict = {
|
||||
'hostname': hostname,
|
||||
'error': 'Not found',
|
||||
}
|
||||
|
||||
return HttpResponse(json.dumps(json_dict), content_type="application/json")
|
||||
|
Loading…
x
Reference in New Issue
Block a user