mirror of
https://github.com/ihabunek/toot.git
synced 2024-09-22 04:25:55 -04:00
wip
This commit is contained in:
parent
68bf18213b
commit
111f247376
@ -8,9 +8,9 @@ from urllib.parse import urlparse
|
|||||||
|
|
||||||
from urwid.escape import re
|
from urwid.escape import re
|
||||||
|
|
||||||
from toot import api, config
|
from toot import App, api, config
|
||||||
from toot.auth import login_interactive, login_browser_interactive, create_app_interactive
|
from toot.auth import login_interactive, login_browser_interactive, create_app_interactive
|
||||||
from toot.exceptions import ConsoleError, NotFoundError
|
from toot.exceptions import ApiError, ConsoleError, NotFoundError
|
||||||
from toot.output import (print_err, print_out, print_instance, print_account, print_acct_list,
|
from toot.output import (print_err, print_out, print_instance, print_account, print_acct_list,
|
||||||
print_search_results, print_timeline, print_notifications, prompt)
|
print_search_results, print_timeline, print_notifications, prompt)
|
||||||
from toot.utils import assert_domain_exists, editor_input, get_text, is_url, multiline_input, EOF_KEY, parse_html
|
from toot.utils import assert_domain_exists, editor_input, get_text, is_url, multiline_input, EOF_KEY, parse_html
|
||||||
@ -205,27 +205,34 @@ def auth(app, user, args):
|
|||||||
|
|
||||||
def register(app, user, args):
|
def register(app, user, args):
|
||||||
instance_url = args.instance or prompt("Instance URL", validate=is_url)
|
instance_url = args.instance or prompt("Instance URL", validate=is_url)
|
||||||
instance_url = instance_url.rstrip("/")
|
|
||||||
|
|
||||||
parsed_url = urlparse(instance_url)
|
parsed_url = urlparse(instance_url)
|
||||||
assert_domain_exists(parsed_url.netloc)
|
|
||||||
base_url = f"{parsed_url.scheme}://{parsed_url.netloc}"
|
base_url = f"{parsed_url.scheme}://{parsed_url.netloc}"
|
||||||
print(base_url)
|
domain = parsed_url.netloc
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
print_out(f"<dim>Looking for an instance at {base_url}...</dim>")
|
||||||
instance = api.get_instance_by_url(base_url)
|
instance = api.get_instance_by_url(base_url)
|
||||||
except NotFoundError:
|
except ApiError:
|
||||||
raise ConsoleError(f"Mastdon instance not found at {base_url}")
|
raise ConsoleError(f"Mastdon instance not found at {base_url}")
|
||||||
|
|
||||||
print_out()
|
print_out()
|
||||||
print_instance(instance)
|
print_instance(instance)
|
||||||
|
print_out()
|
||||||
|
|
||||||
|
if not instance["registrations"]:
|
||||||
|
raise ConsoleError("This instance is not currently allowing new registrations")
|
||||||
|
|
||||||
# pprint(instance)
|
app = config.load_app(domain)
|
||||||
|
if not app:
|
||||||
|
try:
|
||||||
|
print_out("<dim>Registering application...</dim>")
|
||||||
|
response = api.create_app(base_url)
|
||||||
|
app = App(domain, base_url, response["client_id"], response["client_secret"])
|
||||||
|
config.save_app(app)
|
||||||
|
except ApiError:
|
||||||
|
raise ConsoleError("Registration failed.")
|
||||||
|
|
||||||
# app = create_app_interactive(instance=args.instance, scheme=args.scheme)
|
print(app)
|
||||||
# print(app)
|
|
||||||
# print(user)
|
|
||||||
|
|
||||||
|
|
||||||
def login_cli(app, user, args):
|
def login_cli(app, user, args):
|
||||||
|
@ -14,6 +14,7 @@ from toot.wcstring import wc_wrap
|
|||||||
|
|
||||||
|
|
||||||
START_CODES = {
|
START_CODES = {
|
||||||
|
'dim': '\033[2m',
|
||||||
'red': '\033[31m',
|
'red': '\033[31m',
|
||||||
'green': '\033[32m',
|
'green': '\033[32m',
|
||||||
'yellow': '\033[33m',
|
'yellow': '\033[33m',
|
||||||
|
Loading…
Reference in New Issue
Block a user