@ru_python

Страница 9664 из 9768
fn main() {}
21.07.2019
23:34:56
Его попробуй что-ли

J0HHT4
21.07.2019
23:35:41


обязатенльно

Google
fn main() {}
21.07.2019
23:35:50
И?

J0HHT4
21.07.2019
23:35:57
когда не могу юзать pip

Julian =)
21.07.2019
23:36:08
Блин, вопрос, с чего начать учить?
Имхо пробуй что-то писать, попутно смотря ролики того курса. Ну и когда что-то будет не хватать, смотри в документацию.

fn main() {}
21.07.2019
23:36:11
Скачай билд

И сам собери

Или что там, wheel вроде

Еще проще тогда

J0HHT4
21.07.2019
23:37:46
бля

я вщ хз как объяснить

koder
21.07.2019
23:39:41
<class 'str'>
тогда дофига странно. получается что requests получил bytes и декодировал их в unicode какой-то кривой кодировкой (наверное utf). И это сработало, но теперь буквы поломались. А попробуй действительно делать print(r.headers.get('content-disposition').encode('utf-8').decode("cp-1251")) и заодно глянь на все заголовки import pprint pprint.pprint(r.headers)

Владимир
21.07.2019
23:48:26
тогда дофига странно. получается что requests получил bytes и декодировал их в unicode какой-то кривой кодировкой (наверное utf). И это сработало, но теперь буквы поломались. А попробуй действительно делать print(r.headers.get('content-disposition').encode('utf-8').decode("cp-1251")) и заодно глянь на все заголовки import pprint pprint.pprint(r.headers)
1) print(r.headers.get('content-disposition').encode('utf-8').decode("cp-1251")) LookupError: unknown encoding: cp-1251) 2) <class 'NoneType'> {'Server': 'nginx', 'Date': 'Sun, 21 Jul 2019 23:45:45 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=20', 'Expires': '0', 'Pragma': 'no-cache', 'Last-Modified': 'Sun, 21 Jul 2019 23:45:45 GMT', 'Cache-Control': 'no-cache,no-store,max-age=0,s-maxage=0,must-revalidate', 'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1; mode=block', 'X-Content-Type-Options': 'nosniff', 'Set-Cookie': 'lastdl=1563752745; expires=Fri, 19-Jul-2024 23:45:45 GMT; Max-Age=157680000; path=/; domain=.sendspace.com', 'Content-Encoding': 'gzip', 'Vary': 'Accept-Encoding'} Здесь почему-то показывает content-type html, скорее всего нужно как-то указать, чтоб редиректы работали Вот url: https://fs13n2.sendspace.com/dl/076abf9fa1aa4310a4098c42e1f60ca7/5d34f89c0bc9a849/hs91ng/%D0%B8%D0%BC%D1%8F%20%D1%84%D0%B01%D0%BB%D0%B0%202782%20%D0%B8%D0%BC%D1%8F.zip

koder
21.07.2019
23:54:34
1) print(r.headers.get('content-disposition').encode('utf-8').decode("cp-1251")) LookupError: unknown encoding: cp-1251) 2) <class 'NoneType'> {'Server': 'nginx', 'Date': 'Sun, 21 Jul 2019 23:45:45 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=20', 'Expires': '0', 'Pragma': 'no-cache', 'Last-Modified': 'Sun, 21 Jul 2019 23:45:45 GMT', 'Cache-Control': 'no-cache,no-store,max-age=0,s-maxage=0,must-revalidate', 'X-Frame-Options': 'SAMEORIGIN', 'X-XSS-Protection': '1; mode=block', 'X-Content-Type-Options': 'nosniff', 'Set-Cookie': 'lastdl=1563752745; expires=Fri, 19-Jul-2024 23:45:45 GMT; Max-Age=157680000; path=/; domain=.sendspace.com', 'Content-Encoding': 'gzip', 'Vary': 'Accept-Encoding'} Здесь почему-то показывает content-type html, скорее всего нужно как-то указать, чтоб редиректы работали Вот url: https://fs13n2.sendspace.com/dl/076abf9fa1aa4310a4098c42e1f60ca7/5d34f89c0bc9a849/hs91ng/%D0%B8%D0%BC%D1%8F%20%D1%84%D0%B01%D0%BB%D0%B0%202782%20%D0%B8%D0%BC%D1%8F.zip
ну в урле имя файла в utf8, по заголовкам тоже, вроде, utf-8. Странно как-то. Может таки консоль странная и питон этого не понля? Что 'set | grep LC' показывает? А попробуй имя файла из content-disposition закодировать в utf-8, напечатать и посмотреть - будет ли с именем файла из url совпадать

