Задать вопрос
  • Python sql select возвращает None. Почему?

    @skayer
    Python software engineer
    Попробуйте вот так

    sql_select = "SELECT telegram_user_id FROM users"
    cursor = db.cursor(buffered=True)
    cursor.execute(sql_select)
    result = cursor.fetchall()
    print(result)
    Ответ написан
    Комментировать
  • В чем проблема этой ошибки?

    @skayer
    Python software engineer
    У вас есть строка '79999999999 4', которую вы пытаетесь привести к int:
    int('79999999999 4')

    Можно, например, убрать символ пробела в этой строке:

    s = '79999999999 4'
    s = s.replace(' ', '')
    int(s)

    Но дальше у вас тоже невалидный код:
    int(message.text)[12:]

    К int'у нельзя применять слайсинг `[12:]`
    Ответ написан
  • Как подсветить новую строку в таблице?

    @skayer
    Python software engineer
    Нужно в css правила добавить нечто следующее:
    @keyframes color-me-in {
        0% {
            background: white;
        }
        50% {
            background: blue;
        }
        100% {
            background: white;
        }
    }

    Это анимация, чтобы элемент из белого стал голубым а потом обратно белым.

    Далее к новой строке таблицы нужно добавить css свойство с названием созданного выше правила:
    $('div').css('animation', 'color-me-in 5s')
    'div' нужно заменить на селектор в вашей таблице.

    Чтобы выбрать именно последнюю строку в таблице, можно использовать псевдо селектор `last-child`:
    table tr:last-child {
        animation: color-me-in 5s;
    }
    Ответ написан
    1 комментарий
  • Почему инстаграм обманывает, пишет значения false при апробации запроса?

    @skayer
    Python software engineer
    1. Значения в ответе могут зависеть от того, авторизованы ли вы в инстаграме при просмотре информации по своему профилю.
    "blocked_by_viewer": false – означает, заблокировали ли вы текущий просматриваемый профиль. Если вы смотрите сами на свой профиль, то тут всегда должно быть false
    "has_blocked_viewer": false – означает противоположное – заблокированы ли вы текущиМ просматриваемым профилем

    2. Так называемая "пагинация" (pagination)
    Например, если вы пытаетесь получить список публикаций пользователя, то при запросе инстаграм отобразит только несколько публикаций (например, 12 штук).
    Чтобы увидеть следующие 12 штук, надо будет посмотреть, чтобы в поле `has_next_page` было `true`, и при следующем запросе передать `end_cursor`. Таким образом инстаграм узнает, на сколько "сместить" отдаваемый результат, чтобы вы могли увидеть следующие 12 публикаций.

    3. В первом случае вначале открывается ссылка на домене `l.instagram.com`, а потом происходит перенаправление на ссылку, которая указана в параметре `u`. Инстаграм в таком случае может отследить, что пользователь перешел по ссылке на внешний сайт.
    Во втором случае ссылка откроется напрямую.

    4 и 5. Авторизованы ли вы инстаграме, когда получаете эту информацию об аккаунте? Если нет, то скорей всего это причина такого ответа от инстаграма.
    Ответ написан
    4 комментария
  • Как вывести все значения из многомерного словаря?

    @skayer
    Python software engineer
    В приведенном вами словаре на первом уровне одини и те же ключи (id, name, child) повторяются 2 раза и перезаписываются.

    Но в общем случае я бы для такой задачи написал рекурсивную функцию.
    Например:
    def print_recursive(data, offset=''):
        def is_leaf(element):
            return not bool(element.get('child'))
    
        if is_leaf(data):
            print(offset + '<li>')
            print(offset + data.get('name'))
            print(offset + '</li>')
            return
    
        print(offset + '<ul>')
        print_recursive(data['child'], offset=offset + '    ')
        print(offset + '</ul>')
    
    arr = {}  # тут ваш словарь
    print_recursive(arr)
    Ответ написан