def POST_AUTH(self, courseid):  # pylint: disable=arguments-differ
        """ GET request """
        course, __ = self.get_course_and_check_rights(courseid)

        user_input = web.input(tasks=[], aggregations=[], users=[])

        if "filter_type" not in user_input or "type" not in user_input or "format" not in user_input or user_input.format not in self.valid_formats():
            raise web.notfound()

        tasks = list(course.get_tasks().keys())
        for i in user_input.tasks:
            if i not in tasks:
                raise web.notfound()

        # Load submissions
        submissions, aggregations = self.get_selected_submissions(course, user_input.filter_type, user_input.tasks,
                                                    user_input.users, user_input.aggregations, user_input.type)

        self._logger.info("Downloading %d submissions from course %s", len(submissions), courseid)
        web.header('Content-Type', 'application/x-gzip', unique=True)
        web.header('Content-Disposition', 'attachment; filename="submissions.tgz"', unique=True)
        return self.submission_manager.get_submission_archive(submissions, list(reversed(user_input.format.split('/'))), aggregations)
def POST_AUTH ( self , courseid ) : course , __ = self . get_course_and_check_rights ( courseid ) user_input = web . input ( tasks = [ ] , aggregations = [ ] , users = [ ] ) if "filter_type" not in user_input or "type" not in user_input or "format" not in user_input or user_input . format not in self . valid_formats ( ) : raise web . notfound ( ) tasks = list ( course . get_tasks ( ) . keys ( ) ) for i in user_input . tasks : if i not in tasks : raise web . notfound ( ) submissions , aggregations = self . get_selected_submissions ( course , user_input . filter_type , user_input . tasks , user_input . users , user_input . aggregations , user_input . type ) self . _logger . info ( "Downloading %d submissions from course %s" , len ( submissions ) , courseid ) web . header ( 'Content-Type' , 'application/x-gzip' , unique = True ) web . header ( 'Content-Disposition' , 'attachment; filename="submissions.tgz"' , unique = True ) return self . submission_manager . get_submission_archive ( submissions , list ( reversed ( user_input . format . split ( '/' ) ) ) , aggregations )
GET request