from opendc.models.section import Section from opendc.util import exceptions from opendc.util.rest import Response def GET(request): """Get this Path's Sections.""" # Make sure required parameters are there try: request.check_required_parameters(path={'sectionId': 'int'}) except exceptions.ParameterError as e: return Response(400, str(e)) # Instantiate a Section from the database section = Section.from_primary_key((request.params_path['sectionId'], )) # Make sure this Section exists if not section.exists(): return Response(404, '{} not found.'.format(section)) # Make sure this user is authorized to view this Section if not section.google_id_has_at_least(request.google_id, 'VIEW'): return Response(403, 'Forbidden from viewing {}.'.format(section)) # Return the Section section.read() return Response(200, 'Successfully retrieved {}.'.format(section), section.to_JSON())