
AbduCOM
15.04.2017
05:55:23
File "/home/user/www/posts/main.py", line 72
app.run(debug=True)
^
IndentationError: unindent does not match any outer indentation level

Ivan
15.04.2017
05:56:20
Это, можно же передать два параметра в функцию.
Но ошибка у тебя связана с отступами.

AbduCOM
15.04.2017
05:57:17

Igor
15.04.2017
05:57:34
app.run(host='0.0.0.0', debug=True), если что)

Google

AbduCOM
15.04.2017
05:58:04
Да, всё =) Работает :)

cckfnn
15.04.2017
06:03:46
HELP! не могу въехать в декораторы, кто может объяснить?
Была задача написать декортор, который принимает в cебя тип или набор типов, и проверяет что входные данные декориремой функции соттветствуют данной функции.
def decorator(func):
def wrapper(*args):
for i in xrange(len(args)):
print "type of input args", type(args[i])
res = func(*args)
print "type of output args", type(res)
return res
return wrapper
@timer
@decorator
def print_full_name(first_name, last_name):
full_name = first_name + " " + last_name
return full_name
print print_full_name("Ivan", "Ivanov")
что я делаю не так?

Pavel
15.04.2017
06:14:02
что я делаю не так?
запускаешь код второго питона на третьем?
не прописал декоратор @timer?
держишь вилку в правой руке а нож в левой?

cckfnn
15.04.2017
06:14:52
таймер не учитывать
код второго на втором

Pavel
15.04.2017
06:15:21
значит четвёртая опция - не показываешь результат работы

cckfnn
15.04.2017
06:28:37
как передать аргументы декорируемой функции декоратору?

Pavel
15.04.2017
06:30:38

cckfnn
15.04.2017
06:31:41
да, но если декоратор будет со своим аргументом, то не могу поймать момент передачи дкорирумой функции
@decorator(str)
def print_full_name(first_name, last_name):
full_name = first_name + " " + str(last_name)
return full_name
print print_full_name("Ivan", 222)
str декоратору передается

Google

cckfnn
15.04.2017
06:32:20
а вот first_name и last_name передать не получается
вместо них передается функция
def decorator(arg):
print arg
print type('rtr')
def wrapper(func, *args):
print args
print func
return wrapper
@decorator(str)
def print_full_name(first_name, last_name):
full_name = first_name + " " + str(last_name)
return full_name
print print_full_name("Ivan", 222)

Pavel
15.04.2017
06:34:32
декоратор - это сокращёная запись фот такой фигни:
@decorator
def func():
...
=
func = decorator(func)
Очевидно, что когда ты запускаешь func(), то функция decorator уже отработала и выполнение, вместе со всеми аргументами, ушло во внутреннюю функцию.

cckfnn
15.04.2017
06:35:05
в этом и вопрос, как их перехватить?

Pavel
15.04.2017
06:35:44
использовать во внутренней функции. внешняя функция отработала, всё, её поезд ушёл.

cckfnn
15.04.2017
06:37:09
то есть не получится никак сравнить аргуметы декоратора и аргументы декорируемой функции?

Pavel
15.04.2017
06:37:36
ты их можешь сохранить внутри декортатора и использовать во внутренней функции

cckfnn
15.04.2017
06:38:09
каким образом?

Pavel
15.04.2017
06:42:32
http://scottlobdell.me/2015/04/decorators-arguments-python/

AbduCOM
15.04.2017
06:49:07
Ребята, следующая задача ? Каким-то образом можно сделать так, чтобы приложение работало без портов в адресе?

cckfnn
15.04.2017
06:49:11
спасибо

AbduCOM
15.04.2017
06:51:19
придется дополнительный айпи купить :(

b0g3r
15.04.2017
07:01:27
а зачем тебе фласк пднимать по порту 443?

Pavel
15.04.2017
07:03:46
.net кстати, позволяет нескольким приложениям слушать один порт, если у них разные префиксы урлов

AbduCOM
15.04.2017
07:04:59

b0g3r
15.04.2017
07:06:04
веб-сервер фласка в продакшн пускать такое себе, конечно
не хватает ещё пары посредников :)

