1# Copyright (C) 2017-2021 Pier Carlo Chiodi
2#
3# This program is free software: you can redistribute it and/or modify
4# it under the terms of the GNU General Public License as published by
5# the Free Software Foundation, either version 3 of the License, or
6# (at your option) any later version.
7#
8# This program is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11# GNU General Public License for more details.
12#
13# You should have received a copy of the GNU General Public License
14# along with this program.  If not, see <http://www.gnu.org/licenses/>.
15
16import os
17import pkg_resources
18
19from .errors import ResourceNotFoundError
20
21
22def get_local_dir(dirname):
23    pkg_path = pkg_resources.resource_filename("pierky.arouteserver", dirname)
24    if os.path.isdir(pkg_path):
25        return pkg_path
26
27    raise ResourceNotFoundError(
28        "Can't find '{}' directory at {}".format(
29            dirname, pkg_path
30        )
31    )
32
33def get_config_dir():
34    return get_local_dir("config.d")
35
36def get_templates_dir():
37    return get_local_dir("templates")
38
39def get_live_test_skeleton_dir():
40    return get_local_dir("tests/live_tests/skeleton")
41