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
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()
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)
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)