diff --git a/openpype/lib/__init__.py b/openpype/lib/__init__.py index 6e63b3d9a6..9fcc536a3a 100644 --- a/openpype/lib/__init__.py +++ b/openpype/lib/__init__.py @@ -59,6 +59,9 @@ from .python_module_tools import ( from .avalon_context import ( CURRENT_DOC_SCHEMAS, + PROJECT_NAME_ALLOWED_SYMBOLS, + PROJECT_NAME_REGEX, + create_project, is_latest, any_outdated, get_asset, @@ -164,6 +167,9 @@ __all__ = [ "classes_from_module", "CURRENT_DOC_SCHEMAS", + "PROJECT_NAME_ALLOWED_SYMBOLS", + "PROJECT_NAME_REGEX", + "create_project", "is_latest", "any_outdated", "get_asset", diff --git a/openpype/lib/avalon_context.py b/openpype/lib/avalon_context.py index 2d608e8279..f4a58c74fd 100644 --- a/openpype/lib/avalon_context.py +++ b/openpype/lib/avalon_context.py @@ -22,6 +22,10 @@ CURRENT_DOC_SCHEMAS = { "asset": "openpype:asset-3.0", "config": "openpype:config-2.0" } +PROJECT_NAME_ALLOWED_SYMBOLS = "a-zA-Z0-9_" +PROJECT_NAME_REGEX = re.compile( + "^[{}]+$".format(PROJECT_NAME_ALLOWED_SYMBOLS) +) def with_avalon(func):