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


Khachatur
05.03.2019
08:56:38
def logged(fn):
from functools import wraps
from datetime import datetime, timezone
@wraps(fn)
def inner(*args, **kwargs):
run_dt = datetime.now(timezone.utc)
result = fn(*args, **kwargs)
print('{0}: called {1}'.format(fn.__name__, run_dt))
return result
return inner
def timed(fn):
from functools import wraps
from time import perf_counter
@wraps(fn)
def inner(*args, **kwargs):
start = perf_counter()
result = fn(*args, **kwargs)
end = perf_counter()
print('{0} ran for {1:.6f}s'.format(fn.__name__, end-start))
return result
return inner
@timed
@logged
def factorial(n):
from operator import mul
from functools import reduce
return reduce(mul, range(1, n+1))
print(factorial(2))
Выше приведены два декоратора к функциям. Обязательно ли, чтобы функции inner каждого декоратора возвращали тот же результат работы функции? Если, например в результат работы функции в одном декораторе я прибавлю единицу, то вызов функции приведет к выдаче результата увеличенного на единицу. То же самое происходит при добавлении к результату единицы, для второго декоратора. Значит ли это, что в своей работе они действуют синхронно?


Tishka17
05.03.2019
08:57:52
многобукв

Google


Tishka17
05.03.2019
08:58:03
def logged(fn):
from functools import wraps
from datetime import datetime, timezone
@wraps(fn)
def inner(*args, **kwargs):
run_dt = datetime.now(timezone.utc)
result = fn(*args, **kwargs)
print('{0}: called {1}'.format(fn.__name__, run_dt))
return result
return inner
def timed(fn):
from functools import wraps
from time import perf_counter
@wraps(fn)
def inner(*args, **kwargs):
start = perf_counter()
result = fn(*args, **kwargs)
end = perf_counter()
print('{0} ran for {1:.6f}s'.format(fn.__name__, end-start))
return result
return inner
@timed
@logged
def factorial(n):
from operator import mul
from functools import reduce
return reduce(mul, range(1, n+1))
print(factorial(2))
Выше приведены два декоратора к функциям. Обязательно ли, чтобы функции inner каждого декоратора возвращали тот же результат работы функции? Если, например в результат работы функции в одном декораторе я прибавлю единицу, то вызов функции приведет к выдаче результата увеличенного на единицу. То же самое происходит при добавлении к результату единицы, для второго декоратора. Значит ли это, что в своей работе они действуют синхронно?
давай ты на пастбин выложишь?
def logged(fn):
from functools import wraps
from datetime import datetime, timezone
@wraps(fn)
def inner(*args, **kwargs):
run_dt = datetime.now(timezone.utc)
result = fn(*args, **kwargs)
print('{0}: called {1}'.format(fn.__name__, run_dt))
return result
return inner
def timed(fn):
from functools import wraps
from time import perf_counter
@wraps(fn)
def inner(*args, **kwargs):
start = perf_counter()
result = fn(*args, **kwargs)
end = perf_counter()
print('{0} ran for {1:.6f}s'.format(fn.__name__, end-start))
return result
return inner
@timed
@logged
def factorial(n):
from operator import mul
from functools import reduce
return reduce(mul, range(1, n+1))
print(factorial(2))
Выше приведены два декоратора к функциям. Обязательно ли, чтобы функции inner каждого декоратора возвращали тот же результат работы функции? Если, например в результат работы функции в одном декораторе я прибавлю единицу, то вызов функции приведет к выдаче результата увеличенного на единицу. То же самое происходит при добавлении к результату единицы, для второго декоратора. Значит ли это, что в своей работе они действуют синхронно?
декораторы действуют по очереди
сначала один, потом над его результатом - второй


Khachatur
05.03.2019
09:00:02

Tishka17
05.03.2019
09:00:42
@timed
@logged
def xx:
эквивалентео
xx = timed(logged(xx))

Khachatur
05.03.2019
09:01:09
Точно. Спасибо

☭
05.03.2019
09:07:27
и таки по поводу
error: Setup script exited with error: SandboxViolation: open('/tmp/portage/app-i18n/weblate-client-0.10/work/wlc-0.10-python3_6/lib/multipart.py', 'wb') {}
что с этим делать?

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

Alexy
05.03.2019
09:52:52
кто то знает дешевый сервер для того что б там докер поднять?
для тестов

Worlak
05.03.2019
09:54:33

Google

Oleg
05.03.2019
09:56:20
и какие проблемы поднять виртуалку с ubuntu?

