CommonClient: Explicitly parse url arg as an archipelago:// url (#3568)
* Launcher "Text Client" --connect archipelago.gg:38281 should work, it doesn't, this fixes that * more explicit handling of expected values * removing launcher updates meaning this pr cannot stand alone but will not have merge issues later * add parser failure when an invalid url is found --------- Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
This commit is contained in:
parent
5021997df0
commit
e4a5ed1cc4
|
@ -1039,11 +1039,14 @@ def run_as_textclient(*args):
|
||||||
|
|
||||||
if args.url:
|
if args.url:
|
||||||
url = urllib.parse.urlparse(args.url)
|
url = urllib.parse.urlparse(args.url)
|
||||||
|
if url.scheme == "archipelago":
|
||||||
args.connect = url.netloc
|
args.connect = url.netloc
|
||||||
if url.username:
|
if url.username:
|
||||||
args.name = urllib.parse.unquote(url.username)
|
args.name = urllib.parse.unquote(url.username)
|
||||||
if url.password:
|
if url.password:
|
||||||
args.password = urllib.parse.unquote(url.password)
|
args.password = urllib.parse.unquote(url.password)
|
||||||
|
else:
|
||||||
|
parser.error(f"bad url, found {args.url}, expected url in form of archipelago://archipelago.gg:38281")
|
||||||
|
|
||||||
colorama.init()
|
colorama.init()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue