LINUX.ORG.RU

Сообщения Qwentor

 

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

Форум — General

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

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

 

Qwentor
()

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

Форум — General

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

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

 ,

Qwentor
()

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

Форум — General

Как запустить два разных скрипта с использованием одной и той же сессии 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
()

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

Форум — General

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

 ,

Qwentor
()

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

Форум — General

Проброс порта 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
()

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

Форум — General

Как использовать 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
()

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

Форум — General

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

 

Qwentor
()

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

Форум — Mobile

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

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

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

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

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

 ,

Qwentor
()

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

Форум — General

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

 

Qwentor
()

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

Форум — General

Запустил 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
()

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

Форум — General

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

 , ,

Qwentor
()

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

Форум — General

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

 

Qwentor
()

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

Форум — Talks

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

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


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

 

Qwentor
()

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

Форум — General

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

 , ,

Qwentor
()

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

Форум — General
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 подписка на новые темы