@ -26,7 +26,6 @@ from gevent.wsgi import WSGIServer
from gevent . monkey import patch_all
import logging
import os
import sys
import argparse
import senpy
@ -35,22 +34,6 @@ patch_all(thread=False)
SERVER_PORT = os . environ . get ( " PORT " , 5000 )
def info ( type , value , tb ) :
if hasattr ( sys , ' ps1 ' ) or not sys . stderr . isatty ( ) :
# we are in interactive mode or we don't have a tty-like
# device, so we call the default hook
sys . __excepthook__ ( type , value , tb )
else :
import traceback
import pdb
# we are NOT in interactive mode, print the exception...
traceback . print_exception ( type , value , tb )
print
# ...then start the debugger in post-mortem mode.
# pdb.pm() # deprecated
pdb . post_mortem ( tb ) # more "modern"
def main ( ) :
parser = argparse . ArgumentParser ( description = ' Run a Senpy server ' )
parser . add_argument (
@ -100,22 +83,25 @@ def main():
rl . setLevel ( getattr ( logging , args . level ) )
app = Flask ( __name__ )
app . debug = args . debug
if args . debug :
sys . excepthook = info
sp = Senpy ( app , args . plugins_folder , default_plugins = args . default_plugins )
if args . only_install :
sp . install_deps ( )
return
sp . activate_all ( )
http_server = WSGIServer ( ( args . host , args . port ) , app )
try :
print ( ' Senpy version {} ' . format ( senpy . __version__ ) )
print ( ' Server running on port %s : %d . Ctrl+C to quit ' % ( args . host ,
args . port ) )
http_server . serve_forever ( )
except KeyboardInterrupt :
print ( ' Bye! ' )
http_server . stop ( )
print ( ' Senpy version {} ' . format ( senpy . __version__ ) )
print ( ' Server running on port %s : %d . Ctrl+C to quit ' % ( args . host ,
args . port ) )
if not app . debug :
http_server = WSGIServer ( ( args . host , args . port ) , app )
try :
http_server . serve_forever ( )
except KeyboardInterrupt :
print ( ' Bye! ' )
http_server . stop ( )
else :
app . run ( args . host ,
args . port ,
debug = True )
sp . deactivate_all ( )