У меня есть небольшое приложение flask с кодом ниже. Обратите внимание, что я удалил много кода просто для моего вопроса. Если что-то понадобится повторно добавить или пропустить, дайте мне знать.
1 @app.route("/app/data/", methods=['POST'])
2 def methodpost():
3
4 if 'Content-Type' in request.headers and request.headers['Content-Type'] == 'application/json':
5
6 #some_code
7 #some_more_code
8
9 if not any(['unittest' or 'discover' in arg for arg in sys.argv]):
10
11 #code_calls_external_stuff
12 #more_code
13
14
15 return msg
16
17
18 app.run(host=0.0.0.0, debug=debug, port=5000)
Когда я делаю cURL для него, используя следующее:
curl -X POST "localhost: 5000 / app / data / "-H" Тип содержимого: application / json "-d @ jsonBody
Не go в LINE-11 и LINE-12.
Однако, когда я изменяю LINE-9 следующим образом:
----FROM:----
if not any(['unittest' or 'discover' in arg for arg in sys.argv]):
----TO:----
if not any(['unittest' in arg for arg in sys.argv]):
, тогда он работает и вызывает LINE-11 и LINE-12. Вышеуказанное было добавлено только для того, чтобы я мог запускать UnitTest и Tox, пока приложение не запущено, потому что я не хотел совершать внешние вызовы ... Есть ли способ обойти это, сохранив код как есть.