Moved into module.

This commit is contained in:
neviyn 2016-05-31 03:53:29 +01:00
parent 48a9fa6c24
commit 5b464f0302
43 changed files with 50 additions and 40 deletions

4
.gitignore vendored
View File

@ -135,5 +135,5 @@ node_modules
wanikani.db
config.py
/static/*.map
/static/*.js
/wanikaniburned/static/*.map
/wanikaniburned/static/*.js

View File

@ -18,7 +18,7 @@ Demo API key: **demo**
Unzip build archive.
unzip build.zip
unzip archive.zip
Create a file config.py in the base directory and added configuration options (see example-config.py).
@ -35,7 +35,7 @@ Install dependencies.
Start application.
python wanikaniburned.py
python runserver.py
## Installation
@ -53,13 +53,13 @@ Install CoffeeScript (requires npm)
Compile CoffeeScript.
coffee --map --compile ./static
coffee --map --compile ./wanikaniburned/static
### Optional
Auto watch and recompile CoffeeScript file(s) on changes.
coffee --map --watch --compile ./static
coffee --map --watch --compile ./wanikaniburned/static
## Testing

5
runserver.py Normal file
View File

@ -0,0 +1,5 @@
from wanikaniburned import db, app
if __name__ == "__main__":
db.create_all()
app.run(threaded=True, port=app.config['PORT'])

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,8 @@
import gzip
import ujson as json
import unittest
from wanikaniburned import app, db, User, datetime_format, parse_range
from wanikaniburned import app, db
from wanikaniburned.wanikaniburned import User, datetime_format, parse_range
from flask.ext.testing import TestCase
from datetime import datetime
@ -93,7 +94,7 @@ class TestFormats(unittest.TestCase):
def test_custom_datetime_format(self):
test_time = datetime.min
output = datetime_format(test_time)
self.assertEqual(output, "01 January 1 12:00AM")
self.assertEqual(output, test_time.strftime("%d %B %Y %I:%M%p"))
def test_parse_range_empty(self):
self.assertIsNone(parse_range(""))

View File

@ -0,0 +1,34 @@
import flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager
import logging
import sys
import re
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setLevel(logging.DEBUG)
handler = logging.FileHandler('wkburned.log')
handler.setLevel(logging.WARN)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
logger.addHandler(handler)
logger.addHandler(console_handler)
app = flask.Flask(__name__)
logger.debug("Configuring application.")
app.config.update(
PORT=5000,
JSON_AS_ASCII=False
)
app.config.from_pyfile('config.py', silent=True)
logger.debug("Setting up login manager.")
login_manager = LoginManager()
login_manager.init_app(app)
logger.debug("Setting up database.")
db = SQLAlchemy(app)
filter_regex = re.compile('\d+([,-]\d+)*')
logger.debug("Setup complete")
import wanikaniburned.wanikaniburned

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 814 B

After

Width:  |  Height:  |  Size: 814 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 982 B

After

Width:  |  Height:  |  Size: 982 B

View File

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 426 B

After

Width:  |  Height:  |  Size: 426 B

View File

Before

Width:  |  Height:  |  Size: 715 B

After

Width:  |  Height:  |  Size: 715 B

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1,44 +1,15 @@
import ujson as json
import re
from datetime import datetime, timedelta
import logging
import sys
import flask
from flask.ext.login import LoginManager, login_user, login_required, current_user, logout_user, login_fresh, \
from flask.ext.login import login_user, login_required, current_user, logout_user, login_fresh, \
confirm_login
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.wtf import Form
import requests
from wtforms import StringField
from wtforms.validators import DataRequired
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setLevel(logging.DEBUG)
handler = logging.FileHandler('wkburned.log')
handler.setLevel(logging.WARN)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
console_handler.setFormatter(formatter)
logger.addHandler(handler)
logger.addHandler(console_handler)
app = flask.Flask(__name__)
logger.debug("Configuring application.")
app.config.update(
PORT=5000,
JSON_AS_ASCII=False
)
app.config.from_pyfile('config.py', silent=True)
logger.debug("Setting up login manager.")
login_manager = LoginManager()
login_manager.init_app(app)
logger.debug("Setting up database.")
db = SQLAlchemy(app)
filter_regex = re.compile('\d+([,-]\d+)*')
logger.debug("Setup complete")
from wanikaniburned import db, logger, filter_regex, login_manager, app
class LoginForm(Form):