LINUX.ORG.RU

Сообщения Qwentor

 
Форум — General

Как сделать на баш параллельный запуск 2-х процессов и по выполнении обоих запустить третий?

Как сделать на баш параллельный запуск 2-х процессов и по выполнении _обоих_ запустить третий?

Возможно ли это?

 

Qwentor
()
Форум — General

Как асинхронно получить список файлов в директории на Python?

Как асинхронно получить список файлов в директории на Python?
Нашел только такой вариант:
https://stackoverflow.com/questions/23894515/how-do-i-list-files-in-asyncio

Это действительно единственный способ? Либ под это дело совсем нет?

 ,

Qwentor
()
Форум — General

Как запустить два скрипта с использованием одной и той же сессии Telethon?

Как запустить два разных скрипта с использованием одной и той же сессии Telethon?

Нашел такое: https://github.com/LonamiWebs/Telethon/issues/146

Но оно, похоже, уже не актуально https://github.com/LonamiWebs/Telethon/issues/327

 , ,

Qwentor
()
Форум — General

Как ловить исключения в асинхронных функциях?

К примеру, кусок кода (событие нового сообщения в telethon):


			@client.on(events.NewMessage(chats=('chat')))
			async def normal_handler(event):
				print(event.message.id)
				posts = await client(functions.messages.GetHistoryRequest(
				peer=event.message.to_id,
				limit=1,
				offset_date=None,
				offset_id=0,
				max_id=0,
				min_id=0,
				add_offset=0,
				hash=0))
				print(posts)


Если где-то ниже async допустить ошибку или вообще синтаксически некорректное выражение - программа не падает с исключением, а тупо молча висит. Как такое исправить? Как ловить ошибки?

 , ,

Qwentor
()
Форум — General

Как в Python отловить input от модуля?

Есть программа на Python 3, при определенных условиях подключаемый модуль запрашивает ввод данных. Как сделать подобный запрос ошибкой и отловить его, не отвечая? А можно ли обработать и ответить не вручную, а программно? Можно, конечно, сделать враппер, который будет запускать основной скрипт и обрабатывать вывод командной строки, но это костыль. Можно как-то по другому?

 ,

Qwentor
()
Форум — General

Почему проброс порта через ssh работает, а через iptables нет?

Проброс порта VNC из lxc контейнера наружу:

ssh:

ssh -fNL 0.0.0.0:9500:10.0.3.74:5900 localhost


iptables:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 9500 -j DNAT --to 10.0.3.74:5900


В варианте ssh нормально подключаюсь, а iptables - connecting... и все

Что я делаю не так?

 ,

Qwentor
()
Форум — General

Как использовать snap внутри lxc контейнера?

Как использовать snap внутри lxc контейнера?

Пытаюсь установить что-либо через snap - получаю:

error: system does not fully support snapd: apparmor detected but insufficient permissions to use
       it

Нахожу рекомендации для lxd, но у меня обычный lxc. Как в нем сделать?

 ,

Qwentor
()
Форум — General

Как запустить команду на выбранном дисплее?

Делаю так:

subprocess.run(["DISPLAY=:99", "telegram-desktop", "-debug", "-tosettings", "-many", "-workdir", "/home/qwentor/share/prog/tgprofiles/"+phone])


Получаю следующее:
Traceback (most recent call last):
  File "mytg2.py", line 124, in <module>
    subprocess.run(["DISPLAY=:99", "telegram-desktop", "-debug", "-tosettings", "-many", "-workdir", "/home/qwentor/share/prog/tgprofiles/"+phone])
  File "/usr/lib/python3.6/subprocess.py", line 423, in run
    with Popen(*popenargs, **kwargs) as process:
  File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'DISPLAY=:99': 'DISPLAY=:99'


Как правильно?

 

Qwentor
()
Форум — General

Где Telegram хранит debug log?

Запускаю телеграм с парамером -debug. По идее он должен писать логи. Куда он их пишет?
Система Ubuntu 18.04, телеграм из snap

 

Qwentor
()
Форум — Mobile

Ищу редактор кода на Android

DroidEdit - почему-то не показывает на новом телефоне дополнительные кнопки над клавиатурой, а без них никак.

Quoda - страшно глючит, теряет соединение с сервером, в меню режет буквы

Есть что-то нормально работающее?
Требования:
1) Python, JavaScript, Bash
2) Подключение по ssh к серверу, чтобы редактировать напрямую на нем код
3) Не глючное и не вырвиглазное

Можно платное, главное чтобы норм работало

P.S. Про то что писать код с мобильника извращение - в курсе, оно мне не для писать, а для быстрых правок на ходу

 ,

Qwentor
()
Форум — General

Перестало работать vpn-подключение. Что не так?

Настраивал по этой инструкции:
https://www.digitalocean.com/community/tutorials/openvpn-ubuntu-16-04-ru
До недавнего времени все работало.
Теперь же вроде подключается, но curl не может увидеть ни одного сайта (тупо висит и все)
Где искать проблему? В каких логах ковыряться? Подскажите, пожалуйста.

 

