1
0
mirror of https://github.com/ihabunek/toot.git synced 2024-12-04 14:46:33 -05:00

Remove legacy configuration file handling

This commit is contained in:
Ivan Habunek 2019-09-08 14:15:16 +02:00
parent 7fc39379c9
commit 130ef9a608
2 changed files with 4 additions and 77 deletions

View File

@ -7,7 +7,6 @@ from functools import wraps
from os.path import dirname from os.path import dirname
from toot import User, App from toot import User, App
from toot.config_legacy import load_legacy_config
from toot.exceptions import ConsoleError from toot.exceptions import ConsoleError
from toot.output import print_out from toot.output import print_out
@ -31,20 +30,11 @@ def user_id(user):
def make_config(path): def make_config(path):
"""Creates a config file. """Creates an empty toot configuration file."""
Attempts to load data from legacy config files if they exist.
"""
apps, user = load_legacy_config()
apps = {a.instance: a._asdict() for a in apps}
users = {user_id(user): user._asdict()} if user else {}
active_user = user_id(user) if user else None
config = { config = {
"apps": apps, "apps": {},
"users": users, "users": {},
"active_user": active_user, "active_user": None,
} }
print_out("Creating config file at <blue>{}</blue>".format(path)) print_out("Creating config file at <blue>{}</blue>".format(path))

View File

@ -1,63 +0,0 @@
# -*- coding: utf-8 -*-
import os
from . import User, App
# The dir where all toot configuration is stored
CONFIG_DIR = os.environ['HOME'] + '/.config/toot/'
# Subfolder where application access keys for various instances are stored
INSTANCES_DIR = CONFIG_DIR + 'instances/'
# File in which user access token is stored
CONFIG_USER_FILE = CONFIG_DIR + 'user.cfg'
def load_user(path):
if not os.path.exists(path):
return None
with open(path, 'r') as f:
lines = f.read().split()
try:
return User(*lines)
except TypeError:
return None
def load_apps(path):
if not os.path.exists(path):
return []
for name in os.listdir(path):
with open(path + name) as f:
values = f.read().split()
try:
yield App(*values)
except TypeError:
pass
def add_username(user, apps):
"""When using broser login, username was not stored so look it up"""
if not user:
return None
apps = [a for a in apps if a.instance == user.instance]
if not apps:
return None
from toot.api import verify_credentials
creds = verify_credentials(apps.pop(), user)
return User(user.instance, creds['username'], user.access_token)
def load_legacy_config():
apps = list(load_apps(INSTANCES_DIR))
user = load_user(CONFIG_USER_FILE)
user = add_username(user, apps)
return apps, user