-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
83 lines (66 loc) · 2.7 KB
/
main.py
File metadata and controls
83 lines (66 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
"""
Sappiens Framework
Copyright (C) 2014, BRA Consultoria
Website do autor: www.braconsultoria.com.br/sappiens
Email do autor: sappiens@braconsultoria.com.br
Website do projeto, equipe e documentacao: www.sappiens.com.br
Este programa e software livre; voce pode redistribui-lo e/ou
modifica-lo sob os termos da Licenca Publica Geral GNU, conforme
publicada pela Free Software Foundation, versao 2.
Este programa e distribuido na expectativa de ser util, mas SEM
QUALQUER GARANTIA; sem mesmo a garantia implicita de
COMERCIALIZACAO ou de ADEQUACAO A QUALQUER PROPOSITO EM
PARTICULAR. Consulte a Licenca Publica Geral GNU para obter mais
detalhes.
Voce deve ter recebido uma copia da Licenca Publica Geral GNU
junto com este programa; se nao, escreva para a Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307, USA.
Copias da licenca disponiveis em /Sappiens/_doc/licenca
"""
import sys, json, traceback
from processa_evento import processaEvento
from flask import Flask, request
__author__ = "Bueno, Feliphe <feliphezion@gmail.com>"
__version__ = "2.0"
def start(payload, evento):
if payload and evento:
retorno = {
'success': True,
'retorno': str(processaEvento(payload).processaEvento(evento)),
}
else:
retorno = {
'success': False,
'retorno': "Nenhum dado recebido para processamento."
}
return retorno
app = Flask(__name__)
@app.route("/", methods=['POST'])
def main():
response = {'success': "", 'response': ""}
try:
payload = request.get_json(True)
retorno = start(payload, request.headers.get("Http-X-Github-Event"))
response = {
'success' : retorno['success'],
'retorno' : retorno['retorno']
}
except NameError as Undefined:
response['success'] = False
response['response'] = unicode(str(Undefined), errors='replace')
response['stackTrace'] = '<pre>' + traceback.format_exc() + '</pre>'
except Exception as e:
response['success'] = False
response['response'] = unicode(str(e), errors='replace')
response['stackTrace'] = '<pre>' + traceback.format_exc() + '</pre>'
finally:
if len(sys.argv) > 3:
if request.headers.get("--debug") and 'stackTrace' in response:
print "Stack Trace:\n" + response['stackTrace']
return str(response)
@app.route("/")
def hello():
return "<h1>Python flask server http/1.1 200 OK</h1>"
if __name__ == "__main__":
app.run(host='localhost', port=8081, debug=True)