MIRAGE_CONFIG_DIR and MIRAGE_DATA_DIR env vars

Allow overriding the default path where config files and user data are
found
This commit is contained in:
miruka 2020-03-28 08:01:26 -04:00
parent 1038678a2f
commit 22be0bf5f0

View File

@ -4,6 +4,7 @@
import asyncio import asyncio
import json import json
import os
from dataclasses import dataclass, field from dataclasses import dataclass, field
from pathlib import Path from pathlib import Path
from typing import TYPE_CHECKING, Any, ClassVar, Dict, Optional from typing import TYPE_CHECKING, Any, ClassVar, Dict, Optional
@ -45,9 +46,15 @@ class DataFile:
"""Full path of the file, even if it doesn't exist yet.""" """Full path of the file, even if it doesn't exist yet."""
if self.is_config: if self.is_config:
return Path(self.backend.appdirs.user_config_dir) / self.filename return Path(
os.environ.get("MIRAGE_CONFIG_DIR") or
self.backend.appdirs.user_config_dir
) / self.filename
return Path(self.backend.appdirs.user_data_dir) / self.filename return Path(
os.environ.get("MIRAGE_DATA_DIR") or
self.backend.appdirs.user_data_dir
) / self.filename
async def default_data(self): async def default_data(self):