Toot-Mastodon-CLI-TUI-clien.../toot/__init__.py

51 lines
1.2 KiB
Python
Raw Normal View History

import os
import sys
from os.path import join, expanduser
2023-11-30 20:10:19 +01:00
from typing import NamedTuple
2024-04-13 08:49:25 +02:00
from importlib import metadata
2017-04-12 16:42:04 +02:00
2024-04-13 08:49:25 +02:00
try:
__version__ = metadata.version("toot")
except metadata.PackageNotFoundError:
__version__ = "0.0.0"
2018-01-15 12:19:37 +01:00
2023-11-30 20:10:19 +01:00
class App(NamedTuple):
instance: str
base_url: str
client_id: str
client_secret: str
class User(NamedTuple):
instance: str
username: str
access_token: str
2017-04-12 16:42:04 +02:00
DEFAULT_INSTANCE = 'https://mastodon.social'
2017-04-12 16:42:04 +02:00
2017-04-19 14:47:30 +02:00
CLIENT_NAME = 'toot - a Mastodon CLI client'
2017-04-16 14:14:33 +02:00
CLIENT_WEBSITE = 'https://github.com/ihabunek/toot'
TOOT_CONFIG_DIR_NAME = "toot"
def get_config_dir():
"""Returns the path to toot config directory"""
# On Windows, store the config in roaming appdata
if sys.platform == "win32" and "APPDATA" in os.environ:
return join(os.getenv("APPDATA"), TOOT_CONFIG_DIR_NAME)
# Respect XDG_CONFIG_HOME env variable if set
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
if "XDG_CONFIG_HOME" in os.environ:
config_home = expanduser(os.environ["XDG_CONFIG_HOME"])
return join(config_home, TOOT_CONFIG_DIR_NAME)
# Default to ~/.config/toot/
return join(expanduser("~"), ".config", TOOT_CONFIG_DIR_NAME)