From c3683662c2d4ef368c4a24d57dd03815a870c343 Mon Sep 17 00:00:00 2001 From: messense Date: Thu, 11 May 2017 11:18:59 +0800 Subject: [PATCH 1/3] Remove timedRotatingFile log config --- docs/sanic/logging.md | 7 ------- sanic/config.py | 18 ------------------ 2 files changed, 25 deletions(-) diff --git a/docs/sanic/logging.md b/docs/sanic/logging.md index be2aa9b3..0fd9c75c 100644 --- a/docs/sanic/logging.md +++ b/docs/sanic/logging.md @@ -76,13 +76,6 @@ By default, log_config parameter is set to use sanic.config.LOGGING dictionary f (Notice that in Docker you have to enable everything by yourself) -- accessTimedRotatingFile (using [logging.handlers.TimedRotatingFileHandler](https://docs.python.org/3/library/logging.handlers.html#logging.handlers.TimedRotatingFileHandler))
- For requests information logging to file with daily rotation support. - - -- errorTimedRotatingFile (using [logging.handlers.TimedRotatingFileHandler](https://docs.python.org/3/library/logging.handlers.html#logging.handlers.TimedRotatingFileHandler))
- For error message and traceback logging to file with daily rotation support. - And `filters`: - accessFilter (using sanic.log.DefaultFilter)
diff --git a/sanic/config.py b/sanic/config.py index 2f2cf49b..8ffdb6c4 100644 --- a/sanic/config.py +++ b/sanic/config.py @@ -77,24 +77,6 @@ LOGGING = { 'filters': ['errorFilter'], 'formatter': 'simple' }, - 'accessTimedRotatingFile': { - 'class': 'logging.handlers.TimedRotatingFileHandler', - 'filters': ['accessFilter'], - 'formatter': 'access', - 'when': 'D', - 'interval': 1, - 'backupCount': 7, - 'filename': 'access.log' - }, - 'errorTimedRotatingFile': { - 'class': 'logging.handlers.TimedRotatingFileHandler', - 'filters': ['errorFilter'], - 'when': 'D', - 'interval': 1, - 'backupCount': 7, - 'filename': 'error.log', - 'formatter': 'simple' - } }, 'loggers': { 'sanic': { From 3ea1b07906572cec5b67dc745f2e16c0c2f76169 Mon Sep 17 00:00:00 2001 From: messense Date: Thu, 11 May 2017 11:19:03 +0800 Subject: [PATCH 2/3] Revert "Add access.log and error.log to .gitignore" This reverts commit fc0d69616c171b50973fffafbe5ef8429f4131ba. --- .gitignore | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0549ae86..73e923d3 100644 --- a/.gitignore +++ b/.gitignore @@ -14,5 +14,3 @@ settings.py docs/_build/ docs/_api/ build/* -access.log -error.log From 996c0b328050179d1400964a064a72ce93505d7f Mon Sep 17 00:00:00 2001 From: Jeremy Zimmerman Date: Thu, 11 May 2017 13:40:16 -0700 Subject: [PATCH 3/3] Fixed with a working example Remember: K.I.S.S --- examples/plotly_example/plotlyjs_example.py | 86 +++----------------- examples/plotly_example/requirements.txt | 7 +- examples/plotly_example/templates/index.html | 0 3 files changed, 15 insertions(+), 78 deletions(-) delete mode 100644 examples/plotly_example/templates/index.html diff --git a/examples/plotly_example/plotlyjs_example.py b/examples/plotly_example/plotlyjs_example.py index f536067c..d32491a6 100644 --- a/examples/plotly_example/plotlyjs_example.py +++ b/examples/plotly_example/plotlyjs_example.py @@ -1,85 +1,25 @@ from sanic import Sanic - -from sanic_session import InMemorySessionInterface -from sanic_jinja2 import SanicJinja2 - -import json +from sanic.response import html import plotly - -import pandas as pd -import numpy as np +import plotly.graph_objs as go app = Sanic(__name__) -jinja = SanicJinja2(app) -session = InMemorySessionInterface(cookie_name=app.name, prefix=app.name) - -@app.middleware('request') -async def print_on_request(request): - print(request.headers) - await session.open(request) - -@app.middleware('response') -async def print_on_response(request, response): - await session.save(request, response) - - @app.route('/') async def index(request): - rng = pd.date_range('1/1/2011', periods=7500, freq='H') - ts = pd.Series(np.random.randn(len(rng)), index=rng) + trace1 = go.Scatter( + x=[0, 1, 2, 3, 4, 5], + y=[1.5, 1, 1.3, 0.7, 0.8, 0.9] + ) + trace2 = go.Bar( + x=[0, 1, 2, 3, 4, 5], + y=[1, 0.5, 0.7, -1.2, 0.3, 0.4] + ) - graphs = [ - dict( - data=[ - dict( - x=[1, 2, 3], - y=[10, 20, 30], - type='scatter' - ), - ], - layout=dict( - title='first graph' - ) - ), - - dict( - data=[ - dict( - x=[1, 3, 5], - y=[10, 50, 30], - type='bar' - ), - ], - layout=dict( - title='second graph' - ) - ), - - dict( - data=[ - dict( - x=ts.index, # Can use the pandas data structures directly - y=ts - ) - ] - ) - ] - - # Add "ids" to each of the graphs to pass up to the client - # for templating - ids = ['graph-{}'.format(i) for i, _ in enumerate(graphs)] - - # Convert the figures to JSON - # PlotlyJSONEncoder appropriately converts pandas, datetime, etc - # objects to their JSON equivalents - graphJSON = json.dumps(graphs, cls=plotly.utils.PlotlyJSONEncoder) - - return jinja.render('index.html', request, - ids=ids, - graphJSON=graphJSON) + data = [trace1, trace2] + return html(plotly.offline.plot(data, auto_open=False, output_type='div')) if __name__ == '__main__': - app.run(host='0.0.0.0', port=8000, debug=True) \ No newline at end of file + app.run(host='0.0.0.0', port=8000, debug=True) diff --git a/examples/plotly_example/requirements.txt b/examples/plotly_example/requirements.txt index 91875907..8e1e92c2 100644 --- a/examples/plotly_example/requirements.txt +++ b/examples/plotly_example/requirements.txt @@ -1,5 +1,2 @@ -pandas==0.19.2 -plotly==2.0.7 -sanic==0.5.0 -sanic-jinja2==0.5.1 -sanic-session==0.1.3 \ No newline at end of file +plotly>=2.0.7 +sanic>=0.5.0 \ No newline at end of file diff --git a/examples/plotly_example/templates/index.html b/examples/plotly_example/templates/index.html deleted file mode 100644 index e69de29b..00000000