- court_document_parser.py: парсер судебных документов с извлечением ФИО, номера дела, УИД, суда - court_parser_api.py: API для вызова парсера из n8n - pdf_court_parser.py: парсер PDF документов с извлечением текста - simple_project_updater.php: обновление проектов через CRM API - simple_project_updater_v2.php: обновленная версия с прямыми SQL запросами и S3Client - update_project_from_document.php: альтернативный скрипт обновления - test_input.json: тестовые данные для парсера - README файлы с документацией для всех скриптов Скрипты поддерживают: - Поиск проектов по ФИО, номеру дела, УИД, названию суда - Создание документов в CRM с загрузкой в S3 - Привязку документов к проектам - Логирование всех операций - Работу с n8n через SSH команды
55 lines
1.6 KiB
Python
Executable File
55 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python3
|
||
# -*- coding: utf-8 -*-
|
||
"""
|
||
API endpoint для парсера судебных документов
|
||
Использование: python3 court_parser_api.py "текст документа"
|
||
"""
|
||
|
||
import json
|
||
import sys
|
||
import os
|
||
from court_document_parser import CourtDocumentParser
|
||
|
||
|
||
def main():
|
||
"""API endpoint для вызова из n8n через SSH"""
|
||
|
||
# Создаем парсер
|
||
document_parser = CourtDocumentParser()
|
||
|
||
try:
|
||
# Получаем текст документа из аргумента командной строки
|
||
if len(sys.argv) < 2:
|
||
error_result = {
|
||
'error': 'Не указан текст документа',
|
||
'status': 'error'
|
||
}
|
||
print(json.dumps(error_result, ensure_ascii=False, indent=2))
|
||
return 1
|
||
|
||
# Берем текст из первого аргумента
|
||
document_text = sys.argv[1]
|
||
|
||
# Создаем объект документа
|
||
input_data = {"combinedText": document_text}
|
||
|
||
# Парсим документ
|
||
results = document_parser.parse_documents([input_data])
|
||
|
||
# Выводим результаты в stdout
|
||
print(json.dumps(results, ensure_ascii=False, indent=2))
|
||
|
||
return 0
|
||
|
||
except Exception as e:
|
||
error_result = {
|
||
'error': f'Ошибка обработки: {str(e)}',
|
||
'status': 'error'
|
||
}
|
||
print(json.dumps(error_result, ensure_ascii=False, indent=2))
|
||
return 1
|
||
|
||
|
||
if __name__ == '__main__':
|
||
sys.exit(main())
|