Exemplo n.º 1
0
	def get_link_list_objects(self, parent, link_list_type, link_list):
		""" Return list of objects based on passed link list """
		if link_list == None:
			return None
		else:
			list_objects = []

		if link_list_type == 'documents':
			for link in link_list:
				doc = Document()
				doc.load_document(link)
				list_objects.append(doc)
		elif link_list_type == 'stakeholder':
			for link in link_list:
				sth = Stakeholder()
				sth.load_config_from_file(link)
				list_objects.append(sth)
		elif link_list_type == 'requirement':
			for link in link_list:
				if link.endswith('.req'):
					req = Requirement()
					req.load_config_from_file(link)
					list_objects.append(req)
				elif link.endswith('attributes.pkg'):
					pkg = RequirementPackage()
					pkg.load_config_from_file(link)
					list_objects.append(pkg)

		return list_objects
Exemplo n.º 2
0
        def finished():
            """
			(innter function)
			creates a new requirement instance, adds a label to main window
			then kills the popup window
			"""
            if course2.get() == "None":
                r = Requirement(grade.get(), course1.get())
            else:
                r = Requirement(grade.get(), course1.get(), course2.get())

            # add the new requirement
            self.requirements.append(r)

            # display the new requirement
            r.create_label(self.req_frame_lower)

            # kill this window
            pop.destroy()
Exemplo n.º 3
0

	student_dict = metadata(hs_prefs, ms_prefs)
	n_6th = 1
	student_dict, prefs = sim6(n_6th, hs_prefs, ms_prefs, prefs)
	#prefs = pd.read_csv("with6th.csv")
	# prefs = prefs[-1*n_6th:] # just 6th graders


	# Resource Room students
	rr = pd.read_csv("~/Desktop/test_pref/resource_room.csv")

	# Get number of courses dictionary
	num_courses = get_num_courses(LP_input, hs_prefs, ms_prefs)

	r = Requirement(6, "People and Literature", "Inquiry and Tools")
	r2 = Requirement(9, 'African Studies', 'Latin American Literature')
	# mr = MiniRequirement(r)
	
	save_loc = "~/Desktop/gui_test" # this should be a folder
	O = Optimizer(prefs = prefs,
					LP_input = LP_input,
					teacher = teacher,
					GAP = .3,
					student_dict = student_dict,
					num_courses = num_courses,
					requirements = [r, r2],
					prox = prox,
					rr_df = rr,
					save_location = save_loc)
Exemplo n.º 4
0
	def load_package(self, package_directory, parent_package):
		""" Recursively read package directory and create and link objects """

		file_listing = os.listdir(package_directory)
		file_listing.sort(key=LooseVersion)
		for name in file_listing:
			package_path = os.path.join(package_directory, name)
			if os.path.isdir(package_path):
				package_attributes = os.path.join(os.path.join(package_directory, name), 'attributes.pkg')
				package = RequirementPackage()
				package.load_config_from_file(package_attributes)
				parent_package._children.append(package) 
				package._parent = parent_package
				self.load_package(package_path, package)
				package.assigned_to = self.get_link_list_objects(package, 'stakeholder', package.assigned_to)
				package.created_by = self.get_link_list_objects(package, 'stakeholder', package.created_by)
				package.documents = self.get_link_list_objects(package, 'documents', package.documents)
				package.rejected_by = self.get_link_list_objects(package, 'stakeholder', package.rejected_by)
				package.approved_by = self.get_link_list_objects(package, 'stakeholder', package.approved_by)
				package.postponed_by = self.get_link_list_objects(package, 'stakeholder', package.postponed_by)
				package.depends_on = self.get_link_list_objects(package, 'requirement', package.depends_on)
			elif os.path.isfile(package_path):
				if package_path.endswith('.req'):
					requirement = Requirement()
					requirement.load_config_from_file(os.path.join(package_directory, name))
					requirement.assigned_to = self.get_link_list_objects(requirement, 'stakeholder', requirement.assigned_to)
					requirement.created_by = self.get_link_list_objects(requirement, 'stakeholder', requirement.created_by)
					requirement.documents = self.get_link_list_objects(requirement, 'documents', requirement.documents)
					requirement.rejected_by = self.get_link_list_objects(requirement, 'stakeholder', requirement.rejected_by)
					requirement.approved_by = self.get_link_list_objects(requirement, 'stakeholder', requirement.approved_by)
					requirement.postponed_by = self.get_link_list_objects(requirement, 'stakeholder', requirement.postponed_by)
					requirement.depends_on = self.get_link_list_objects(requirement, 'requirement', requirement.depends_on)

					parent_package._children.append(requirement) 
					requirement._parent = parent_package

				else:
					# File extension is not .req (see if above) or file name not attribute.pkg, warn
					if not package_path.endswith('attributes.pkg'):
						Utility.report_error(1, 'Illegal repository file "%s" found' % package_path)

			else:
				Utility.report_error(1,'Unidentified file system object "%s", could be a symbolic link?' % name)