yummy1gay
@yummy1gay

Как отрыть ссылку с помощью flet с регистром?

у меня flet должен открывать настроенную ссылку по кнопке, вот код:

from flet import Page

    def nulls_start(text_values, switch_values):
        try:
            url = (
                f"nullsbrawl://createAndJoinRoom?roomname=params:"
                f"{int(text_values[0]) - 11},{int(text_values[1]) - 11},{int(text_values[2]) - 11},{int(text_values[3]) - 11},"
                f"{int(text_values[4]) - 100},{int(text_values[5]) - 100},{int(text_values[6])},{int(text_values[7])},"
                f"{int(text_values[8])},{int(text_values[9]) - 3},{int(text_values[10])},{int(text_values[11]) - 20},"
                f"{int(text_values[12])},{1 if switch_values[0].value else 0},{int(text_values[13])},{int(text_values[14]) - 3},"
                f"{1 if switch_values[1].value else 0},{1 if switch_values[2].value else 0},{1 if switch_values[3].value else 0},"
                f"{int(text_values[15])},{int(text_values[16])},{1 if switch_values[4].value else 0},{int(text_values[17])},"
                f"{1 if switch_values[5].value else -1},{int(text_values[18])},{1 if switch_values[6].value else 0},"
                f"{1 if switch_values[7].value else 0}&friendly=1"
            )
            page.launch_url(url)
            return True
        except:
            return False


вот дефолт ссылка:

nullsbrawl://createAndJoinRoom?roomname=params:0,0...

но page.launch_url(url) открывает ссылку без регистра, то есть параметр createAndJoinRoom становится createandjoinroom, из за этого приложение в котором эта ссылка открывается не воспринимает этот параметр createAndJoinRoom, как мне это исправить и сделать чтобы ссылка открывалась с регистром? я пробовал так же добавить параметр url в FilledButton но это так же не помогает

если что приложение в основном под Android, но возможно я его и на iOS сделаю
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Твоя ссылка парсится так:
  1. nullsbrawl - схема
  2. createAndJoinRoom - адрес узла, точнее, доменное имя. Доменные имена не имеют регистра, насколько я знаю, т.е. habr.com и HABR.COM - одно и то же имя. Вероятно, поэтому оно и преобразуется в нижний регистр.
  3. пустой путь к ресурсу - подразумевается корневой ресурс
  4. всё, что после ? - параметры запроса

Ты можешь попробовать изменить ссылку так: nullsbrawl:///createAndJoinRoom?....
Обрати внимание на дополнительный слэш. Эта ссылка парсится так:
  1. nullsbrawl - схема
  2. адрес узла пустой
  3. createAndJoinRoom - путь к ресурсу на указанном узле. Пути регистрозависимы в URL, а потому его трогать не будут.
  4. всё, что после ? - параметры запроса
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы