Phase 1 critical fixes addressing three high-priority issues: Issue #36 - Windows IPC backend crash (os.getuid not available): - Add platform detection to skip Unix-specific socket paths on Windows - Use hasattr check before calling os.getuid() - Windows now uses auto-detect fallback (named pipes) - Maintains full Unix socket support on Linux/macOS Issue #37 - Windows schematic file creation broken: - Generate unique UUIDs instead of invalid all-zeros UUID - Add explicit UTF-8 encoding for cross-platform compatibility - Force Unix line endings (LF) to prevent Windows CRLF issues - Update template file with valid placeholder UUID - Fix hardcoded /tmp/ paths in wire_manager.py and pin_locator.py Issue #35 - JLCPCB download limited to 100 parts: - Change batch_size from 1000 to 100 to match tscircuit API limit - Remove premature loop termination when batch < batch_size - Add documentation explaining API limitation - Expected result: Full ~2.5M part catalog download (40-60 minutes) All changes maintain backward compatibility and include detailed comments. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,7 @@ Uses S-expression parsing to extract pin data from symbol definitions.
|
||||
|
||||
import logging
|
||||
import math
|
||||
import tempfile
|
||||
from pathlib import Path
|
||||
from typing import List, Tuple, Optional, Dict
|
||||
import sexpdata
|
||||
@@ -314,8 +315,8 @@ if __name__ == '__main__':
|
||||
print("PIN LOCATOR TEST")
|
||||
print("=" * 80)
|
||||
|
||||
# Create test schematic with components
|
||||
test_path = Path('/tmp/test_pin_locator.kicad_sch')
|
||||
# Create test schematic with components (cross-platform temp directory)
|
||||
test_path = Path(tempfile.gettempdir()) / 'test_pin_locator.kicad_sch'
|
||||
template_path = Path('/home/chris/MCP/KiCAD-MCP-Server/python/templates/template_with_symbols_expanded.kicad_sch')
|
||||
|
||||
shutil.copy(template_path, test_path)
|
||||
|
||||
Reference in New Issue
Block a user