Esempio n. 1
0
    def __init__(self, view, request):
        self.obj = {}
        self.request = request
        self.obj['view_id'] = view.id
        self.obj['time_type'] = TIME_NAME_MAPPING.get(str(view.time_type))
        self.obj['dataset'] = view.dataset
        self.obj['prov_type']= view.prov_type
        self.obj['country_type']= view.country_type
        self.headers = []

        try:
            body = simplejson.loads(view.body) 
            self.obj.update(list2dict(body))
        except:
            pass
Esempio n. 2
0
def get_view_obj(cname, request, time_type=None):
    """
        return a list of objects representing view structure
    """
    data = []
    try:
        if time_type:
            views = View.objects.filter(cname=cname, time_type=time_type)
        else:
            views = View.objects.filter(cname=cname).order_by('time_type')
        for v in views:
            body = simplejson.loads(v.body)
            body_dict = list2dict(body)
            body_dict['view_id'] = v.id
            body_dict['time_type'] = TIME_NAME_MAPPING.get(str(v.time_type))
            body_dict['table'] = v.dataset.name
            bind_query_range(body_dict, request)
            dimension = body_dict.get('dimension', {}).get('values', [])
            bind_dimension_options(dimension, request.user.id, v.id)        
            data.append(body_dict)
    except:
        pass
    
    return data