Remove obsolete implementation and simplify project structure
This commit is contained in:
@@ -19,7 +19,7 @@ class AddonTest(unittest.TestCase):
|
||||
cls.remove_modules()
|
||||
|
||||
def append_status_bar(draw):
|
||||
draw._owner = "snapform"
|
||||
draw._owner = "anyimage"
|
||||
cls.status_bar_draws.append(draw)
|
||||
|
||||
fake_bpy = ModuleType("bpy")
|
||||
@@ -79,28 +79,28 @@ class AddonTest(unittest.TestCase):
|
||||
sys.modules["bpy"] = fake_bpy
|
||||
sys.path.insert(0, str(SOURCE_ROOT))
|
||||
cls.paths_before_import = tuple(sys.path)
|
||||
cls.addon = importlib.import_module("snapform")
|
||||
cls.job_runtime = importlib.import_module("snapform.runtime")
|
||||
cls.model_operators = importlib.import_module("snapform.operators.models")
|
||||
cls.image_depth = importlib.import_module("snapform.operators.material")
|
||||
cls.image_data = importlib.import_module("snapform.operators.image")
|
||||
cls.addon = importlib.import_module("anyimage")
|
||||
cls.job_runtime = importlib.import_module("anyimage.runtime")
|
||||
cls.model_operators = importlib.import_module("anyimage.operators.models")
|
||||
cls.image_depth = importlib.import_module("anyimage.operators.material")
|
||||
cls.image_data = importlib.import_module("anyimage.operators.image")
|
||||
cls.depth_operator = importlib.import_module(
|
||||
"snapform.operators.depth_plane.operator"
|
||||
"anyimage.operators.depth_plane.operator"
|
||||
)
|
||||
cls.depth_build = importlib.import_module(
|
||||
"snapform.operators.depth_plane.build"
|
||||
"anyimage.operators.depth_plane.build"
|
||||
)
|
||||
cls.image_background = importlib.import_module("snapform.operators.background")
|
||||
cls.image_mesh = importlib.import_module("snapform.operators.surface")
|
||||
cls.balloon = importlib.import_module("snapform.operators.balloon.operator")
|
||||
cls.image_background = importlib.import_module("anyimage.operators.background")
|
||||
cls.image_mesh = importlib.import_module("anyimage.operators.surface")
|
||||
cls.balloon = importlib.import_module("anyimage.operators.balloon.operator")
|
||||
cls.balloon_geometry = importlib.import_module(
|
||||
"snapform.operators.balloon.geometry"
|
||||
"anyimage.operators.balloon.geometry"
|
||||
)
|
||||
cls.balloon_depth = importlib.import_module("snapform.operators.balloon.depth")
|
||||
cls.balloon_depth = importlib.import_module("anyimage.operators.balloon.depth")
|
||||
cls.balloon_poisson = importlib.import_module(
|
||||
"snapform.operators.balloon.poisson"
|
||||
"anyimage.operators.balloon.poisson"
|
||||
)
|
||||
cls.balloon_teddy = importlib.import_module("snapform.operators.balloon.teddy")
|
||||
cls.balloon_teddy = importlib.import_module("anyimage.operators.balloon.teddy")
|
||||
cls.paths_after_import = tuple(sys.path)
|
||||
cls.fake_bpy = fake_bpy
|
||||
|
||||
@@ -113,7 +113,7 @@ class AddonTest(unittest.TestCase):
|
||||
@staticmethod
|
||||
def remove_modules():
|
||||
for module_name in tuple(sys.modules):
|
||||
if module_name == "snapform" or module_name.startswith("snapform."):
|
||||
if module_name == "anyimage" or module_name.startswith("anyimage."):
|
||||
sys.modules.pop(module_name)
|
||||
|
||||
def setUp(self):
|
||||
@@ -122,7 +122,7 @@ class AddonTest(unittest.TestCase):
|
||||
device="CUDA",
|
||||
)
|
||||
self.fake_bpy.context.preferences.addons = {
|
||||
"snapform": SimpleNamespace(preferences=preferences)
|
||||
"anyimage": SimpleNamespace(preferences=preferences)
|
||||
}
|
||||
|
||||
def tearDown(self):
|
||||
@@ -135,8 +135,8 @@ class AddonTest(unittest.TestCase):
|
||||
self.fake_bpy.data = SimpleNamespace(
|
||||
objects=SimpleNamespace(get=lambda _name: None),
|
||||
)
|
||||
if hasattr(self.fake_bpy.types.Scene, "snapform_settings"):
|
||||
del self.fake_bpy.types.Scene.snapform_settings
|
||||
if hasattr(self.fake_bpy.types.Scene, "anyimage_settings"):
|
||||
del self.fake_bpy.types.Scene.anyimage_settings
|
||||
|
||||
def test_runtime_and_operator_support_modules_have_explicit_boundaries(self):
|
||||
for name in (
|
||||
@@ -146,13 +146,13 @@ class AddonTest(unittest.TestCase):
|
||||
"models.py",
|
||||
"status_bar.py",
|
||||
):
|
||||
self.assertFalse((SOURCE_ROOT / "snapform" / name).exists(), name)
|
||||
self.assertTrue((SOURCE_ROOT / "snapform" / "runtime.py").is_file())
|
||||
self.assertFalse((SOURCE_ROOT / "snapform" / "job_runtime.py").exists())
|
||||
self.assertFalse((SOURCE_ROOT / "snapform" / "client").exists())
|
||||
self.assertFalse((SOURCE_ROOT / "snapform" / "ui").exists())
|
||||
self.assertFalse((SOURCE_ROOT / "snapform" / "operators.py").exists())
|
||||
self.assertFalse((SOURCE_ROOT / "snapform" / "blender").exists())
|
||||
self.assertFalse((SOURCE_ROOT / "anyimage" / name).exists(), name)
|
||||
self.assertTrue((SOURCE_ROOT / "anyimage" / "runtime.py").is_file())
|
||||
self.assertFalse((SOURCE_ROOT / "anyimage" / "job_runtime.py").exists())
|
||||
self.assertFalse((SOURCE_ROOT / "anyimage" / "client").exists())
|
||||
self.assertFalse((SOURCE_ROOT / "anyimage" / "ui").exists())
|
||||
self.assertFalse((SOURCE_ROOT / "anyimage" / "operators.py").exists())
|
||||
self.assertFalse((SOURCE_ROOT / "anyimage" / "blender").exists())
|
||||
|
||||
def test_mps_requires_m4_or_newer(self):
|
||||
properties = self.addon.properties
|
||||
@@ -205,7 +205,7 @@ class AddonTest(unittest.TestCase):
|
||||
self.assertEqual(self.paths_after_import, self.paths_before_import)
|
||||
self.assertFalse(
|
||||
any(
|
||||
name == "snapform.server" or name.startswith("snapform.server.")
|
||||
name == "anyimage.server" or name.startswith("anyimage.server.")
|
||||
for name in sys.modules
|
||||
)
|
||||
)
|
||||
@@ -217,7 +217,7 @@ class AddonTest(unittest.TestCase):
|
||||
def test_operator_modules_use_plain_properties(self):
|
||||
operators = self.addon.operators
|
||||
for name in (
|
||||
"SnapFormJobMixin",
|
||||
"AnyImageJobMixin",
|
||||
"ImageInputJobOperator",
|
||||
"GeometryImageJobOperator",
|
||||
"Da3ImageJobOperator",
|
||||
@@ -227,11 +227,11 @@ class AddonTest(unittest.TestCase):
|
||||
self.assertFalse(hasattr(operators, name), name)
|
||||
for operator in operators.CLASSES:
|
||||
for name in getattr(operator, "__annotations__", {}):
|
||||
self.assertFalse(name.startswith("snapform_"), (operator, name))
|
||||
self.assertFalse(name.startswith("anyimage_"), (operator, name))
|
||||
|
||||
def test_concrete_job_operator_is_the_blender_operator(self):
|
||||
operator = self.addon.operators.GenerateMoge2Depth
|
||||
self.assertEqual(operator.bl_idname, "snapform.generate_moge2_depth")
|
||||
self.assertEqual(operator.bl_idname, "anyimage.generate_moge2_depth")
|
||||
self.assertIn(self.job_runtime.JobOperatorBase, operator.__mro__)
|
||||
self.assertIn(self.fake_bpy.types.Operator, operator.__mro__)
|
||||
|
||||
@@ -364,7 +364,7 @@ class AddonTest(unittest.TestCase):
|
||||
)
|
||||
self.assertTrue(callable(runtime.post_install))
|
||||
|
||||
def test_snapform_post_install_is_ordinary_code_using_runtime_request(self):
|
||||
def test_anyimage_post_install_is_ordinary_code_using_runtime_request(self):
|
||||
calls = []
|
||||
fake_runtime = SimpleNamespace(
|
||||
request=lambda job_type, parameters: calls.append((job_type, parameters))
|
||||
@@ -378,7 +378,7 @@ class AddonTest(unittest.TestCase):
|
||||
],
|
||||
)
|
||||
|
||||
def test_snapform_post_install_names_each_failed_model(self):
|
||||
def test_anyimage_post_install_names_each_failed_model(self):
|
||||
calls = []
|
||||
|
||||
def request(_job_type, parameters):
|
||||
@@ -476,7 +476,7 @@ class AddonTest(unittest.TestCase):
|
||||
self.assertNotIn("stages", controller.post_status)
|
||||
|
||||
def test_conversion_model_lists_default_to_moge2_vits(self):
|
||||
properties = importlib.import_module("snapform.properties")
|
||||
properties = importlib.import_module("anyimage.properties")
|
||||
catalog = (
|
||||
{
|
||||
"key": "SMALL",
|
||||
@@ -534,7 +534,7 @@ class AddonTest(unittest.TestCase):
|
||||
def separator(self):
|
||||
calls.append(("separator", self.enabled))
|
||||
|
||||
menu = self.addon.SnapFormImageMenu()
|
||||
menu = self.addon.AnyImageImageMenu()
|
||||
menu.layout = Layout()
|
||||
with (
|
||||
patch.object(
|
||||
@@ -543,7 +543,7 @@ class AddonTest(unittest.TestCase):
|
||||
return_value=True,
|
||||
),
|
||||
patch(
|
||||
"snapform.properties.required_models_ready",
|
||||
"anyimage.properties.required_models_ready",
|
||||
return_value=False,
|
||||
),
|
||||
):
|
||||
@@ -551,15 +551,15 @@ class AddonTest(unittest.TestCase):
|
||||
|
||||
self.assertEqual(
|
||||
calls[0],
|
||||
("snapform.activate_balloon_tool", True),
|
||||
("anyimage.activate_balloon_tool", True),
|
||||
)
|
||||
self.assertIn(
|
||||
("snapform.download_required_models", True),
|
||||
("anyimage.download_required_models", True),
|
||||
calls,
|
||||
)
|
||||
self.assertIn(("snapform.convert_to_depth_plane", False), calls)
|
||||
self.assertIn(("snapform.convert_to_surface", False), calls)
|
||||
self.assertIn(("snapform.remove_image_background", False), calls)
|
||||
self.assertIn(("anyimage.convert_to_depth_plane", False), calls)
|
||||
self.assertIn(("anyimage.convert_to_surface", False), calls)
|
||||
self.assertIn(("anyimage.remove_image_background", False), calls)
|
||||
|
||||
def test_image_menu_keeps_disabled_features_when_environment_is_missing(self):
|
||||
calls = []
|
||||
@@ -581,7 +581,7 @@ class AddonTest(unittest.TestCase):
|
||||
def separator(self):
|
||||
calls.append(("separator", self.enabled))
|
||||
|
||||
menu = self.addon.SnapFormImageMenu()
|
||||
menu = self.addon.AnyImageImageMenu()
|
||||
menu.layout = Layout()
|
||||
with (
|
||||
patch.object(
|
||||
@@ -590,7 +590,7 @@ class AddonTest(unittest.TestCase):
|
||||
return_value=False,
|
||||
),
|
||||
patch(
|
||||
"snapform.properties.required_models_ready",
|
||||
"anyimage.properties.required_models_ready",
|
||||
return_value=False,
|
||||
),
|
||||
):
|
||||
@@ -598,14 +598,14 @@ class AddonTest(unittest.TestCase):
|
||||
|
||||
self.assertEqual(
|
||||
calls[0],
|
||||
("snapform.activate_balloon_tool", True),
|
||||
("anyimage.activate_balloon_tool", True),
|
||||
)
|
||||
self.assertIn(("snapform.install_environment", True), calls)
|
||||
self.assertIn(("snapform.install_environment_mirror", True), calls)
|
||||
self.assertNotIn(("snapform.download_required_models", True), calls)
|
||||
self.assertIn(("snapform.convert_to_depth_plane", False), calls)
|
||||
self.assertIn(("snapform.convert_to_surface", False), calls)
|
||||
self.assertIn(("snapform.remove_image_background", False), calls)
|
||||
self.assertIn(("anyimage.install_environment", True), calls)
|
||||
self.assertIn(("anyimage.install_environment_mirror", True), calls)
|
||||
self.assertNotIn(("anyimage.download_required_models", True), calls)
|
||||
self.assertIn(("anyimage.convert_to_depth_plane", False), calls)
|
||||
self.assertIn(("anyimage.convert_to_surface", False), calls)
|
||||
self.assertIn(("anyimage.remove_image_background", False), calls)
|
||||
|
||||
def test_balloon_contour_is_smooth_and_evenly_resampled(self):
|
||||
import numpy as np
|
||||
@@ -892,7 +892,7 @@ class AddonTest(unittest.TestCase):
|
||||
self.assertIn("contour_analysis", operator.__annotations__)
|
||||
self.assertIn("depth_analysis", operator.__annotations__)
|
||||
self.assertIn("depth_model", operator.__annotations__)
|
||||
settings = self.addon.properties.SnapFormSettings.__annotations__
|
||||
settings = self.addon.properties.AnyImageSettings.__annotations__
|
||||
for name in (
|
||||
"balloon_contour_analysis",
|
||||
"balloon_depth_analysis",
|
||||
@@ -908,7 +908,7 @@ class AddonTest(unittest.TestCase):
|
||||
request_source = inspect.getsource(self.balloon.AnalyzeBalloon.request)
|
||||
response_source = inspect.getsource(self.balloon.AnalyzeBalloon.response)
|
||||
tool_source = inspect.getsource(self.balloon.BalloonTool.draw_settings)
|
||||
self.assertIn("bpy.ops.snapform.analyze_balloon", execute_source)
|
||||
self.assertIn("bpy.ops.anyimage.analyze_balloon", execute_source)
|
||||
self.assertIn("prepare_image_input(", execute_source)
|
||||
self.assertIn(
|
||||
"settings.balloon_contour_analysis",
|
||||
@@ -1103,7 +1103,7 @@ class AddonTest(unittest.TestCase):
|
||||
self.assertIn("resolution", operator.__annotations__)
|
||||
self.assertIn("reuse_material", operator.__annotations__)
|
||||
self.assertIn("source_matrix_data", operator.__annotations__)
|
||||
settings = self.addon.properties.SnapFormSettings.__annotations__
|
||||
settings = self.addon.properties.AnyImageSettings.__annotations__
|
||||
self.assertIn("balloon_mode", settings)
|
||||
self.assertIn("balloon_thickness", settings)
|
||||
self.assertIn("balloon_resolution", settings)
|
||||
@@ -1150,7 +1150,7 @@ class AddonTest(unittest.TestCase):
|
||||
self.assertIn("return self.execute(context)", modal_source)
|
||||
self.assertIn('return {"RUNNING_MODAL"}', modal_source)
|
||||
self.assertIn('return {"PASS_THROUGH"}', modal_source)
|
||||
self.assertNotIn("bpy.ops.snapform.extract_balloon", modal_source)
|
||||
self.assertNotIn("bpy.ops.anyimage.extract_balloon", modal_source)
|
||||
|
||||
tool = self.balloon.BalloonTool
|
||||
self.assertEqual(tool.bl_space_type, "VIEW_3D")
|
||||
@@ -1169,11 +1169,11 @@ class AddonTest(unittest.TestCase):
|
||||
[
|
||||
(
|
||||
"data_path_primary",
|
||||
"scene.snapform_settings.balloon_thickness",
|
||||
"scene.anyimage_settings.balloon_thickness",
|
||||
),
|
||||
(
|
||||
"zoom_path",
|
||||
"scene.snapform_settings.balloon_thickness_radial_zoom",
|
||||
"scene.anyimage_settings.balloon_thickness_radial_zoom",
|
||||
),
|
||||
],
|
||||
)
|
||||
@@ -1182,11 +1182,11 @@ class AddonTest(unittest.TestCase):
|
||||
[
|
||||
(
|
||||
"data_path_primary",
|
||||
"scene.snapform_settings.balloon_resolution",
|
||||
"scene.anyimage_settings.balloon_resolution",
|
||||
),
|
||||
(
|
||||
"zoom_path",
|
||||
"scene.snapform_settings.balloon_resolution_radial_zoom",
|
||||
"scene.anyimage_settings.balloon_resolution_radial_zoom",
|
||||
),
|
||||
],
|
||||
)
|
||||
@@ -1281,20 +1281,20 @@ class AddonTest(unittest.TestCase):
|
||||
)
|
||||
marked = MarkedMaterial(
|
||||
"unrelated-name",
|
||||
snapform_balloon_material=True,
|
||||
snapform_source_image=color_image,
|
||||
anyimage_balloon_material=True,
|
||||
anyimage_source_image=color_image,
|
||||
)
|
||||
marked_other = MarkedMaterial(
|
||||
"cow",
|
||||
snapform_balloon_material=True,
|
||||
snapform_source_image=other_image,
|
||||
anyimage_balloon_material=True,
|
||||
anyimage_source_image=other_image,
|
||||
)
|
||||
normal_image = SimpleNamespace(name="cow.normal")
|
||||
marked_normal = MarkedMaterial(
|
||||
"depth-material",
|
||||
snapform_balloon_material=True,
|
||||
snapform_source_image=color_image,
|
||||
snapform_balloon_normal_image=normal_image,
|
||||
anyimage_balloon_material=True,
|
||||
anyimage_source_image=color_image,
|
||||
anyimage_balloon_normal_image=normal_image,
|
||||
)
|
||||
wrong_group = SimpleNamespace(
|
||||
name="cow",
|
||||
@@ -1393,7 +1393,7 @@ class AddonTest(unittest.TestCase):
|
||||
return_value=False,
|
||||
),
|
||||
patch(
|
||||
"snapform.properties.required_models_ready",
|
||||
"anyimage.properties.required_models_ready",
|
||||
return_value=models_ready,
|
||||
),
|
||||
):
|
||||
@@ -1414,7 +1414,7 @@ class AddonTest(unittest.TestCase):
|
||||
self.assertEqual(operator.poll(context), expected)
|
||||
|
||||
def test_ui_reads_required_model_files_without_starting_server(self):
|
||||
properties = importlib.import_module("snapform.properties")
|
||||
properties = importlib.import_module("anyimage.properties")
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
root = Path(directory)
|
||||
moge = root / "models" / "moge-2-vits-normal-onnx"
|
||||
@@ -1516,7 +1516,7 @@ class AddonTest(unittest.TestCase):
|
||||
],
|
||||
)
|
||||
self.assertEqual(len(self.status_bar_draws), 1)
|
||||
self.assertEqual(self.status_bar_draws[0]._owner, "snapform")
|
||||
self.assertEqual(self.status_bar_draws[0]._owner, "anyimage")
|
||||
|
||||
self.addon.unregister()
|
||||
self.assertEqual(self.registered, [])
|
||||
@@ -1545,7 +1545,7 @@ class AddonTest(unittest.TestCase):
|
||||
|
||||
self.assertEqual(calls[0][1]["factor"], 0.4)
|
||||
self.assertEqual(calls[0][1]["text"], "Working")
|
||||
self.assertEqual(calls[1], ("operator", "snapform.cancel_job"))
|
||||
self.assertEqual(calls[1], ("operator", "anyimage.cancel_job"))
|
||||
|
||||
def test_moge_depth_request_is_written_on_the_operator(self):
|
||||
operator = self.addon.operators.GenerateMoge2Depth()
|
||||
@@ -1555,7 +1555,7 @@ class AddonTest(unittest.TestCase):
|
||||
operator.resolution_level = 6
|
||||
operator.remove_background = False
|
||||
settings = SimpleNamespace(video_frames=12)
|
||||
context = SimpleNamespace(scene=SimpleNamespace(snapform_settings=settings))
|
||||
context = SimpleNamespace(scene=SimpleNamespace(anyimage_settings=settings))
|
||||
|
||||
with (
|
||||
patch.object(self.depth_operator, "require_environment"),
|
||||
@@ -1603,11 +1603,11 @@ class AddonTest(unittest.TestCase):
|
||||
settings = SimpleNamespace(video_frames=1)
|
||||
context = SimpleNamespace(
|
||||
object=source_object,
|
||||
scene=SimpleNamespace(snapform_settings=settings),
|
||||
scene=SimpleNamespace(anyimage_settings=settings),
|
||||
)
|
||||
calls = []
|
||||
self.fake_bpy.ops = SimpleNamespace(
|
||||
snapform=SimpleNamespace(
|
||||
anyimage=SimpleNamespace(
|
||||
generate_moge2_depth=lambda **options: (
|
||||
calls.append(options) or {"RUNNING_MODAL"}
|
||||
)
|
||||
@@ -1623,7 +1623,7 @@ class AddonTest(unittest.TestCase):
|
||||
|
||||
self.assertEqual(calls[0]["resolution_level"], 7)
|
||||
self.assertEqual(calls[0]["source_object_name"], "Reference")
|
||||
self.assertFalse(any(key.startswith("snapform_") for key in calls[0]))
|
||||
self.assertFalse(any(key.startswith("anyimage_") for key in calls[0]))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -10,7 +10,7 @@ from PIL import Image
|
||||
SOURCE_DIR = (
|
||||
Path(__file__).resolve().parents[1]
|
||||
/ "src"
|
||||
/ "snapform"
|
||||
/ "anyimage"
|
||||
/ "server"
|
||||
/ "models"
|
||||
)
|
||||
|
||||
@@ -11,7 +11,7 @@ from PIL import Image
|
||||
SOURCE_DIR = (
|
||||
Path(__file__).resolve().parents[1]
|
||||
/ "src"
|
||||
/ "snapform"
|
||||
/ "anyimage"
|
||||
/ "server"
|
||||
/ "models"
|
||||
)
|
||||
|
||||
@@ -10,7 +10,7 @@ PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
def load_download_module():
|
||||
addon_directory = PROJECT_ROOT / "src" / "snapform"
|
||||
addon_directory = PROJECT_ROOT / "src" / "anyimage"
|
||||
sys.path.insert(0, str(addon_directory))
|
||||
try:
|
||||
return __import__(
|
||||
|
||||
@@ -27,28 +27,28 @@ def load_image_depth():
|
||||
|
||||
module_paths = (
|
||||
(
|
||||
"snapform.operators.image",
|
||||
PROJECT_ROOT / "src" / "snapform" / "operators" / "image.py",
|
||||
"anyimage.operators.image",
|
||||
PROJECT_ROOT / "src" / "anyimage" / "operators" / "image.py",
|
||||
),
|
||||
(
|
||||
"snapform.operators.material",
|
||||
PROJECT_ROOT / "src" / "snapform" / "operators" / "material.py",
|
||||
"anyimage.operators.material",
|
||||
PROJECT_ROOT / "src" / "anyimage" / "operators" / "material.py",
|
||||
),
|
||||
(
|
||||
"snapform.operators.depth_plane.data",
|
||||
PROJECT_ROOT / "src" / "snapform" / "operators" / "depth_plane" / "data.py",
|
||||
"anyimage.operators.depth_plane.data",
|
||||
PROJECT_ROOT / "src" / "anyimage" / "operators" / "depth_plane" / "data.py",
|
||||
),
|
||||
(
|
||||
"snapform.operators.depth_plane.build",
|
||||
PROJECT_ROOT / "src" / "snapform" / "operators" / "depth_plane" / "build.py",
|
||||
"anyimage.operators.depth_plane.build",
|
||||
PROJECT_ROOT / "src" / "anyimage" / "operators" / "depth_plane" / "build.py",
|
||||
),
|
||||
)
|
||||
packages = {
|
||||
name: ModuleType(name)
|
||||
for name in (
|
||||
"snapform",
|
||||
"snapform.operators",
|
||||
"snapform.operators.depth_plane",
|
||||
"anyimage",
|
||||
"anyimage.operators",
|
||||
"anyimage.operators.depth_plane",
|
||||
)
|
||||
}
|
||||
for package in packages.values():
|
||||
@@ -81,7 +81,7 @@ class ImageDepthTest(unittest.TestCase):
|
||||
def test_material_asset_path_survives_package_split(self):
|
||||
self.assertEqual(
|
||||
self.image_depth.node_asset_path(),
|
||||
PROJECT_ROOT / "src" / "snapform" / "assets" / "O_SnapForm.blend",
|
||||
PROJECT_ROOT / "src" / "anyimage" / "assets" / "O_AnyImage.blend",
|
||||
)
|
||||
def test_material_color_space_matches_scene_view_transform(self):
|
||||
mappings = {
|
||||
|
||||
@@ -4,7 +4,7 @@ from pathlib import Path
|
||||
|
||||
|
||||
PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
||||
MANIFEST_PATH = PROJECT_ROOT / "src" / "snapform" / "blender_manifest.toml"
|
||||
MANIFEST_PATH = PROJECT_ROOT / "src" / "anyimage" / "blender_manifest.toml"
|
||||
|
||||
|
||||
class ManifestTest(unittest.TestCase):
|
||||
@@ -14,7 +14,7 @@ class ManifestTest(unittest.TestCase):
|
||||
|
||||
def test_declares_modern_extension_metadata(self):
|
||||
self.assertEqual(self.manifest["schema_version"], "1.0.0")
|
||||
self.assertEqual(self.manifest["id"], "snapform")
|
||||
self.assertEqual(self.manifest["id"], "anyimage")
|
||||
self.assertEqual(self.manifest["type"], "add-on")
|
||||
self.assertNotIn("bl_info", self.manifest)
|
||||
|
||||
|
||||
@@ -20,12 +20,12 @@ class ModelTest(unittest.TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.models = load_module(
|
||||
"snapform_models",
|
||||
"src/snapform/model_catalog.py",
|
||||
"anyimage_models",
|
||||
"src/anyimage/model_catalog.py",
|
||||
)
|
||||
cls.server_models = load_module(
|
||||
"snapform_server_models",
|
||||
"src/snapform/server/model_catalog.py",
|
||||
"anyimage_server_models",
|
||||
"src/anyimage/server/model_catalog.py",
|
||||
)
|
||||
|
||||
def test_client_and_server_catalogs_share_storage_contract(self):
|
||||
|
||||
@@ -12,19 +12,19 @@ PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
def load_module():
|
||||
snapform = ModuleType("snapform")
|
||||
snapform.__path__ = [str(PROJECT_ROOT / "src" / "snapform")]
|
||||
server = ModuleType("snapform.server")
|
||||
server.__path__ = [str(PROJECT_ROOT / "src" / "snapform" / "server")]
|
||||
models = ModuleType("snapform.server.models")
|
||||
anyimage = ModuleType("anyimage")
|
||||
anyimage.__path__ = [str(PROJECT_ROOT / "src" / "anyimage")]
|
||||
server = ModuleType("anyimage.server")
|
||||
server.__path__ = [str(PROJECT_ROOT / "src" / "anyimage" / "server")]
|
||||
models = ModuleType("anyimage.server.models")
|
||||
models.__path__ = [
|
||||
str(PROJECT_ROOT / "src" / "snapform" / "server" / "models")
|
||||
str(PROJECT_ROOT / "src" / "anyimage" / "server" / "models")
|
||||
]
|
||||
specification = importlib.util.spec_from_file_location(
|
||||
"snapform.server.models.onnx_moge2",
|
||||
"anyimage.server.models.onnx_moge2",
|
||||
PROJECT_ROOT
|
||||
/ "src"
|
||||
/ "snapform"
|
||||
/ "anyimage"
|
||||
/ "server"
|
||||
/ "models"
|
||||
/ "onnx_moge2.py",
|
||||
@@ -33,9 +33,9 @@ def load_module():
|
||||
with patch.dict(
|
||||
sys.modules,
|
||||
{
|
||||
"snapform": snapform,
|
||||
"snapform.server": server,
|
||||
"snapform.server.models": models,
|
||||
"anyimage": anyimage,
|
||||
"anyimage.server": server,
|
||||
"anyimage.server.models": models,
|
||||
},
|
||||
):
|
||||
specification.loader.exec_module(module)
|
||||
|
||||
@@ -12,7 +12,7 @@ PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
def load_pack():
|
||||
specification = importlib.util.spec_from_file_location(
|
||||
"snapform_pack",
|
||||
"anyimage_pack",
|
||||
PROJECT_ROOT / "pack.py",
|
||||
)
|
||||
module = importlib.util.module_from_spec(specification)
|
||||
@@ -47,7 +47,7 @@ class PackTest(unittest.TestCase):
|
||||
self.assertEqual(
|
||||
{path.name for path in output_paths},
|
||||
{
|
||||
f"SnapForm.v{version}.{platform}.zip"
|
||||
f"AnyImage.v{version}.{platform}.zip"
|
||||
for platform in pack.PLATFORMS
|
||||
},
|
||||
)
|
||||
@@ -66,7 +66,7 @@ class PackTest(unittest.TestCase):
|
||||
self.assertIn("operators/balloon/operator.py", names)
|
||||
self.assertIn("operators/surface.py", names)
|
||||
self.assertIn(
|
||||
"assets/O_SnapForm.blend",
|
||||
"assets/O_AnyImage.blend",
|
||||
names,
|
||||
)
|
||||
self.assertIn("server/media/input.py", names)
|
||||
@@ -100,7 +100,7 @@ class PackTest(unittest.TestCase):
|
||||
any(name.startswith("blendjob/") for name in names)
|
||||
)
|
||||
self.assertNotIn("install_env.py", names)
|
||||
self.assertNotIn("snapform/__init__.py", names)
|
||||
self.assertNotIn("anyimage/__init__.py", names)
|
||||
self.assertNotIn("importer.py", names)
|
||||
self.assertFalse(
|
||||
any(name.startswith("sources/") for name in names)
|
||||
|
||||
@@ -13,7 +13,7 @@ PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
def load_server_module():
|
||||
server_directory = PROJECT_ROOT / "src" / "snapform" / "server"
|
||||
server_directory = PROJECT_ROOT / "src" / "anyimage" / "server"
|
||||
specification = importlib.util.spec_from_file_location(
|
||||
"server",
|
||||
server_directory / "__init__.py",
|
||||
@@ -73,7 +73,7 @@ class ServerTest(unittest.TestCase):
|
||||
self.assertEqual(result, {"downloaded": ["MOGE2_VITS_NORMAL"]})
|
||||
|
||||
def test_models_are_owned_by_the_server_resource(self):
|
||||
self.assertFalse((PROJECT_ROOT / "src" / "snapform" / "models.py").exists())
|
||||
self.assertFalse((PROJECT_ROOT / "src" / "anyimage" / "models.py").exists())
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
manager = self.server_module.ModelManager(Path(directory))
|
||||
snapshot = manager.snapshot()
|
||||
@@ -99,7 +99,7 @@ class ServerTest(unittest.TestCase):
|
||||
def create_server(self):
|
||||
source = self.server_module.server
|
||||
server = self.server_module.JobServer(
|
||||
"SnapForm Job Server", storage_root=self.storage_root
|
||||
"AnyImage Job Server", storage_root=self.storage_root
|
||||
)
|
||||
server.handlers.update(source.handlers)
|
||||
server.resource_factories.update(source.resource_factories)
|
||||
|
||||
@@ -15,7 +15,7 @@ PROJECT_ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
def load_server_module(name):
|
||||
addon_directory = PROJECT_ROOT / "src" / "snapform"
|
||||
addon_directory = PROJECT_ROOT / "src" / "anyimage"
|
||||
sys.path.insert(0, str(addon_directory))
|
||||
try:
|
||||
return __import__(f"server.{name}", fromlist=[name])
|
||||
|
||||
Reference in New Issue
Block a user