Dmitriy
15.04.2017
07:06:24

Google

AbduCOM
15.04.2017
07:06:43
Что будет если на сервере два айпи адреса? Какой из них будет выбран в запуске программы?

Dezmunt
15.04.2017
07:21:03
Существует документация на русском?

Маришка
15.04.2017
07:21:34

Dmitriy
15.04.2017
07:21:42

Маришка
15.04.2017
07:22:07

AbduCOM
15.04.2017
07:22:47

Dmitriy
15.04.2017
07:22:55
Значит все

b0g3r
15.04.2017
07:23:07
есть несколько очень плохих попыток
но на них лучше закрыть глаза и не вспоминать

AbduCOM
15.04.2017
07:24:00

Dmitriy
15.04.2017
07:24:15
М?
Все возможные адреса слушаются

AbduCOM
15.04.2017
07:24:45

Dmitriy
15.04.2017
07:27:00

Иван
15.04.2017
07:47:28
здравствуйте посоветуйте пожалуйста книгу или ресурс с которого стоит начать изучать Python

Sergey❄️
15.04.2017
07:48:16

Set
15.04.2017
07:48:28
https://github.com/vinaypost/multiuploader

Google

Set
15.04.2017
07:48:53
кто нибудь сталкивался с такой проблемой

Иван
15.04.2017
07:49:01
спс

Маришка
15.04.2017
07:53:00
Там же явно написано чего не хватает...

Set
15.04.2017
08:10:26
TEMPLATE_CONTEXT_PROCESSORS не хватает
не знаю как его настроить

Maxim
15.04.2017
08:24:12
Ребят, может кто мои вьюхи к блогу глянуть пожалуйста?
Нужно понять, что нормально написал или нет.

Sergey❄️
15.04.2017
09:16:57
А можно ли перезапускать скрипт из скрипта?
Какой-нибудь os.exec(path/to/script.py)?

Маришка
15.04.2017
09:24:21
Зачем?

Sergey❄️
15.04.2017
09:24:33
:)
Просто мне нужна в нем возможность перезапуска при ошибке

Маришка
15.04.2017
09:25:41
Это решается оборачиванием куска кода в функцию который нужно перезапустить и отловкой данной ошибки через try except
Зачем костылить

Скрудж
15.04.2017
09:32:31

Sergey❄️
15.04.2017
09:32:35

Ivan
15.04.2017
09:34:28

Sergey❄️
15.04.2017
09:34:37
У меня стоит это всё дело через try, но если получаю except, то смысла в дальнейшем выполнении программы нет
И я хочу перезапустить весь скрипт
Ну или хотя бы эту функцию

John
15.04.2017
09:35:22

Google

Sergey❄️
15.04.2017
09:35:45

Ivan
15.04.2017
09:35:56
Маришка выше тебе объяснила.

John
15.04.2017
09:36:02

Sergey❄️
15.04.2017
09:37:16
Try except это то понятно
Но а перезапускать как?
А если в except упадет?

Маришка
15.04.2017
09:38:05
В блоке except запустить эту функцию заново?

Sergey❄️
15.04.2017
09:38:25
Ааа
Да, точно

Маришка
15.04.2017
09:38:44
._.

Sergey❄️
15.04.2017
09:38:53
:)

Маришка
15.04.2017
09:39:23
"Аааа" и вот твои извращения решаются обычной логикой

Sergey❄️
15.04.2017
09:40:27
Да, можно было и побыстрее догадался не отлавливать Exception, а просто запустить еще разок
Спасибо)

Маришка
15.04.2017
09:42:00
Сейчас бы костыльно перезапускать скрипт вместо оборачивания куска кода в функцию и перезапуска его в скрипте пока не достиг нужного результат

Sergey❄️
15.04.2017
09:42:32
Ну не ругайся

Маришка
15.04.2017
09:43:10
Ругайся, не ругайся, но это самое очевидное в программировании
Эта группа больше не существует