unrealon 1.0.9__py3-none-any.whl → 1.1.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- unrealon/__init__.py +23 -21
- unrealon-1.1.1.dist-info/METADATA +722 -0
- unrealon-1.1.1.dist-info/RECORD +82 -0
- {unrealon-1.0.9.dist-info → unrealon-1.1.1.dist-info}/WHEEL +1 -1
- unrealon-1.1.1.dist-info/entry_points.txt +9 -0
- {unrealon-1.0.9.dist-info → unrealon-1.1.1.dist-info/licenses}/LICENSE +1 -1
- unrealon_bridge/__init__.py +114 -0
- unrealon_bridge/cli.py +316 -0
- unrealon_bridge/client/__init__.py +93 -0
- unrealon_bridge/client/base.py +78 -0
- unrealon_bridge/client/commands.py +89 -0
- unrealon_bridge/client/connection.py +90 -0
- unrealon_bridge/client/events.py +65 -0
- unrealon_bridge/client/health.py +38 -0
- unrealon_bridge/client/html_parser.py +146 -0
- unrealon_bridge/client/logging.py +139 -0
- unrealon_bridge/client/proxy.py +70 -0
- unrealon_bridge/client/scheduler.py +450 -0
- unrealon_bridge/client/session.py +70 -0
- unrealon_bridge/configs/__init__.py +14 -0
- unrealon_bridge/configs/bridge_config.py +212 -0
- unrealon_bridge/configs/bridge_config.yaml +39 -0
- unrealon_bridge/models/__init__.py +138 -0
- unrealon_bridge/models/base.py +28 -0
- unrealon_bridge/models/command.py +41 -0
- unrealon_bridge/models/events.py +40 -0
- unrealon_bridge/models/html_parser.py +79 -0
- unrealon_bridge/models/logging.py +55 -0
- unrealon_bridge/models/parser.py +63 -0
- unrealon_bridge/models/proxy.py +41 -0
- unrealon_bridge/models/requests.py +95 -0
- unrealon_bridge/models/responses.py +88 -0
- unrealon_bridge/models/scheduler.py +592 -0
- unrealon_bridge/models/session.py +28 -0
- unrealon_bridge/server/__init__.py +91 -0
- unrealon_bridge/server/base.py +171 -0
- unrealon_bridge/server/handlers/__init__.py +23 -0
- unrealon_bridge/server/handlers/command.py +110 -0
- unrealon_bridge/server/handlers/html_parser.py +139 -0
- unrealon_bridge/server/handlers/logging.py +95 -0
- unrealon_bridge/server/handlers/parser.py +95 -0
- unrealon_bridge/server/handlers/proxy.py +75 -0
- unrealon_bridge/server/handlers/scheduler.py +545 -0
- unrealon_bridge/server/handlers/session.py +66 -0
- unrealon_browser/__init__.py +61 -18
- unrealon_browser/{src/cli → cli}/browser_cli.py +6 -13
- unrealon_browser/{src/cli → cli}/cookies_cli.py +5 -1
- unrealon_browser/{src/core → core}/browser_manager.py +2 -2
- unrealon_browser/{src/managers → managers}/captcha.py +1 -1
- unrealon_browser/{src/managers → managers}/cookies.py +1 -1
- unrealon_browser/managers/logger_bridge.py +231 -0
- unrealon_browser/{src/managers → managers}/profile.py +1 -1
- unrealon_driver/__init__.py +73 -19
- unrealon_driver/browser/__init__.py +8 -0
- unrealon_driver/browser/config.py +74 -0
- unrealon_driver/browser/manager.py +416 -0
- unrealon_driver/exceptions.py +28 -0
- unrealon_driver/parser/__init__.py +55 -0
- unrealon_driver/parser/cli_manager.py +141 -0
- unrealon_driver/parser/daemon_manager.py +227 -0
- unrealon_driver/parser/managers/__init__.py +46 -0
- unrealon_driver/parser/managers/browser.py +51 -0
- unrealon_driver/parser/managers/config.py +281 -0
- unrealon_driver/parser/managers/error.py +412 -0
- unrealon_driver/parser/managers/html.py +732 -0
- unrealon_driver/parser/managers/logging.py +609 -0
- unrealon_driver/parser/managers/result.py +321 -0
- unrealon_driver/parser/parser_manager.py +628 -0
- unrealon/sdk_config.py +0 -88
- unrealon-1.0.9.dist-info/METADATA +0 -810
- unrealon-1.0.9.dist-info/RECORD +0 -246
- unrealon_browser/pyproject.toml +0 -182
- unrealon_browser/src/__init__.py +0 -62
- unrealon_browser/src/managers/logger_bridge.py +0 -395
- unrealon_driver/README.md +0 -204
- unrealon_driver/pyproject.toml +0 -187
- unrealon_driver/src/__init__.py +0 -90
- unrealon_driver/src/cli/__init__.py +0 -10
- unrealon_driver/src/cli/main.py +0 -66
- unrealon_driver/src/cli/simple.py +0 -510
- unrealon_driver/src/config/__init__.py +0 -11
- unrealon_driver/src/config/auto_config.py +0 -478
- unrealon_driver/src/core/__init__.py +0 -18
- unrealon_driver/src/core/exceptions.py +0 -289
- unrealon_driver/src/core/parser.py +0 -638
- unrealon_driver/src/dto/__init__.py +0 -66
- unrealon_driver/src/dto/cli.py +0 -119
- unrealon_driver/src/dto/config.py +0 -18
- unrealon_driver/src/dto/events.py +0 -237
- unrealon_driver/src/dto/execution.py +0 -313
- unrealon_driver/src/dto/services.py +0 -311
- unrealon_driver/src/execution/__init__.py +0 -23
- unrealon_driver/src/execution/daemon_mode.py +0 -317
- unrealon_driver/src/execution/interactive_mode.py +0 -88
- unrealon_driver/src/execution/modes.py +0 -45
- unrealon_driver/src/execution/scheduled_mode.py +0 -209
- unrealon_driver/src/execution/test_mode.py +0 -250
- unrealon_driver/src/logging/__init__.py +0 -24
- unrealon_driver/src/logging/driver_logger.py +0 -512
- unrealon_driver/src/services/__init__.py +0 -24
- unrealon_driver/src/services/browser_service.py +0 -726
- unrealon_driver/src/services/llm/__init__.py +0 -15
- unrealon_driver/src/services/llm/browser_llm_service.py +0 -363
- unrealon_driver/src/services/llm/llm.py +0 -195
- unrealon_driver/src/services/logger_service.py +0 -232
- unrealon_driver/src/services/metrics_service.py +0 -185
- unrealon_driver/src/services/scheduler_service.py +0 -489
- unrealon_driver/src/services/websocket_service.py +0 -362
- unrealon_driver/src/utils/__init__.py +0 -16
- unrealon_driver/src/utils/service_factory.py +0 -317
- unrealon_driver/src/utils/time_formatter.py +0 -338
- unrealon_llm/README.md +0 -44
- unrealon_llm/__init__.py +0 -26
- unrealon_llm/pyproject.toml +0 -154
- unrealon_llm/src/__init__.py +0 -228
- unrealon_llm/src/cli/__init__.py +0 -0
- unrealon_llm/src/core/__init__.py +0 -11
- unrealon_llm/src/core/smart_client.py +0 -438
- unrealon_llm/src/dto/__init__.py +0 -155
- unrealon_llm/src/dto/models/__init__.py +0 -0
- unrealon_llm/src/dto/models/config.py +0 -343
- unrealon_llm/src/dto/models/core.py +0 -328
- unrealon_llm/src/dto/models/enums.py +0 -123
- unrealon_llm/src/dto/models/html_analysis.py +0 -345
- unrealon_llm/src/dto/models/statistics.py +0 -473
- unrealon_llm/src/dto/models/translation.py +0 -383
- unrealon_llm/src/dto/models/type_conversion.py +0 -462
- unrealon_llm/src/dto/schemas/__init__.py +0 -0
- unrealon_llm/src/exceptions.py +0 -392
- unrealon_llm/src/llm_config/__init__.py +0 -20
- unrealon_llm/src/llm_config/logging_config.py +0 -178
- unrealon_llm/src/llm_logging/__init__.py +0 -42
- unrealon_llm/src/llm_logging/llm_events.py +0 -107
- unrealon_llm/src/llm_logging/llm_logger.py +0 -466
- unrealon_llm/src/managers/__init__.py +0 -15
- unrealon_llm/src/managers/cache_manager.py +0 -67
- unrealon_llm/src/managers/cost_manager.py +0 -107
- unrealon_llm/src/managers/request_manager.py +0 -298
- unrealon_llm/src/modules/__init__.py +0 -0
- unrealon_llm/src/modules/html_processor/__init__.py +0 -25
- unrealon_llm/src/modules/html_processor/base_processor.py +0 -415
- unrealon_llm/src/modules/html_processor/details_processor.py +0 -85
- unrealon_llm/src/modules/html_processor/listing_processor.py +0 -91
- unrealon_llm/src/modules/html_processor/models/__init__.py +0 -20
- unrealon_llm/src/modules/html_processor/models/processing_models.py +0 -40
- unrealon_llm/src/modules/html_processor/models/universal_model.py +0 -56
- unrealon_llm/src/modules/html_processor/processor.py +0 -102
- unrealon_llm/src/modules/llm/__init__.py +0 -0
- unrealon_llm/src/modules/translator/__init__.py +0 -0
- unrealon_llm/src/provider.py +0 -116
- unrealon_llm/src/utils/__init__.py +0 -95
- unrealon_llm/src/utils/common.py +0 -64
- unrealon_llm/src/utils/data_extractor.py +0 -188
- unrealon_llm/src/utils/html_cleaner.py +0 -767
- unrealon_llm/src/utils/language_detector.py +0 -308
- unrealon_llm/src/utils/models_cache.py +0 -592
- unrealon_llm/src/utils/smart_counter.py +0 -229
- unrealon_llm/src/utils/token_counter.py +0 -189
- unrealon_sdk/README.md +0 -25
- unrealon_sdk/__init__.py +0 -30
- unrealon_sdk/pyproject.toml +0 -231
- unrealon_sdk/src/__init__.py +0 -150
- unrealon_sdk/src/cli/__init__.py +0 -12
- unrealon_sdk/src/cli/commands/__init__.py +0 -22
- unrealon_sdk/src/cli/commands/benchmark.py +0 -42
- unrealon_sdk/src/cli/commands/diagnostics.py +0 -573
- unrealon_sdk/src/cli/commands/health.py +0 -46
- unrealon_sdk/src/cli/commands/integration.py +0 -498
- unrealon_sdk/src/cli/commands/reports.py +0 -43
- unrealon_sdk/src/cli/commands/security.py +0 -36
- unrealon_sdk/src/cli/commands/server.py +0 -483
- unrealon_sdk/src/cli/commands/servers.py +0 -56
- unrealon_sdk/src/cli/commands/tests.py +0 -55
- unrealon_sdk/src/cli/main.py +0 -126
- unrealon_sdk/src/cli/utils/reporter.py +0 -519
- unrealon_sdk/src/clients/openapi.yaml +0 -3347
- unrealon_sdk/src/clients/python_http/__init__.py +0 -3
- unrealon_sdk/src/clients/python_http/api_config.py +0 -228
- unrealon_sdk/src/clients/python_http/models/BaseModel.py +0 -12
- unrealon_sdk/src/clients/python_http/models/BroadcastDeliveryStats.py +0 -33
- unrealon_sdk/src/clients/python_http/models/BroadcastMessage.py +0 -17
- unrealon_sdk/src/clients/python_http/models/BroadcastMessageRequest.py +0 -35
- unrealon_sdk/src/clients/python_http/models/BroadcastPriority.py +0 -10
- unrealon_sdk/src/clients/python_http/models/BroadcastResponse.py +0 -21
- unrealon_sdk/src/clients/python_http/models/BroadcastResultResponse.py +0 -33
- unrealon_sdk/src/clients/python_http/models/BroadcastTarget.py +0 -11
- unrealon_sdk/src/clients/python_http/models/ConnectionStats.py +0 -27
- unrealon_sdk/src/clients/python_http/models/ConnectionsResponse.py +0 -21
- unrealon_sdk/src/clients/python_http/models/DeveloperMessageResponse.py +0 -23
- unrealon_sdk/src/clients/python_http/models/ErrorResponse.py +0 -25
- unrealon_sdk/src/clients/python_http/models/HTTPValidationError.py +0 -16
- unrealon_sdk/src/clients/python_http/models/HealthResponse.py +0 -23
- unrealon_sdk/src/clients/python_http/models/HealthStatus.py +0 -33
- unrealon_sdk/src/clients/python_http/models/LogLevel.py +0 -10
- unrealon_sdk/src/clients/python_http/models/LoggingRequest.py +0 -27
- unrealon_sdk/src/clients/python_http/models/LoggingResponse.py +0 -23
- unrealon_sdk/src/clients/python_http/models/MaintenanceMode.py +0 -9
- unrealon_sdk/src/clients/python_http/models/MaintenanceModeRequest.py +0 -33
- unrealon_sdk/src/clients/python_http/models/MaintenanceStatusResponse.py +0 -39
- unrealon_sdk/src/clients/python_http/models/ParserCommandRequest.py +0 -25
- unrealon_sdk/src/clients/python_http/models/ParserMessageResponse.py +0 -21
- unrealon_sdk/src/clients/python_http/models/ParserRegistrationRequest.py +0 -28
- unrealon_sdk/src/clients/python_http/models/ParserRegistrationResponse.py +0 -25
- unrealon_sdk/src/clients/python_http/models/ParserType.py +0 -10
- unrealon_sdk/src/clients/python_http/models/ProxyBlockRequest.py +0 -19
- unrealon_sdk/src/clients/python_http/models/ProxyEndpointResponse.py +0 -20
- unrealon_sdk/src/clients/python_http/models/ProxyListResponse.py +0 -19
- unrealon_sdk/src/clients/python_http/models/ProxyProvider.py +0 -10
- unrealon_sdk/src/clients/python_http/models/ProxyPurchaseRequest.py +0 -25
- unrealon_sdk/src/clients/python_http/models/ProxyResponse.py +0 -47
- unrealon_sdk/src/clients/python_http/models/ProxyRotationRequest.py +0 -23
- unrealon_sdk/src/clients/python_http/models/ProxyStatus.py +0 -10
- unrealon_sdk/src/clients/python_http/models/ProxyUsageRequest.py +0 -19
- unrealon_sdk/src/clients/python_http/models/ProxyUsageStatsResponse.py +0 -26
- unrealon_sdk/src/clients/python_http/models/ServiceRegistrationDto.py +0 -23
- unrealon_sdk/src/clients/python_http/models/ServiceStatsResponse.py +0 -31
- unrealon_sdk/src/clients/python_http/models/SessionStartRequest.py +0 -23
- unrealon_sdk/src/clients/python_http/models/SuccessResponse.py +0 -25
- unrealon_sdk/src/clients/python_http/models/SystemNotificationResponse.py +0 -23
- unrealon_sdk/src/clients/python_http/models/ValidationError.py +0 -18
- unrealon_sdk/src/clients/python_http/models/ValidationErrorResponse.py +0 -21
- unrealon_sdk/src/clients/python_http/models/WebSocketMetrics.py +0 -21
- unrealon_sdk/src/clients/python_http/models/__init__.py +0 -44
- unrealon_sdk/src/clients/python_http/services/None_service.py +0 -35
- unrealon_sdk/src/clients/python_http/services/ParserManagement_service.py +0 -190
- unrealon_sdk/src/clients/python_http/services/ProxyManagement_service.py +0 -289
- unrealon_sdk/src/clients/python_http/services/SocketLogging_service.py +0 -187
- unrealon_sdk/src/clients/python_http/services/SystemHealth_service.py +0 -119
- unrealon_sdk/src/clients/python_http/services/WebSocketAPI_service.py +0 -198
- unrealon_sdk/src/clients/python_http/services/__init__.py +0 -0
- unrealon_sdk/src/clients/python_http/services/admin_service.py +0 -125
- unrealon_sdk/src/clients/python_http/services/async_None_service.py +0 -35
- unrealon_sdk/src/clients/python_http/services/async_ParserManagement_service.py +0 -190
- unrealon_sdk/src/clients/python_http/services/async_ProxyManagement_service.py +0 -289
- unrealon_sdk/src/clients/python_http/services/async_SocketLogging_service.py +0 -189
- unrealon_sdk/src/clients/python_http/services/async_SystemHealth_service.py +0 -123
- unrealon_sdk/src/clients/python_http/services/async_WebSocketAPI_service.py +0 -200
- unrealon_sdk/src/clients/python_http/services/async_admin_service.py +0 -125
- unrealon_sdk/src/clients/python_websocket/__init__.py +0 -28
- unrealon_sdk/src/clients/python_websocket/client.py +0 -490
- unrealon_sdk/src/clients/python_websocket/events.py +0 -732
- unrealon_sdk/src/clients/python_websocket/example.py +0 -136
- unrealon_sdk/src/clients/python_websocket/types.py +0 -871
- unrealon_sdk/src/core/__init__.py +0 -64
- unrealon_sdk/src/core/client.py +0 -556
- unrealon_sdk/src/core/config.py +0 -465
- unrealon_sdk/src/core/exceptions.py +0 -239
- unrealon_sdk/src/core/metadata.py +0 -191
- unrealon_sdk/src/core/models.py +0 -142
- unrealon_sdk/src/core/types.py +0 -68
- unrealon_sdk/src/dto/__init__.py +0 -268
- unrealon_sdk/src/dto/authentication.py +0 -108
- unrealon_sdk/src/dto/cache.py +0 -208
- unrealon_sdk/src/dto/common.py +0 -19
- unrealon_sdk/src/dto/concurrency.py +0 -393
- unrealon_sdk/src/dto/events.py +0 -108
- unrealon_sdk/src/dto/health.py +0 -339
- unrealon_sdk/src/dto/load_balancing.py +0 -336
- unrealon_sdk/src/dto/logging.py +0 -230
- unrealon_sdk/src/dto/performance.py +0 -165
- unrealon_sdk/src/dto/rate_limiting.py +0 -295
- unrealon_sdk/src/dto/resource_pooling.py +0 -128
- unrealon_sdk/src/dto/structured_logging.py +0 -112
- unrealon_sdk/src/dto/task_scheduling.py +0 -121
- unrealon_sdk/src/dto/websocket.py +0 -55
- unrealon_sdk/src/enterprise/__init__.py +0 -59
- unrealon_sdk/src/enterprise/authentication.py +0 -401
- unrealon_sdk/src/enterprise/cache_manager.py +0 -578
- unrealon_sdk/src/enterprise/error_recovery.py +0 -494
- unrealon_sdk/src/enterprise/event_system.py +0 -549
- unrealon_sdk/src/enterprise/health_monitor.py +0 -747
- unrealon_sdk/src/enterprise/load_balancer.py +0 -964
- unrealon_sdk/src/enterprise/logging/__init__.py +0 -68
- unrealon_sdk/src/enterprise/logging/cleanup.py +0 -156
- unrealon_sdk/src/enterprise/logging/development.py +0 -744
- unrealon_sdk/src/enterprise/logging/service.py +0 -410
- unrealon_sdk/src/enterprise/multithreading_manager.py +0 -853
- unrealon_sdk/src/enterprise/performance_monitor.py +0 -539
- unrealon_sdk/src/enterprise/proxy_manager.py +0 -696
- unrealon_sdk/src/enterprise/rate_limiter.py +0 -652
- unrealon_sdk/src/enterprise/resource_pool.py +0 -763
- unrealon_sdk/src/enterprise/task_scheduler.py +0 -709
- unrealon_sdk/src/internal/__init__.py +0 -10
- unrealon_sdk/src/internal/command_router.py +0 -497
- unrealon_sdk/src/internal/connection_manager.py +0 -397
- unrealon_sdk/src/internal/http_client.py +0 -446
- unrealon_sdk/src/internal/websocket_client.py +0 -420
- unrealon_sdk/src/provider.py +0 -471
- unrealon_sdk/src/utils.py +0 -234
- /unrealon_browser/{src/cli → cli}/__init__.py +0 -0
- /unrealon_browser/{src/cli → cli}/interactive_mode.py +0 -0
- /unrealon_browser/{src/cli → cli}/main.py +0 -0
- /unrealon_browser/{src/core → core}/__init__.py +0 -0
- /unrealon_browser/{src/dto → dto}/__init__.py +0 -0
- /unrealon_browser/{src/dto → dto}/models/config.py +0 -0
- /unrealon_browser/{src/dto → dto}/models/core.py +0 -0
- /unrealon_browser/{src/dto → dto}/models/dataclasses.py +0 -0
- /unrealon_browser/{src/dto → dto}/models/detection.py +0 -0
- /unrealon_browser/{src/dto → dto}/models/enums.py +0 -0
- /unrealon_browser/{src/dto → dto}/models/statistics.py +0 -0
- /unrealon_browser/{src/managers → managers}/__init__.py +0 -0
- /unrealon_browser/{src/managers → managers}/stealth.py +0 -0
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Enterprise Logging Package for UnrealOn SDK
|
|
3
|
-
|
|
4
|
-
Centralized logging infrastructure following enterprise standards:
|
|
5
|
-
- Type-safe structured logging with Pydantic v2
|
|
6
|
-
- Real-time log streaming via WebSocket
|
|
7
|
-
- Development process tracking and debugging
|
|
8
|
-
- Automatic log cleanup and rotation
|
|
9
|
-
- Performance monitoring and analytics
|
|
10
|
-
|
|
11
|
-
Modules:
|
|
12
|
-
- service: Enterprise-grade structured logging service
|
|
13
|
-
- development: Development process logging and tracking
|
|
14
|
-
- cleanup: Automatic log file cleanup utilities
|
|
15
|
-
|
|
16
|
-
Following KISS methodology and 100% compliance with enterprise requirements.
|
|
17
|
-
"""
|
|
18
|
-
|
|
19
|
-
# Import all logging components for easy access
|
|
20
|
-
from .service import (
|
|
21
|
-
LoggingService,
|
|
22
|
-
StructuredLogger,
|
|
23
|
-
LogLevel,
|
|
24
|
-
LogEntryMessage,
|
|
25
|
-
LogBuffer,
|
|
26
|
-
LogDestination,
|
|
27
|
-
get_logger,
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
from .development import (
|
|
31
|
-
DevelopmentLogger,
|
|
32
|
-
SDKEventType,
|
|
33
|
-
SDKSeverity,
|
|
34
|
-
SDKContext,
|
|
35
|
-
SDKDevelopmentEvent,
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
from .cleanup import (
|
|
39
|
-
clear_old_sdk_logs,
|
|
40
|
-
clear_development_logs,
|
|
41
|
-
setup_sdk_logging_with_cleanup,
|
|
42
|
-
)
|
|
43
|
-
|
|
44
|
-
# Centralized exports following enterprise standards
|
|
45
|
-
__all__ = [
|
|
46
|
-
# Core logging service
|
|
47
|
-
"LoggingService",
|
|
48
|
-
"StructuredLogger",
|
|
49
|
-
"get_logger",
|
|
50
|
-
|
|
51
|
-
# Data models
|
|
52
|
-
"LogLevel",
|
|
53
|
-
"LogEntryMessage",
|
|
54
|
-
"LogBuffer",
|
|
55
|
-
"LogDestination",
|
|
56
|
-
|
|
57
|
-
# Development logging
|
|
58
|
-
"DevelopmentLogger",
|
|
59
|
-
"SDKEventType",
|
|
60
|
-
"SDKSeverity",
|
|
61
|
-
"SDKContext",
|
|
62
|
-
"SDKDevelopmentEvent",
|
|
63
|
-
|
|
64
|
-
# Cleanup utilities
|
|
65
|
-
"clear_old_sdk_logs",
|
|
66
|
-
"clear_development_logs",
|
|
67
|
-
"setup_sdk_logging_with_cleanup",
|
|
68
|
-
]
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
SDK Log Cleanup Utilities
|
|
3
|
-
|
|
4
|
-
Automatic log file cleanup functionality for UnrealOn SDK.
|
|
5
|
-
Provides smart log clearing for both parser development and internal SDK logging.
|
|
6
|
-
"""
|
|
7
|
-
|
|
8
|
-
import time
|
|
9
|
-
import logging
|
|
10
|
-
from pathlib import Path
|
|
11
|
-
from typing import Optional
|
|
12
|
-
|
|
13
|
-
# Global flag to ensure cleanup happens only once per application run
|
|
14
|
-
_CLEANUP_PERFORMED = False
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def clear_old_sdk_logs(log_dir: Optional[str] = None) -> None:
|
|
18
|
-
"""
|
|
19
|
-
Clear all *.log files older than 5 minutes in SDK logs directory.
|
|
20
|
-
|
|
21
|
-
This function is called automatically when SDK starts to ensure clean logging.
|
|
22
|
-
Targets both parser development logs and internal SDK logs.
|
|
23
|
-
|
|
24
|
-
Args:
|
|
25
|
-
log_dir: Custom log directory path. If None, uses default SDK logs location.
|
|
26
|
-
"""
|
|
27
|
-
if log_dir is None:
|
|
28
|
-
# Default SDK logs directory (at SDK root level)
|
|
29
|
-
sdk_root = Path(__file__).parent.parent.parent
|
|
30
|
-
logs_dir = sdk_root / "logs"
|
|
31
|
-
else:
|
|
32
|
-
logs_dir = Path(log_dir)
|
|
33
|
-
|
|
34
|
-
if not logs_dir.exists():
|
|
35
|
-
return
|
|
36
|
-
|
|
37
|
-
# Clear logs older than 5 minutes (300 seconds)
|
|
38
|
-
cutoff_time = time.time() - 300
|
|
39
|
-
log_files = list(logs_dir.glob("*.log"))
|
|
40
|
-
|
|
41
|
-
if not log_files:
|
|
42
|
-
return
|
|
43
|
-
|
|
44
|
-
print("🧹 SDK: Clearing old logs...")
|
|
45
|
-
|
|
46
|
-
for log_path in log_files:
|
|
47
|
-
try:
|
|
48
|
-
# Check if file is older than 5 minutes
|
|
49
|
-
if log_path.stat().st_mtime < cutoff_time:
|
|
50
|
-
log_path.write_text("")
|
|
51
|
-
print(f"🗑️ SDK: Cleared old log: {log_path.name}")
|
|
52
|
-
except Exception as e:
|
|
53
|
-
print(f"⚠️ SDK: Failed to clear log {log_path.name}: {e}")
|
|
54
|
-
|
|
55
|
-
print("✅ SDK: Log cleanup completed")
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
def setup_sdk_logging_with_cleanup(parser_id: str, clear_logs: bool = True) -> logging.Logger:
|
|
59
|
-
"""
|
|
60
|
-
Setup SDK logging with automatic cleanup on startup.
|
|
61
|
-
|
|
62
|
-
This is the main function that SDK components should use to get a logger
|
|
63
|
-
with automatic log cleanup functionality.
|
|
64
|
-
|
|
65
|
-
Args:
|
|
66
|
-
parser_id: Parser identifier for logger naming
|
|
67
|
-
clear_logs: Whether to perform log cleanup on startup
|
|
68
|
-
|
|
69
|
-
Returns:
|
|
70
|
-
logging.Logger: Configured logger instance
|
|
71
|
-
"""
|
|
72
|
-
global _CLEANUP_PERFORMED
|
|
73
|
-
|
|
74
|
-
# Perform automatic log cleanup only once per application run
|
|
75
|
-
if clear_logs and not _CLEANUP_PERFORMED:
|
|
76
|
-
clear_old_sdk_logs()
|
|
77
|
-
_CLEANUP_PERFORMED = True
|
|
78
|
-
|
|
79
|
-
# Create logger
|
|
80
|
-
logger = logging.getLogger(f"unrealon_sdk.{parser_id}")
|
|
81
|
-
|
|
82
|
-
# Set up basic configuration if not already configured
|
|
83
|
-
if not logger.handlers:
|
|
84
|
-
# Console handler
|
|
85
|
-
console_handler = logging.StreamHandler()
|
|
86
|
-
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
|
|
87
|
-
console_handler.setFormatter(formatter)
|
|
88
|
-
logger.addHandler(console_handler)
|
|
89
|
-
|
|
90
|
-
# File handler with automatic directory creation
|
|
91
|
-
sdk_root = Path(__file__).parent.parent.parent
|
|
92
|
-
log_path = sdk_root / "logs" / "unrealon_sdk.log"
|
|
93
|
-
log_path.parent.mkdir(parents=True, exist_ok=True)
|
|
94
|
-
|
|
95
|
-
file_handler = logging.FileHandler(log_path)
|
|
96
|
-
file_handler.setFormatter(formatter)
|
|
97
|
-
logger.addHandler(file_handler)
|
|
98
|
-
|
|
99
|
-
logger.setLevel(logging.INFO)
|
|
100
|
-
logger.info(f"SDK logging configured with cleanup - Parser: {parser_id}")
|
|
101
|
-
|
|
102
|
-
return logger
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
def clear_development_logs() -> None:
|
|
106
|
-
"""
|
|
107
|
-
Clear development logger specific logs.
|
|
108
|
-
|
|
109
|
-
This function targets internal SDK development logs specifically,
|
|
110
|
-
used by DevelopmentLogger for internal SDK operations tracking.
|
|
111
|
-
"""
|
|
112
|
-
try:
|
|
113
|
-
sdk_root = Path(__file__).parent.parent.parent
|
|
114
|
-
dev_logs_dir = sdk_root / "logs" / "development"
|
|
115
|
-
|
|
116
|
-
if dev_logs_dir.exists():
|
|
117
|
-
clear_old_sdk_logs(str(dev_logs_dir))
|
|
118
|
-
except Exception as e:
|
|
119
|
-
print(f"⚠️ SDK: Failed to clear development logs: {e}")
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
def clear_parser_logs() -> None:
|
|
123
|
-
"""
|
|
124
|
-
Clear parser-specific logs.
|
|
125
|
-
|
|
126
|
-
This function targets logs created by parser developers using LoggingService,
|
|
127
|
-
typically stored in the main logs directory.
|
|
128
|
-
"""
|
|
129
|
-
try:
|
|
130
|
-
clear_old_sdk_logs() # Uses default location
|
|
131
|
-
except Exception as e:
|
|
132
|
-
print(f"⚠️ SDK: Failed to clear parser logs: {e}")
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
# Main cleanup function called on SDK startup
|
|
136
|
-
def sdk_startup_cleanup() -> None:
|
|
137
|
-
"""
|
|
138
|
-
Perform complete SDK log cleanup on startup.
|
|
139
|
-
|
|
140
|
-
This function is called automatically when SDK components initialize
|
|
141
|
-
to ensure clean logging environment for both development and parser logs.
|
|
142
|
-
"""
|
|
143
|
-
global _CLEANUP_PERFORMED
|
|
144
|
-
|
|
145
|
-
# Only perform cleanup once per application run
|
|
146
|
-
if _CLEANUP_PERFORMED:
|
|
147
|
-
return
|
|
148
|
-
|
|
149
|
-
print("🚀 SDK: Starting log cleanup on startup...")
|
|
150
|
-
|
|
151
|
-
# Clear both development and parser logs
|
|
152
|
-
clear_development_logs()
|
|
153
|
-
clear_parser_logs()
|
|
154
|
-
|
|
155
|
-
_CLEANUP_PERFORMED = True
|
|
156
|
-
print("✅ SDK: Startup log cleanup completed")
|