Files
GostGenerator/check_variant_properties.py
T

61 lines
2.3 KiB
Python

import sqlite3
import os
db_path = 'build/Desktop_Qt_5_15_2_MSVC2019_64bit-Debug/components.db'
if os.path.exists(db_path):
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
# Проверяем варианты
cursor.execute("SELECT id, name FROM variants")
variants = cursor.fetchall()
print("Variants:")
for variant in variants:
print(f" ID: {variant[0]}, Name: {variant[1]}")
# Проверяем вариативные свойства
cursor.execute("SELECT COUNT(*) FROM variant_properties")
variant_props_count = cursor.fetchone()[0]
print(f"\nVariant properties count: {variant_props_count}")
if variant_props_count > 0:
# Показываем несколько примеров вариативных свойств
cursor.execute("""
SELECT vp.component_id, c.designator, v.name, vp.property_name, vp.property_value
FROM variant_properties vp
JOIN components c ON vp.component_id = c.id
JOIN variants v ON vp.variant_id = v.id
LIMIT 10
""")
variant_props = cursor.fetchall()
print("\nVariant properties examples:")
for prop in variant_props:
print(f" Component {prop[1]} (ID: {prop[0]}) in variant '{prop[2]}': {prop[3]} = {prop[4]}")
# Проверяем компоненты для каждого варианта
for variant in variants:
variant_id, variant_name = variant
cursor.execute("""
SELECT COUNT(*) FROM component_variants
WHERE variant_id = ?
""", (variant_id,))
component_count = cursor.fetchone()[0]
print(f"\nVariant '{variant_name}' has {component_count} components")
if component_count > 0:
cursor.execute("""
SELECT c.designator, cv.is_fitted
FROM component_variants cv
JOIN components c ON cv.component_id = c.id
WHERE cv.variant_id = ?
LIMIT 5
""", (variant_id,))
components = cursor.fetchall()
print(" Sample components:")
for comp in components:
print(f" {comp[0]} (fitted: {comp[1]})")
conn.close()
else:
print("Database file not found!")