def setUp(self): db.config(database) if os.path.exists(database.get('host')): os.remove(database.get('host')) with db() as data: data.execute('CREATE TABLE users(id INTEGER PRIMARY KEY AUTOINCREMENT, first_name VARCHAR(30), last_name VARCHAR(30), username VARCHAR(30), email VARCHAR(100), password varchar(30), created TIMESTAMP, modified TIMESTAMP)') create().execute({ 'email': '*****@*****.**', 'username': '******', 'password': '******', 'first_name': 'sprite', 'last_name': 'fuzzie' }) with db() as data: data.execute('CREATE TABLE user_details(id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INT, description TEXT)') create_user_details().execute({ 'user_id': '1', 'description': 'my descriptive text' }) with db() as data: data.execute('CREATE TABLE categories(id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INT, name VARCHAR(255), total INT)') create_category().execute({'user_id': '1','name': 'fruit', 'total': '4'}) create_category().execute({'user_id': '1','name': 'fruit', 'total': '7'}) create_category().execute({'user_id': '1','name': 'veg', 'total': '3'}) create_category().execute({'user_id': '1','name': 'pasta', 'total': '8'})
def set_database_details(database, path): # check if we have any params to pass if database: matches = [x for x in ('database', 'username', 'password') if database.get(x, None) is not None] if matches: print('database params provided') print(database) database['db'] = database['database'] database['user'] = database['username'] database['passwd'] = database['password'] dataset.config(database) export_path = database.get('target', path) if dataset().connection_settings.get('type') is None: sys.exit('Unknown database type %s' % dataset().connection_settings.get('type')) if dataset().connection_settings.get('host') is None: sys.exit("Missing database config %s" % dataset().connection_settings.get('host')) if dataset().connection_settings.get('db'): schema_name = dataset().connection_settings.get('db') else: schema_name = dataset().connection_settings.get('host') print(dataset().connection_settings) return schema_name, path
import unittest sys.path.insert(0,os.path.abspath('../')) from scaffold.core.data.database import db from scaffold.core.data.select import select_data from scaffold.core.data.insert import insert_data from scaffold.core.data.update import update_data from scaffold.core.data.delete import delete_data from scaffold.core.data.sql import query_builder from tests.test_data_setup import * query_builder.query_path = os.path.abspath('./data/sql/') database = {'host':'test_simple_querys.db', 'type': 'sqllite'} db.config(database) class TestBasePage(TestDataSetup): def test_simple_insert_invalid_data(self): self.assertEqual(len([row for row in select()]), 1) create().execute({ 'email': u'ted[][email protected]', 'username': u'te$£ddy', 'password': u'hj()fdjh', 'first_name': u'sp#~te', 'last_name': u'fuz¬`|ie' }) results = [row for row in select()] # make sure this column was updated automatically with python during insert
import os import sys sys.path.insert(0, os.path.abspath('../../../scaffold/')) from config import settings from scaffold.core.data.database import db db.config(settings.database) from scaffold.core.data.migrations import export_schema, import_schema #export_schema(os.path.abspath('./data/migrate/')) import_schema(os.path.abspath('./data/migrate/'))
if os.path.exists('config/settings_live.py'): print('Using settings for live enviroment') from settings_live import * with web.template as setup: #css setup.persistent_header('<link rel="stylesheet" id="navigationCss" href="/static/css/default.css" media="" type="text/css" />') setup.persistent_header('<link rel="stylesheet" id="navigationCss" href="/static/js/jquery-ui/themes/base/jquery-ui.css" media="" type="text/css" />') setup.persistent_header('<link rel="stylesheet" id="navigationCss" href="/static/css/sprite-navigation-white.css" media="" type="text/css" />') setup.persistent_header('<link rel="stylesheet" id="navigationCss" href="/static/css/sprite-action-white.css" media="" type="text/css" />') setup.persistent_header('<link rel="stylesheet" id="navigationCss" href="/static/css/sprite-content-white.css" media="" type="text/css" />') #javascript setup.persistent_header('<script type="text/javascript" src="/static/js/jquery-2.1.4.min.js"></script>') setup.persistent_header('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.js"></script>') setup.persistent_header('<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular-animate.js"></script>') setup.persistent_header('<script type="text/javascript" src="/static/js/default.js"></script>') #other favicon etc setup.persistent_header('<link rel="icon" type="image/png" href="/static/images/favicon.png">') setup.persistant_uris( schema=schema, domain=domain, port=port) db.config(database)
import os import sys sys.path.insert(0, os.path.abspath('../../../scaffold/')) from config import settings from scaffold.core.data.database import db print settings.database db.config(settings.database) from scaffold.core.data import migrations from scaffold.core.data.migrations import export_schema, import_schema export_schema() #import_schema()