Worlak
05.03.2019
09:57:17
У самого докера есть раздел для обучения, где можно в онлайне создавать образы

Alexy
05.03.2019
09:57:34
мне нужно публичный ип для тестов

Oleg
05.03.2019
09:57:40
??

Alexy
05.03.2019
09:57:45
спасибо, гляну

Alex
05.03.2019
10:00:03

Oleg
05.03.2019
10:01:26
Hetzner-Cloud + pptp_Server
Ansible Role https://github.com/Kishinskiy/ansible-pptpd

LighteR
05.03.2019
10:01:59
хотя для не-http он тоже подойдет )

Oleg
05.03.2019
10:03:18
Кстати рась уж заговорили про VPN , ктонибудь знает как сделать свой pptpd-client на Python , гугл не помог

Maxim robox
05.03.2019
10:05:30

Oleg
05.03.2019
10:06:17
да пофиг на безопастность, просто хочу именно pptpd
как самый простой вариант

Maxim robox
05.03.2019
10:06:52

Oleg
05.03.2019
10:07:06
просто например под MacOS нет клиента, есть что то и есть, то за деньги или с уже зараркодженым списком серверов

Александр
05.03.2019
10:09:03

Oleg
05.03.2019
10:09:34
А я хочу вернуть ?
да и в целом интересно узнать как оно устроенно

Google

Alex
05.03.2019
10:09:58

Tishka17
05.03.2019
10:10:05

Oleg
05.03.2019
10:10:24
ну вопервых у меня свой pptpd сервер, а OpenVPN делать лень

Tishka17
05.03.2019
10:10:32
не проще ssh туннель?

Pavel
05.03.2019
10:10:32
тут еще один товарищ vpn развлекается
объединитесь что ле

Oleg
05.03.2019
10:10:52
?

Pavel
05.03.2019
10:11:00
питоняши-сетевики

Oleg
05.03.2019
10:11:31
Админы мы АДмины ?

Alex
05.03.2019
10:11:44
если вы админы и вам нужен pptp - то вы хуевые админы

Oleg
05.03.2019
10:11:59
?

Alex
05.03.2019
10:12:36

Tishka17
05.03.2019
10:12:46
наврено вопрос мультиплексирования соединений решают

Pavel
05.03.2019
10:13:46

Alex
05.03.2019
10:14:14

Tishka17
05.03.2019
10:14:39
l2tp хотя бы возьмите что ли

Pavel
05.03.2019
10:15:36

Admin
ERROR: S client not available

Tishka17
05.03.2019
10:16:07
боюсь представить откуда у него этот сервер и зачем ему использовать это решето

Google

Oleg
05.03.2019
10:16:14
lа, мне ненужен, сервер, мне нужен клиент.

Pavel
05.03.2019
10:16:28

Maxim robox
05.03.2019
10:16:31

Tishka17
05.03.2019
10:16:55
эмоционально привязался

Oleg
05.03.2019
10:17:02
ну какая к черту безопастность ели тебе тупо надо зайти на залоченный сайт или подключиться к telegram

Maxim robox
05.03.2019
10:17:11

Alex
05.03.2019
10:17:28

Pavel
05.03.2019
10:17:48

Oleg
05.03.2019
10:18:17
Вопрос не в безопастности а в клиенте, как установить тунель pptpd на Python

Alex
05.03.2019
10:19:16
Телеграм пинит свои сертификаты? Я вот не уверен...

Артур
05.03.2019
10:19:17
Всем привет, есть вопрос касательно сборки питона в exe, можно ли заставить собраться проект статически? т.е. чтобы небыло кучи файлов библиотек а был лишь 1 исполняемый фаил

Tishka17
05.03.2019
10:19:20

Oleg
05.03.2019
10:19:28
Ну ведь пишут же эту хрень на Objectiv-C С++ и пр. ljk;yj ,snm b yf Знерщт

Винни
05.03.2019
10:19:29

Александр
05.03.2019
10:19:29
https://github.com/prashantbarca/LeAmitVPN

Tishka17
05.03.2019
10:19:33
впн установить в питон, выдумают же

Винни
05.03.2019
10:19:56

Tishka17
05.03.2019
10:19:56
может ещё CPU будем из питона менять?

Google

Oleg
05.03.2019
10:20:00

Alex
05.03.2019
10:20:04

Винни
05.03.2019
10:20:07

Артур
05.03.2019
10:20:38
да пускай разворачивает, самое главное что он будет потом работать сам по себе без этого мусора

Винни
05.03.2019
10:20:48
как в питоне сделать так, чтобы код, работающий в классе, не мог изменять глобальные переменные?