Coverage for sources/librovore/state.py: 100%
11 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-09-28 22:09 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2025-09-28 22:09 +0000
1# vim: set filetype=python fileencoding=utf-8:
2# -*- coding: utf-8 -*-
4#============================================================================#
5# #
6# Licensed under the Apache License, Version 2.0 (the "License"); #
7# you may not use this file except in compliance with the License. #
8# You may obtain a copy of the License at #
9# #
10# http://www.apache.org/licenses/LICENSE-2.0 #
11# #
12# Unless required by applicable law or agreed to in writing, software #
13# distributed under the License is distributed on an "AS IS" BASIS, #
14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
15# See the License for the specific language governing permissions and #
16# limitations under the License. #
17# #
18#============================================================================#
21''' Application state management. '''
24import appcore.cli as _appcore_cli
26from . import __
27from . import cacheproxy as _cacheproxy
28from . import interfaces as _interfaces
31class DisplayOptions( _appcore_cli.DisplayOptions ):
32 ''' Consolidated display configuration for CLI output. '''
34 format: _interfaces.DisplayFormat = _interfaces.DisplayFormat.Markdown
37class Globals( __.Globals ):
38 ''' Librovore-specific global state container.
40 Extends appcore.Globals with cache instances configured from
41 application configuration.
42 '''
44 display: DisplayOptions = __.dcls.field( default_factory = DisplayOptions )
45 content_cache: _cacheproxy.ContentCache
46 probe_cache: _cacheproxy.ProbeCache
47 robots_cache: _cacheproxy.RobotsCache