Qwentor
()
Форум — General

Не работает vncdotool, в чем проблема?

Запустил x11vnc со следующими параметрами:

x11vnc -display :99 -localhost -rfbport 5566

В 99 дисплее у меня запущено графическое приложение.

Пытаюсь подключиться:
from vncdotool import api
client = api.connect('127.0.0.1:5566', password=None)
client.keyPress('enter')


Получаю следующую ошибку:
Traceback (most recent call last):
  File "vnctest.py", line 3, in <module>
    client.keyPress('enter')
  File "/usr/local/lib/python3.6/dist-packages/vncdotool/api.py", line 108, in proxy_call
    raise VNCDoException(result)
vncdotool.api.VNCDoException: [Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionRefusedError'>: Connection was refused by other side: 111: Connection refused.
]


Почему так и как бороться?
TightVNC спокойно подключается (прокидываю порт по ssh)

 ,

Qwentor
()
Форум — General

Как осуществить запуск и управление графическим десктопным приложением на Linux сервере без видеокарты?

Собственно сабж.
Знаю, есть xvfb, но оно вроде только запускает, чем управлять можно?
Желательно чтобы было на Python, но от безысходности пойдет на чем угодно.

 , ,

Qwentor
()
Форум — General

Подскажите по ipv6

Такой вопрос, как понять выдан ли VPS префикс адресов ipv6 или только 1 адрес? И если выдан префикс как обратиться к поддерживающему ipv6 сайту с конкретного адреса из префикса через curl или из браузера?

 

Qwentor
()
Форум — Talks

Какие есть хорошие прокси сервисы?

Какие есть хорошие прокси сервисы?
Подскажите насчет хороших прокси сервисов, пожалуйста.
Требования:
1) десятки тысяч ip адресов
2) от 500 одновременных подключений

Не подходит https://awmproxy.com , т.к. он блокирует запросы к нужному нам сервису.
Есть ли аналоги без заморочек с блокировками и по цене ниже или хотя бы такой же?


Перемещено leave из general

 

Qwentor
()
Форум — General

Как на python через Selenium создать нормальный профиль Firefox?

Как на python через Selenium создать нормальный профиль Firefox?
Нужен именно нормальный профиль, сохраняемый на диск, а не пустой анонимный как при обычном старте.

 , ,

Qwentor
()
Форум — General

Firefox + Selenium. Что я делаю не так?

import os
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.firefox.options import Options

options = Options()
options.headless = True

gecko = os.path.normpath(os.path.join(os.path.dirname(__file__), 'firefox', 'geckodriver'))
binary = FirefoxBinary(r'/home/qwentor/firefox/firefox-bin')

driver = webdriver.Firefox(firefox_binary=binary, executable_path=gecko, options=options)

driver.close()




выдает ошибку:

Traceback (most recent call last):
  File "testbrowser2.py", line 14, in <module>
    driver = webdriver.Firefox(firefox_binary=binary, executable_path=gecko, options=options)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
    keep_alive=True)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process


Что не так?
chmod +x фоксу и гекодрайверу сделал
Система Ubuntu 18.04

 , ,

Qwentor
()
Форум — General

Какой прокси сервер умеет перенаправлять на прокси из обновляемого списка?

Сабж. Нужно чтобы умел перенаправлять по случайному прокси из списка. При этом чтобы мог запоминать этот прокси на 10 мин, на 30 мин, т.е. чтобы не каждый запрос по новому адресу. Также чтобы можно было по какой-то команде заставить его взять новый адрес из списка вне очереди. Есть что-то умеющее такое?

 

Qwentor
()
Форум — General

Как избежать бана при подписке на множество телеграм каналов?

Надо подписаться на более 100 телеграм каналов. Делаю подписку в цикле со sleep в 30 секунд - получаю временный бан со все возрастающим счетчиком времени разбана:

telethon.errors.rpcerrorlist.FloodWaitError: A wait of 961 seconds is required (caused by ImportChatInviteRequest)



Можно ли как-то такого избежать? Сколько минимальная задержка для того, чтобы не было бана? Или по-другому определяют и увеличение задержки не поможет?

Использую библиотеку telethon

 , , ,

Qwentor
()
Форум — General

Как слушать ответы от бота?

Бот не может слушать другого бота, как я понял. Нашел такую тему:

https://habr.com/ru/post/425151/

Там есть такой код:

@client.on(events.NewMessage(chats=('chat_name')))
async def normal_handler(event):
#    print(event.message)
    print(event.message.to_dict()['message'])


Но оно не срабатывает. Видимо это для чатов, а не для ботов. Когда посылаю боту команду и бот мне отвечает - ноль реакции.

Вместо chat_name пишу название чата с ботом, полученное по:
for dialog in client.iter_dialogs():
    print(dialog.title)


Что я делаю не так и как правильно?

 ,

Qwentor
()

RSS подписка на новые темы