def create_from_user_input(raw_properties, jamfile_module, location): """Creates a property-set from the input given by the user, in the context of 'jamfile-module' at 'location'""" properties = property.create_from_strings(raw_properties, True) properties = property.translate_paths(properties, location) properties = property.translate_indirect(properties, jamfile_module) project_id = get_manager().projects().attributeDefault(jamfile_module, 'id', None) if not project_id: project_id = os.path.abspath(location) properties = property.translate_dependencies(properties, project_id, location) properties = property.expand_subfeatures_in_conditions(properties) return create(properties)