Skip to main content
Glama

OpenSCAD MCP Server

by jhacksman
test_primitives.cpython-312.pyc4.5 kB
� ?��g�����ddlZddlZddlZddlZddlmZmZmZddlm Z ddl m Z ddl m Z ddlmZej ej"d��ej$e�Zd �Zed k(re�yy) �N)�Dict�Any�List)�OpenSCADCodeGenerator)� CADExporter)�FormatValidator)�PrimitiveTesterz4%(asctime)s - %(name)s - %(levelname)s - %(message)s)�level�formatc���tjd��}|jddd��|jddgd �d � �|jd dd ��|jddd��|jdddgdd��|j�}t j dd��t j |j d��tjjtjjtjjt�d��}t|d�}t�}t|||j �}|jr|j|_|j r(i}|j D]}|j#|�||<�n|j%�}t&j)dt+j,|d�����|j.r�t1�}i} |j3�D]�\}} i| |<| dj3�D]�\} } | d s� | d!vs�| d"} | d#k(r|j5| �\}}n| d$k(r|j7| �\}}nd%\}}|j9| |j:�\}}|j=| �}|||||d&�| || <����t&j)d't+j,| d�����yy)(Nz6Test OpenSCAD primitives with different export formats)� descriptionz --output-dir� test_outputzDirectory to store test output)�default�helpz --formats�+)�3mf�amf�csg�scadz+Formats to test (default: 3mf amf csg scad))�nargsrrz --primitivesz!Primitives to test (default: all))rrz --validate� store_truezValidate exported files)�actionrz--printer-type�prusa�bambuz9Printer type to check compatibility with (default: prusa))�choicesrrrT)�exist_okz../../models/scad_templateszTest results: �)�indent�formats�success)rr� output_filerr)Fz(Validation not supported for this format)�is_valid�error�is_compatible_with_printer�compatibility_error�metadatazValidation results: )�argparse�ArgumentParser� add_argument� parse_args�os�makedirs� output_dir�path�abspath�join�dirname�__file__rrr r� primitives�test_primitive�test_all_primitives�logger�info�json�dumps�validater�items� validate_3mf� validate_amf�check_printer_compatibility� printer_type�extract_metadata)�parser�args� templates_dir�code_generator� cad_exporter�tester�results� primitive� validator�validation_results�primitive_results� format_type�format_resultsr!r"r#� is_compatible� compat_errorr&s �B/home/ubuntu/openscad-mcp-server-v2/src/testing/test_primitives.py�mainrQs��� � $� $�1i� j�F� ���� �Dd��e� ��� �3�8U�I��K� ����c�?��A� ��� �\�5��7� ���(�7�G�2D�g�W��Y� � � � �D��K�K���&��K�K����$�/��G�G�O�O�B�G�G�L�L�������1J�Li�$j�k�M�*�=�&�A�N��=�L��^�\�4�?�?� K�F� �|�|������ ��������I�!'�!6�!6�y�!A�G�I� �)��,�,�.�� �K�K�.����G�A�!>� ?�@�A� �}�}�#�%� ���,3�M�M�O� (�I�(�,.� �y� )�/@��/K�/Q�/Q�/S�+� �^�!�)�,���1N�"0��"?�K�"�e�+�*3�*@�*@��*M���%�$��-�*3�*@�*@��*M���%�*[���%�3<�2W�2W�#�T�%6�%6�3�/�M�<� )�9�9�+�F�H�%-�!&�6C�/;�$,� B�&�y�1�+�>�%0T�-<�: � � �*�4�:�:�6H�QR�+S�*T�U�V�C��__main__)r+r'�loggingr8�typingrrr�src.models.code_generatorr�src.utils.cad_exporterr�src.utils.format_validatorr�src.testing.primitive_testerr � basicConfig�INFO� getLogger�__name__r6rQ�rRrP�<module>r_so�� ��� �"�"�;�.�6�8����� �,�,� A�� �� � �8� $��LW�\ �z���F�rR

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jhacksman/OpenSCAD-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server