Exemplo n.º 1
0
 def __handle_field(self, resource, field):
     '''
     Handler for each field
     '''
     if is_tuple( field ):
         return self.__handle_tuple_field( resource, field )
     return self.__handle_string_field( resource, field )
Exemplo n.º 2
0
 def __init__(self):
     self.__attributes = self.__class__.__dict__ 
     if hasattr(self, '__logic__'):
         if is_tuple( self.__logic__ ):
             self.__set_names( self.__logic__ )
         elif isinstance(self.__logic__, Parameter):
             self.__logic__ = (self.__logic__,)
             self.__set_names( self.__logic__ )
     else:
         self.__logic__ = [p for n,p in self.__attributes.items() if n not in ('__module__', '__doc__')]
         self.__set_names( self.__logic__ )
Exemplo n.º 3
0
Arquivo: form.py Projeto: laginha/yard
 def __init__(self, parameters):
     
     def set_names(params):
         #Sets name attribute for all parameters in __logic__
         for param in params:
             param.set_name( attrs )
     
     attrs = parameters.__dict__
     is_param = lambda x: isinstance(x, Parameter)
     self.params = [param for name,param in attrs.items() if is_param(param)]
     if '__logic__' in attrs:
         self.logic = attrs['__logic__']
         if is_tuple( self.logic ):
             set_names( self.logic )
         elif isinstance(self.logic, Parameter):
             self.logic = (self.logic,)
             set_names( self.logic )
     else:
         self.logic = self.params
         set_names( self.logic )
Exemplo n.º 4
0
 def handle_response(self, request, response, fields, parameters):
     '''
     Proccess response into a JSON serializable object
     '''
     current_fields = fields(kwargs) if callable(fields) else fields
     status = DEFAULT_STATUS_CODE
     if is_tuple(response):
         status, response = response
     if is_valuesset(response):
         response = self.handle_list_response(
             request, list(response), current_fields, parameters)
     elif is_queryset(response):
         response = self.select_related(response, current_fields)
         response = self.handle_queryset_response(
             request, response, current_fields, parameters)
     elif is_modelinstance(response):
         response = self.handle_model_response(response, current_fields)
     elif is_generator(response) or is_list(response):
         response = self.handle_list_response(
             request, response, current_fields, parameters)
     
     response = self.uglify_json(response) if self.uglify else response
     return to_http(request, response, status)