Владимир
21.07.2019
23:55:34
ну в урле имя файла в utf8, по заголовкам тоже, вроде, utf-8. Странно как-то. Может таки консоль странная и питон этого не понля? Что 'set | grep LC' показывает? А попробуй имя файла из content-disposition закодировать в utf-8, напечатать и посмотреть - будет ли с именем файла из url совпадать
Возможно, скрипт на сервере просто. MAILCHECK=60 for i in $(LC_ALL=C $prog --help); for i in $(LC_ALL=C $prog --usage); local LC_CTYPE=C; __grubcomp "$(LC_ALL=C $prog --help | awk -F ":" '/available formats/ { print $2 }' | sed 's/, / /g')"; __grubcomp "$(LC_ALL=C $prog --help | awk -F "[()]" '/--target=/ { print $2 }' | sed 's/|/ /g')"; COMPREPLY+=($( compgen -W "$( { LC_ALL=C ifconfig -a || ip addr show; } 2>/dev/null | command sed -ne 's/.*addr:\([^[:space:]]*\).*/\1/p' -ne 's|.*inet[[:space:]]\{1,\}\([^[:space:]/]*\).*|\1|p' )" -- "$cur" )) local argtype=$( LC_ALL=C $1 --help 2>&1 | command sed -ne "s|.*$prev\[\{0,1\}=[<[]\{0,1\}\([-A-Za-z0-9_]\{1,\}\).*|\1|p" ); COMPREPLY=($( compgen -W "$( LC_ALL=C $1 --help 2>&1 | command sed -ne 's/.*\(--[-A-Za-z0-9]\{1,\}=\{0,1\}\).*/\1/p' | sort -u )" -- "$cur" )); COMPREPLY+=($( { LC_ALL=C ifconfig -a || ip link show; } 2>/dev/null | command sed -ne "s/.*[[:space:]]HWaddr[[:space:]]\{1,\}\($re\)[[:space:]].*/\1/p" -ne "s/.*[[:space:]]HWaddr[[:space:]]\{1,\}\($re\)[[:space:]]*$/\1/p" -ne "s|.*[[:space:]]\(link/\)\{0,1\}ether[[:space:]]\{1,\}\($re\)[[:space:]].*|\2|p" -ne "s|.*[[:space:]]\(link/\)\{0,1\}ether[[:space:]]\{1,\}\($re\)[[:space:]]*$|\2|p" LC_ALL=C "$( dequote "$cmd" )" ${2:---help} 2>&1 LC_ALL=C "$( dequote "$cmd" )" ${2:---usage} 2>&1

Google
Владимир
21.07.2019
23:56:22
> А попробуй имя файла из content-disposition закодировать в utf-8, напечатать и посмотреть - будет ли с именем файла из url совпадать Просто скопировать кракозябры и кодировать в utf-8?

koder
21.07.2019
23:58:43
Возможно, скрипт на сервере просто. MAILCHECK=60 for i in $(LC_ALL=C $prog --help); for i in $(LC_ALL=C $prog --usage); local LC_CTYPE=C; __grubcomp "$(LC_ALL=C $prog --help | awk -F ":" '/available formats/ { print $2 }' | sed 's/, / /g')"; __grubcomp "$(LC_ALL=C $prog --help | awk -F "[()]" '/--target=/ { print $2 }' | sed 's/|/ /g')"; COMPREPLY+=($( compgen -W "$( { LC_ALL=C ifconfig -a || ip addr show; } 2>/dev/null | command sed -ne 's/.*addr:\([^[:space:]]*\).*/\1/p' -ne 's|.*inet[[:space:]]\{1,\}\([^[:space:]/]*\).*|\1|p' )" -- "$cur" )) local argtype=$( LC_ALL=C $1 --help 2>&1 | command sed -ne "s|.*$prev\[\{0,1\}=[<[]\{0,1\}\([-A-Za-z0-9_]\{1,\}\).*|\1|p" ); COMPREPLY=($( compgen -W "$( LC_ALL=C $1 --help 2>&1 | command sed -ne 's/.*\(--[-A-Za-z0-9]\{1,\}=\{0,1\}\).*/\1/p' | sort -u )" -- "$cur" )); COMPREPLY+=($( { LC_ALL=C ifconfig -a || ip link show; } 2>/dev/null | command sed -ne "s/.*[[:space:]]HWaddr[[:space:]]\{1,\}\($re\)[[:space:]].*/\1/p" -ne "s/.*[[:space:]]HWaddr[[:space:]]\{1,\}\($re\)[[:space:]]*$/\1/p" -ne "s|.*[[:space:]]\(link/\)\{0,1\}ether[[:space:]]\{1,\}\($re\)[[:space:]].*|\2|p" -ne "s|.*[[:space:]]\(link/\)\{0,1\}ether[[:space:]]\{1,\}\($re\)[[:space:]]*$|\2|p" LC_ALL=C "$( dequote "$cmd" )" ${2:---help} 2>&1 LC_ALL=C "$( dequote "$cmd" )" ${2:---usage} 2>&1
о боже, что там с настройками кодировки то, должно быть что-то в духе LC_CTYPE=en_US.UTF-8, а у тебя 'С' стоит, которая, вроде ascii, хотя я тут не очень

Владимир
22.07.2019
00:02:11
print(r.headers.get('content-disposition').encode('utf-8')) AttributeError: 'NoneType' object has no attribute 'encode'

там еще функция get_filename_from_cd

она парсит именно имя файла из заголовка

koder
22.07.2019
00:03:54
print(r.headers.get('content-disposition').encode('utf-8')) AttributeError: 'NoneType' object has no attribute 'encode'
так, тут, ожидаемо, написанно что content-disposition у тебя нет в заголовках (а его там нет, я думал может request его симулирует)

Владимир
22.07.2019
00:03:58
а в консоли print('Привет') выдает нормально

Вот так принт выдает кракозябры. Если заенкодить filename в utf-8, то получается нормально. Значит, filename - в кодировке отличной от utf-8? filename = get_filename_from_cd(r.headers.get('content-disposition')) print(filename)

koder
22.07.2019
00:09:37
можно просто в консоли

Владимир
22.07.2019
00:10:45
> сори, я потерялся. То r.headers.get(..) выдает None, то строку Разные url были. Вообще странно, 1 url выдает None, другой другое

разные url одного сервиса sendspace.com

koder
22.07.2019
00:12:18
сори, я хз что у тебя :( мои идеи кончились

Владимир
22.07.2019
00:13:09
сори, я хз что у тебя :( мои идеи кончились
:( Все равно спасибо за помощь :)

сори, я хз что у тебя :( мои идеи кончились
Воспользуюсь wget, есть опция --content-disposition, протестировал, работает. :)

Shieldy
22.07.2019
01:19:10
Добро пожаловать, X! Не забудь ознакомиться с правилами чата. https://t.me/ru_python/802295

Julian =)
22.07.2019
01:19:54
Парсеры на месте? :D

curl может как-то вытянуть html и на лету перекодировать его?

Google
Julian =)
22.07.2019
01:22:14
Все, нашел iconv

iconv -f cp1251 -t utf8 /Video/somefile.srt -o /Video/subtitles.srt

Аля такого

Shieldy
22.07.2019
01:27:08
Добро пожаловать, @yarfuo! Не забудь ознакомиться с правилами чата. https://t.me/ru_python/802295

Илья
22.07.2019
01:27:39
Julian =)
22.07.2019
01:30:03
Ну я за флаги спрашивал, мб кто юзал

Лень было в мане красноглазить

Илья
22.07.2019
01:34:59
Лень было в мане красноглазить
man curl Жмякаешь \ ( то ли /, с телефона не вспомню) и вбиваешь кейворды

ну, смотря какой пейджер используется. На сколько помню, в убунте less(или more)

Shieldy
22.07.2019
03:08:05
Добро пожаловать, Аня Коваленко! Не забудь ознакомиться с правилами чата. https://t.me/ru_python/802295

Sergey
22.07.2019
04:10:57
Всем привет! Есть два компьютера в пределах одной локальной сети. На оба компьютера одновременно поступает команда, но выполнится она должна только на одном из них. Как это можно сделать? Я пока смотрю в сторону алгоритма raft, планирую сделать его реализацию используя twisted, но текущая программа представляет собой виндовую службу с синхронным кодом - не придумал пока как это все красиво подружить.

Dmitriy
22.07.2019
04:35:42
Привет. Подскажите в чем проблема. Декоратор не считает время - при первом запуске выдал рез , каждый последующий всегда нули в формате 0:00:00 http://dpaste.com/0BCZP14

Sergey
22.07.2019
04:49:07
Зачем усложнять поставь http и nginx самый простой round robin решает твою проблему
Да, round robin - вполне решение. Но надо слушать команды от opc сервера.

Dmitriy
22.07.2019
04:49:17
Друзья - это обучение - то что вы говорите , я ещё не проходил...((

Sergey
22.07.2019
04:49:17
Так что, увы не вариант

Shieldy
22.07.2019
05:03:21
Добро пожаловать, Stay Lazy! Не забудь ознакомиться с правилами чата. https://t.me/ru_python/802295

elessar
22.07.2019
05:39:40
парни подскажите самые самые эвенты на территории снг по питону в 20 году))

Google
Cykooz
22.07.2019
05:45:42
Нет, такого условия нет. Но локи - решение проходящее. Как лучше сделать?
Есть спец. решения для этого, такие как ZooKeeper, etcd и др. А можно банально использовать Redis

Sergey
22.07.2019
05:46:17
Спасибо, попробую

Cykooz
22.07.2019
05:46:49
Если у тебя винда, то с Redis будет наверное проще, не уверен можно ли в винде запустить etcd

Sergey
22.07.2019
05:48:23
Ок, попробую с redis. Спасибо ещё раз!

Cykooz
22.07.2019
05:49:30
Реализация локов через редис всяко есть готовая. Если и не в самом адаптере для редиса, то в сторонних пакетах точно.

Sergey
22.07.2019
05:50:38
Тогда вообще отлично! А то я думал с нуля (почти) писать надо.

Sergey
22.07.2019
05:54:54
А нельзя передавать команду через кафку?
А если она с двух машин одновременно придёт - не задублируется?

Tishka17
22.07.2019
05:55:43
Эм. С двух машин одна команда на две машины?

Давай-ка подробнее

Sergey
22.07.2019
05:56:59
Эм. С двух машин одна команда на две машины?
Да, команда на обе машины приходит идентичная. А выполнить надо только на одной из них.

Tishka17
22.07.2019
05:57:28
На или с?

Sergey
22.07.2019
05:57:43
На

Tishka17
22.07.2019
05:58:18
Ну тогда норм

Правда тут вопросы: 1. Почему нельзя при отправке сообщений сразу решить на какой машине выполнять? 2. А что если машина выйдет из строя? Надо ли все равно команду выполнить на первой? 3. А не окажется ли завтра 10 машин?

Vitalii
22.07.2019
06:00:34
Ребят, а кто то работает с kubernetes?

Google
Максим
22.07.2019
06:03:26
Sergey
22.07.2019
06:04:00
Тут надо уточнить, что команды прилетают редко, реже чем раз в день. И скорость выполнения не особо важна, надо чтобы только выполнилось один раз и гарантировано. Поэтому, чем меньше сторонних сущностей - тем лучше. Но если проще всего через redis или Kafka - то я попробую.

Vitalii
22.07.2019
06:04:30
Anton
22.07.2019
06:10:22
Блин, такой спор про аннотации пропустил :(

В догонку скажу, если не забанят конечно. Если ошибки нужно отлавливать только в рантайме и аттрибут_еррор нестрашны, то зачем виндузы сделали ts поверх js?!

Cykooz
22.07.2019
06:26:23
Тут надо уточнить, что команды прилетают редко, реже чем раз в день. И скорость выполнения не особо важна, надо чтобы только выполнилось один раз и гарантировано. Поэтому, чем меньше сторонних сущностей - тем лучше. Но если проще всего через redis или Kafka - то я попробую.
Хм, а вот условие "гарантированно выполнилось" локами как таковыми не предоставляется. Тут надо либо использовать "очереди" с подтверждением обработки "сообщения" + какой-то механихм дедупликации (например сохранять в базе дату выполненной команды и не запускать вторую с такой же датой (если команды раз в день приходят). Либо на "втором" сервере ждать пока не будет снят лок, и проверять что "первый" сервер действительно успешно выполнил команду. После этого либо завершать обработку, либо самому запускать обработку команды. В случае сихнронной реализации серверов получится, что оба сервера будут "заняты" пока идёт обработка команды.

Если команды такие редкие. Можно просто сохранять их в базу данных (с уникальным ключём для дедупликации). И запускать "по крону" задачку (например раз в 10 минут), которая будет искать в базе ещё не выполненые задачи и выполнять их.

Если в проекте уже есть база данных, то последний вариант выглядит как менее требовательный. Хотя он не исключает использования локов, т.к. запускать "крон" задачу надо на обеих серваках на случай если один из них "сломается".

Sergey
22.07.2019
06:31:06
Cykooz
22.07.2019
06:34:07
Тогда видимо придётся на "втором" сервере ждать "подтверждения", что задача была до конца выполнена на "первом", дабы быстро среагировать на поломку "первого".

Страница 9664 из 9768