def get_project_or_local(project=None, is_cli: bool = False): from polyaxon import settings if not project and not ProjectConfigManager.is_initialized(): error_message = "Please provide a valid project or initialize a project in the current path." if is_cli: Printer.print_error(error_message) sys.exit(1) else: raise PolyaxonClientException(error_message) if project: owner, project_name = get_entity_info(project) else: project = get_local_project() owner, project_name = project.owner, project.name if not owner: owner = get_local_owner(is_cli=is_cli) if not owner and (not settings.CLI_CONFIG or settings.CLI_CONFIG.is_ce): owner = DEFAULT if not all([owner, project_name]): error_message = get_project_error_message(owner, project_name) if is_cli: Printer.print_error(error_message) sys.exit(1) else: raise PolyaxonClientException(error_message) return owner, project_name
def __init__( self, owner: str = None, project: str = None, client: PolyaxonClient = None, ): if not owner and project: owner, project = get_entity_info( get_entity_full_name(owner=owner, entity=project)) if not owner: raise PolyaxonClientException("Please provide a valid owner.") self._client = client self._owner = owner or DEFAULT self._project = project self._project_data = polyaxon_sdk.V1Project()
def test_get_entity_info(self): with self.assertRaises(PolyaxonSchemaError): get_entity_info(None) with self.assertRaises(PolyaxonSchemaError): get_entity_info("") with self.assertRaises(PolyaxonSchemaError): get_entity_info("foo.bar.moo") with self.assertRaises(PolyaxonSchemaError): get_entity_info("foo/bar/moo") assert get_entity_info("entity") == (None, "entity") assert get_entity_info("owner.entity") == ("owner", "entity") assert get_entity_info("owner/entity") == ("owner", "entity")