Skip to content

Commit

Permalink
debug resmgr test failure
Browse files Browse the repository at this point in the history
  • Loading branch information
kba committed Jan 22, 2024
1 parent fcba83d commit b22cf06
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 5 deletions.
15 changes: 12 additions & 3 deletions src/ocrd/resource_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,16 @@ def __init__(self, userdir=None, xdg_config_home=None, xdg_data_home=None, skip_
self._xdg_data_home = xdg_data_home
self._xdg_config_home = xdg_config_home
self._userdir = userdir
import os
# import traceback
# traceback.print_stack()
print('os.environ.HOME', os.environ['HOME'])
print('config.HOME', config.HOME)
print('config.XDG_CONFIG_HOME', config.XDG_CONFIG_HOME)
print('xdg_config_home', xdg_config_home)
print('self.xdg_config_home', self.xdg_config_home)
self.user_list = Path(self.xdg_config_home, 'ocrd', 'resources.yml')
# print(self.user_list)

if not skip_init:
self.load_resource_list(Path(RESOURCE_LIST_FILENAME))
Expand All @@ -60,9 +69,9 @@ def xdg_data_home(self):

@property
def xdg_config_home(self):
if not self._xdg_config_home:
self._xdg_config_home = config.XDG_CONFIG_HOME
return self._xdg_config_home
if self._xdg_config_home:
return self._xdg_config_home
return config.XDG_CONFIG_HOME

def save_user_list(self, database=None):
if not database:
Expand Down
2 changes: 2 additions & 0 deletions src/ocrd_utils/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -179,10 +179,12 @@ def _ocrd_download_timeout_parser(val):

config.add("XDG_DATA_HOME",
description="Directory to look for `./ocrd/resources.yml` (i.e. `ocrd resmgr` user database)",
parser=lambda val: Path(val),
default=(True, lambda: Path(config.HOME, '.local/share')))

config.add("XDG_CONFIG_HOME",
description="Directory to look for `./ocrd-resources/*` (i.e. `ocrd resmgr` data location)",
parser=lambda val: Path(val),
default=(True, lambda: Path(config.HOME, '.config')))

config.add("OCRD_LOGGING_DEBUG",
Expand Down
7 changes: 5 additions & 2 deletions tests/test_resource_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import pdb

from ocrd.resource_manager import OcrdResourceManager
from ocrd_utils import config
from ocrd_utils.os import get_ocrd_tool_json

from pytest import raises, fixture
Expand All @@ -20,17 +21,19 @@ def test_resources_manager_config_default(monkeypatch, tmp_path):

# arrange
monkeypatch.setenv('HOME', str(tmp_path))
monkeypatch.delenv('XDG_CONFIG_HOME')

# act
mgr = OcrdResourceManager()
mgr._xdg_config_home = None

# assert
default_config_dir = os.path.join(os.environ['HOME'], '.config', 'ocrd')
f = Path(default_config_dir) / CONST_RESOURCE_YML
assert os.environ['HOME'] == str(tmp_path)
assert f.exists()
assert config.HOME == tmp_path
assert Path.home() == tmp_path
assert f == mgr.user_list
assert f.exists()
assert mgr.add_to_user_database('ocrd-foo', f)
# pdb.set_trace()

Expand Down

0 comments on commit b22cf06

Please sign in to comment.