Задать вопрос
  • Как обратиться к поле 'from' объекта в питоне?

    @toha_man Автор вопроса
    Roman Kitaev, ну вот создатели библиотеки vk_api так не считают. у них объект VkEvent имеет поля, from_chat, from_me, from_group и просто from(самый нужный в моём случае)
  • Как обратиться к поле 'from' объекта в питоне?

    @toha_man Автор вопроса
    нет, object в данном случае написано для простоты
    спасибо за помощь

    a.__setattr__('from', 2) # вот же идиотизм

    почему идиотизм-то ? Поле from может быть использовано в многих случаях
  • Как добавить schema'у к строке в питоне в формате json?

    @toha_man Автор вопроса
    Pavel Denisov, приводить 500 строк кода ? вам действительно захочется весь его читать ?
    если это треш порекомендуйте правильный вариант. задача легко выделяется от всего остального кода.
    имеется переменная server , которая содержит адрес сервера без протокола. как без полного треша правильно будет добавить протокол 'http' илил 'https' к этой переменной ?
  • Как добавить schema'у к строке в питоне в формате json?

    @toha_man Автор вопроса
    я даже не знаю почему, но теперь способ
    server = 'http://' + server , а так же
    longPoll = post('http://' + '%s'%server

    начали оба работать, хотя вчера была ошибка, шуток кроме...
  • Как сделать постоянное подключение к LongPoll вк при обрыве?

    @toha_man Автор вопроса
    Вообщем , ошибка совершенно точно происходит если:
    1. Запустить скрипт
    2. Подождать 10-15 минут
    3. Дать сработать функции vs.messages.new() в скрипте - и бам вуаля приехали

    Попробую переписать скрипт вот с такой конструкцией:
    spoiler
    while True;
        longPoll = post('%s'%server, data = {'act': 'a_check',
                                             'key': key,
                                             'ts': ts,
                                             'wait': 25}).json()
        #мой код
        ts = longPoll['ts']



    А в чем разница модулей vk и vk_api ?
  • Как сделать постоянное подключение к LongPoll вк при обрыве?

    @toha_man Автор вопроса
    Порылся я в доках, поставил таймаут в 25 для соединения с LongPoll
    longpoll = VkLongPoll(vk_session, wait=25)

    проблему это не решило. Время от времени (примерно через 10 минут) и преимущественно в момент отправки сообщения скриптом, т.е. через vk.messages.send происходит остановка. Вообще ошибка довольно рандомно появляется, что и является главной проблемой, т.к. от скрипта требуется в первую очередь постоянно мониторить чат в группе и отвечать.
    Вот такой трейсбек:

    spoiler
    Traceback (most recent call last):
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 600, in urlopen
        chunked=chunked)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 384, in _make_request
        six.raise_from(e, None)
      File "<string>", line 2, in raise_from
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 380, in _make_request
        httplib_response = conn.getresponse()
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1321, in getresponse
        response.begin()
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 296, in begin
        version, status, reason = self._read_status()
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 257, in _read_status
        line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
        return self._sock.recv_into(b)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\ssl.py", line 1052, in recv_into
        return self.read(nbytes, buffer)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\ssl.py", line 911, in read                                               17:58
        return self._sslobj.read(len, buffer)
    ConnectionResetError: [WinError 10054] Удаленный хост принудительно разорвал существующее подключение


    Еще:
    spoiler
    Traceback (most recent call last):
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\adapters.py", line 449, in send
        timeout=timeout
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 638, in urlopen
        _stacktrace=sys.exc_info()[2])
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\util\retry.py", line 367, in increment
        raise six.reraise(type(error), error, _stacktrace)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\packages\six.py", line 685, in reraise
        raise value.with_traceback(tb)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 600, in urlopen
        chunked=chunked)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 384, in _make_request
        six.raise_from(e, None)
      File "<string>", line 2, in raise_from
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 380, in _make_request
        httplib_response = conn.getresponse()
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1321, in getresponse
        response.begin()
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 296, in begin
        version, status, reason = self._read_status()
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 257, in _read_status
        line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\socket.py", line 589, in readinto
        return self._sock.recv_into(b)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\ssl.py", line 1052, in recv_into
        return self.read(nbytes, buffer)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\ssl.py", line 911, in read
        return self._sslobj.read(len, buffer)
    urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(10054, 'Удаленный хост принудительно разорвал существующее подключение', None, 10054, None))



    Еще:
    spoiler
    Traceback (most recent call last):
      File "vsk_bot.py", line 37, in <module>
        vk.messages.send(
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\vk_api\vk_api.py", line 671, in __call__
        return self._vk.method(self._method, kwargs)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\vk_api\vk_api.py", line 602, in method
        values
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py", line 581, in post
        return self.request('POST', url, data=data, json=json, **kwargs)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py", line 533, in request
        resp = self.send(prep, **send_kwargs)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py", line 646, in send
        r = adapter.send(request, **kwargs)
      File "C:\Users\XXX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\adapters.py", line 498, in send
        raise ConnectionError(err, request=request)
    requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, 'Удаленный хост принудительно разорвал существующее подключение', None, 10054, None))



    И еще вопрос, пожалуйста, я не нашел это в доках. Как можно определить от какого пользователя пришло сообщение ? Что-то типа VkEventType.user_id ? Мне нужно, чтобы скрипт реагировал исключительно на сообщение определенного пользователя.
    Спасибо !
  • Как сделать постоянное подключение к LongPoll вк при обрыве?

    @toha_man Автор вопроса
    я верно понимаю, что в такой конструкции при срабатывание except'a будет выполнен код нового соединения, а вот код после try: повторно не выполнится ?

    если да , то снова мимо
  • Как сделать постоянное подключение к LongPoll вк при обрыве?

    @toha_man Автор вопроса
    я читал статью по ссылке. но всё как-то странно.
    во-первых бот отслеживает события гораздо дольше чем 25 или 90 секунд, при мне он работал более 15 минут. во-вторых даже если происходит событие работа не завершается. В довесок соединение с Long Poll у меня в скрипте совсем по-другому устанавливается

    longpoll = VkLongPoll(vk_session)

    не знаю куда тут таймаут запихнут, да и какой от него будет толк, если у меня задача перезапуск соединения в случае разрыва
  • Как сделать разрядность числа html?

    @toha_man
    я бы только изменил направление цикла в обратную сторону. т.к. при 5ти значной цене получим такой формат - 500 00, что не очень логично. Ведь надо 50 000.
    Изменить надо всего две строчки

    var l = text.length - 1;
    for (i = l, i > 0; i--)


    готово ! :)
  • Еммет и Sublime Text 3?

    @toha_man Автор вопроса
    Максим Ленский, ну, так как же мне найти этот файл и добавить кастом настройки ?
  • Еммет и Sublime Text 3?

    @toha_man Автор вопроса
    Максим Ленский, http:// prntscr.com/kupm5o
  • Почему не применяются правила z-index?

    @toha_man Автор вопроса
    Указать pos relat обоим блокам помогает. Свойство z-index начинает работать как ожидается, но почему же изначально оно не работает ?
  • Еммет и Sublime Text 3?

    @toha_man Автор вопроса
    http:// prntscr.com/kumxzk
  • Еммет и Sublime Text 3?

    @toha_man Автор вопроса
    Спасибо за ответ со скринами, но я там уже был.
    Там вот что : kumxzk
  • Как поднять на верх страницы с помощью scrollTo и фиксированного меню?

    @toha_man Автор вопроса
    Верно говорите, но на некоторых сайтах такой блок появляется почти сразу как вы только немного заскролили вниз. У меня же фиксированное меню сверху в котором изначально есть такая кнопка.

    В примере который вы скинули нету фикс. меню. Я плохо объяснил проблему.

    Проблема возникает потому что у нас есть фиксированное меню, скажем 30px. Следующий html элемент располагается соот-но на 30px ниже, и теперь кнопке "На вверх" не остается другого элемента для перехода как тот что имеет отступ сверху 30px. Т.о. скролл до конца не доходит.

    Я решил тем, что в JS перехватил ссылку на верх и заменил на свои координаты (0,0). Под рукой кода нет, но если кому то будет надо выложу
  • Почему div с clear: both не реагирует на margin-top?

    @toha_man Автор вопроса
    Спасибо за ваше решение. Я так же достигал аналогичного эффекта с помощью блока с классом .clear-fix

    Но мне бы хотелось понять механику данного поведения
  • Как работает данное регулярное выражение?

    @toha_man Автор вопроса
    если я все правильно понял, то можно например сделать такой регэксп

    (?=.*\d{2,})(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{6,} - будет требовать от 2 подряд идущий цифр в пароле
    или такой , в случае независимого расположения цифр

    (?=.*\d.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{6,}
  • Как работает данное регулярное выражение?

    @toha_man Автор вопроса
    так еще яснее. получается , как бы ты прочитал наше уже излюбленное регулярное выражение ?

    Подойдет такая строка инпута у который есть набор из [a-zA-Z0-9] от 6 символов и в которой от начала и до конца присутствует 3 условия(a-z, A-Z, 0-9)хотя бы в 1 экземпляре ?
  • Как работает данное регулярное выражение?

    @toha_man Автор вопроса
    Большущее спасибо за столь ясное подробное и понятное объяснение. Я тоже думал что просмотр идет от начала строки ^, если этот символ есть и если нету , то с любой части инпута. ++++ вам в карму !!!

    Остается только вопрос с порядком такой.
    Регулярка таже, а инпут такой:

    1aBccccccc и 1Baccccccc

    оба варианта подходят, почему-то. Конфуз с тем, что у нас смотрящие идут в определенном порядке, и когда встречается цифра '1', работает первый смотрящий и как мне почему-то кажется он фиксируется, то есть теперь мы ищем второго смотрящего вперед от этой '1', а второй у нас [a-z], значит надо найти символ из этого ренджа. Ок , тут первый сработает, но почему тогда работает и второй пример. Там порядок не такой же как в регулярке - сначала [/d], потом маленькие [a-z], потом больше [A-Z].
    Или получается что два и более подряд идущих смотрящих друг с другом не связаны и оба смотрят для символа перед ними - т.е. для начала строки.