47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
from rest_framework.decorators import action, api_view
|
|
from api.utils import gtfs_realtime_pb2
|
|
from project.settings import BASE_DIR
|
|
from django.http import JsonResponse
|
|
import logging
|
|
|
|
def status(request):
|
|
nombre_archivo_proto = f'{BASE_DIR}/api/utils/demo.proto'
|
|
with open(nombre_archivo_proto, 'rb') as proto_file:
|
|
feed = gtfs_realtime_pb2.FeedMessage()
|
|
feed.ParseFromString(proto_file.read())
|
|
|
|
data = {} #get_object(feed)
|
|
# logging.error(dir(feed))
|
|
# logging.error(feed.header)
|
|
# logging.error(dir(feed.entity))
|
|
logging.error(feed.entity[0])
|
|
# logging.error(dir(feed.entity[0].trip_update))
|
|
|
|
return JsonResponse(data, safe=False)
|
|
|
|
|
|
def get_object(obj1, obj2 = {}, level = 1):
|
|
attributes = dir(obj1)
|
|
for attr in attributes:
|
|
if attr[0:1] != '_':
|
|
try:
|
|
for elem in obj1[attr]:
|
|
logging.error(elem)
|
|
except:
|
|
logging.error(attr)
|
|
pass
|
|
return obj2
|
|
|
|
|
|
def is_subscriptable(obj):
|
|
return hasattr(obj, '__getitem__')
|
|
|
|
def is_iterable(obj):
|
|
try:
|
|
iter(obj)
|
|
return True
|
|
except TypeError:
|
|
return False
|