Ejemplo n.º 1
0
    def parse_distant_repository_file(self, handle):
        dom = parse(handle)

        self.parse_description(dom)
        self.set_type("distant")

        xml_groups = dom.getElementsByTagName("exercises_groups")[0]

        for xml_group in xml_groups.getElementsByTagName("exercises_group"):
            group = ExerciseRepositoryGroup()
            group.parse_description(xml_group)
            self.add_group(group)

            xml_exercises = xml_group.getElementsByTagName("exercises")[0]
            for xml_exercise in xml_exercises.getElementsByTagName("exercise"):
                exercise = ExerciseRepositoryExercise()
                exercise.parse_description(xml_exercise)
                group.add_exercise(exercise)
Ejemplo n.º 2
0
    def init_from_path(self, path):

        # Read repositories from xml description file
        repoDescriptionPath = os.path.join(path, "repository.xml")
        if os.path.isfile(repoDescriptionPath):
            f = open(repoDescriptionPath, 'r')
            dom = parse(f)
            self.parse_description(dom)
        else:
            self.set_id(os.path.basename(path))
            self.set_name(os.path.basename(path))

        groupPathList = os.listdir(self.get_local_path())

        for groupPath in groupPathList:
            path = os.path.join(self.get_local_path(), groupPath)
            if os.path.isdir(path):
                group = ExerciseRepositoryGroup()
                group.init_from_path(path)
                group.set_system(self.system)
                self.add_group(group)
Ejemplo n.º 3
0
    def parse_distant_repository_file(self, handle):
        dom = parse(handle)

        self.parse_description(dom)
        self.set_type("distant")

        xml_groups = dom.getElementsByTagName("exercises_groups")[0]

        for xml_group in xml_groups.getElementsByTagName("exercises_group"):
            group = ExerciseRepositoryGroup()
            group.parse_description(xml_group)
            self.add_group(group)

            xml_exercises = xml_group.getElementsByTagName("exercises")[0]
            for xml_exercise in xml_exercises.getElementsByTagName("exercise"):
                exercise = ExerciseRepositoryExercise()
                exercise.parse_description(xml_exercise)
                group.add_exercise(exercise)
Ejemplo n.º 4
0
    def init_from_path(self, path):

        # Read repositories from xml description file
        repoDescriptionPath = os.path.join(path, "repository.xml")
        if os.path.isfile(repoDescriptionPath):
            f = open(repoDescriptionPath, 'r')
            dom = parse(f)
            self.parse_description(dom)
        else:
            self.set_id(os.path.basename(path))
            self.set_name(os.path.basename(path))

        groupPathList = os.listdir(self.get_local_path())

        for groupPath in groupPathList:
            path = os.path.join(self.get_local_path(), groupPath)
            if os.path.isdir(path):
                group = ExerciseRepositoryGroup()
                group.init_from_path(path)
                group.set_system(self.system)
                self.add_group(group)