
Tishka17
24.03.2019
12:28:56
Короче, посмотрел сорцы. Реально тупо вызывают командлайн соответствующих браузеров
И если что, юзает xdg-open
if sys.platform[:3] == "win":
class WindowsDefault(BaseBrowser):
def open(self, url, new=0, autoraise=True):
try:
os.startfile(url)
except OSError:
# [Error 22] No application is associated with the specified
# file for this operation: '<URL>'
return False
else:
return True

Владимир
24.03.2019
12:54:17

Google

Tishka17
24.03.2019
12:54:46
Да не, там ещё под самые популярные браузеры есть специальные команды. Но в целом есть и такое, да

Nikolay
24.03.2019
12:54:51

[Anonymous]
24.03.2019
12:57:23
Знаю, что не по теме, но кто знает ботов, которые стикеры "переводят" в .png/.jpeg

Pavel
24.03.2019
13:00:20
Товарищи,вероятно я просто туповат но в чём багуля с синтаксисом?+_)
а блин
ххаха
никто не видел+)

f472_
24.03.2019
13:01:33
Скобку закрывающую

Pavel
24.03.2019
13:01:45
да
стыд и позор
Т_Т

ᅠ
24.03.2019
13:02:34
?

Google

Pavel
24.03.2019
13:03:58
?
никто ничего не видел=) ок?

ᅠ
24.03.2019
13:04:18
на доску позора тебя
?

А
24.03.2019
13:23:24
Возможно сделать несколько ботов в чате?
они не будут мешать друг другу?
Я поставил 2 бота, а отвечать успевает только один

Essentuki
24.03.2019
13:25:29
что они делают

А
24.03.2019
13:26:29
для каких целей
Боты установлены на разных компах. Я пишу в чат команду, и каждый должен выполнить его на пк

Essentuki
24.03.2019
13:26:55
разные команды?

А
24.03.2019
13:27:06
Например, я написал команду, чтобы боты создали текстовик на пк, и каждый бот дллжен создать

Essentuki
24.03.2019
13:28:46
не должны мешать
попробуй ограничить список юзеров кто может писать боту
чтобы они не пытались как-то друг с другим контактировать
но маловероятно

А
24.03.2019
13:31:31
Попробую так

Essentuki
24.03.2019
13:34:10
не будет так работать

Google

Essentuki
24.03.2019
13:35:44
1 пк = 1 бот
1 пк = 2 бота, но никак не 2 пк = 1 бот

hachiman
24.03.2019
13:38:28

Max
24.03.2019
13:39:05
Зачем нужны аннотации? Ведь они не дают даже никаких предупреждения при интерпритации кода x: int = '1' Если я присвою x :int строковый тип, код всё равно будет работать, тогда для чего нужны аннотации?

bakatrouble
24.03.2019
13:39:20
ну и вроде есть анализаторы, которые выругаются есть что-то не так

hachiman
24.03.2019
13:40:18
тесты чекают аннотации

bakatrouble
24.03.2019
13:40:32
https://github.com/google/pytype

Essentuki
24.03.2019
13:41:04

Роман
24.03.2019
13:42:52
Парни, подскажите как через winapi послать действие копирование? Например действие закрыть вполне себе успешно отрабатывает:
win32api.SendMessage(pid, win32con.WM_CLOSE, 0, 0)
Пробовал WM_COPY, WM_COPYDATA но безрезультатно.

Andrew
24.03.2019
13:54:16

Роман
24.03.2019
13:54:36

Andrew
24.03.2019
13:55:04
И что выделено в твоём случае?

Роман
24.03.2019
13:55:30
открыт блокнот, в блокноте выделен кусок текста

Andrew
24.03.2019
13:55:46
И кто является получателем сообщения?

Роман
24.03.2019
13:57:55
логично предположить, если WM_CLOSE отрабатывает удачно в этом же окне то и копирование должно тоже. Мб я что не так понял и делаю, поправьте.

Andrew
24.03.2019
13:59:30
Текст находится не в окне, а внутри контрола, очевидно. Он и должен получить событие

Роман
24.03.2019
14:04:29

Andrew
24.03.2019
14:05:16

Google


d
24.03.2019
14:10:47
прошу прощения за оффтоп, в бегиннерах молчат
сап ребятки, есть программа для заполнения массива элементами, подсчет индекса строки и столбца начинается с 1
m = 10 # количество записей в строке
n = 4 # количество строк
a = [[(i+1) * (j+1) for j in range(m)] for i in range(n)] # каждому элементу строки присвоить i*j для каждой строки
for row in a: # для каждой строки массива
print(' '.join([str(elem) for elem in row])) # печатать значение каждого элемента текущей строки
результат работы программы:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
нужна такая же программа, но чтобы подсчет индекса строки и столбца начинался с 2, программа должна вывести такой результат:
2 3 4 5 6 7 8 9 10 11
3 9 12 15 18 21 24 27 30 33
4 12 16 20 24 28 32 36 40 44
5 10 15 20 25 30 35 40 45 50 55
как поменять имеющуюся программу?
если изменить строку
a = [[(i+1) * (j+1) for j in range(m)] for i in range(n)]
на
a = [[(i+2) * (j+1) for j in range(m)] for i in range(n)] # каждому элементу строки присвоить i*j для каждой строки
подсчет индексов начинается с 2, но строка идет с шагом +2, результат такой:
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
непонятно, как исправлять


Tigran
24.03.2019
14:13:25


d
24.03.2019
14:16:47
благодарочка

Andriy
24.03.2019
14:30:58
Как можно ловить обновление/изминение ячеек в гугл таблице?

Алексей
24.03.2019
14:31:30

Влад
24.03.2019
14:52:03

hachiman
24.03.2019
15:04:43
socket
https://www.youtube.com/watch?v=iApNzWZG-10&list=PLhixgUqwRTjzzBeFSHXrw9DnQtssdAwgG&index=9

Tigran
24.03.2019
15:09:53
А скиньте не мёртвый чат по ML, плиз

А
24.03.2019
15:19:01
Компы свои

Leon
24.03.2019
15:29:15
От обратного: UDP не годится. По TCP ты знаешь о доставке/недоставке пакета
Либо городить систему отчетности каждого компа о получении пакета по UDP. Есть большие сомнения, что выйдет реализовать это эффективнее