/
AlexeyS_AS
/
Gerber-TEST
Обзор
Документация
Войти
/
AlexeyS_AS
/
Gerber-TEST
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
python/gabarit.py
40 строк
1 KB
Alexey Karizhenskiy
Прочие правки..
13 апр 2025, 12:31
13 апр 2025, 12:31
b549671
Код
Авторство
О чём код?
import os import logging from pygerber.gerber.api import GerberFile from pygerber.examples import ExamplesEnum, load_example logging.basicConfig(level=logging.DEBUG) gerber_source_code = load_example(ExamplesEnum.UCAMCO_2_11_2) def gabarit_pp(path_to_f): try: image = GerberFile.from_file(path_to_f).render_with_pillow() test = image.get_image_space() if str(test.units) == "Units.Millimeters": return { 'file': path_to_f, 'size': [round((test.max_x_mm - test.min_x_mm)), round((test.max_y_mm - test.min_y_mm))] } else: return {'file': path_to_f, 'error': f'Неподдерживаемые единицы измерения: {test.units}'} except Exception as e: print(f'Ошибка при обработке файла {path_to_f}: {e}') return {'file': path_to_f, 'error': f'Ошибка при обработке файла: {e}'} def gabaritp(path): results = [] for root, dirs, files in os.walk(path): for file in files: result = gabarit_pp(os.path.join(root, file)) results.append(result) if not results: return "Файлы не найдены." return results def init_app(app): @app.errorhandler(500) def internal_error(error): app.logger.error(f'Ошибка сервера: {error}') return jsonify({'error': 'Внутренняя ошибка сервера'}), 500