def main(): parser = argparse.ArgumentParser(description="") parser.add_argument('-c', '--create-db', action='store_true', help='create database') parser.add_argument('-d', '--drop-db', action='store_true', help='drop database') parser.add_argument('-t', '--test-data', action='store_true', help='add test data') args = parser.parse_args() with app.app_context(): if args.drop_db: db.drop_all() if args.create_db: db.create_all() if args.test_data: add_test_data()
def makeDB(filename): try: os.remove("master.db") #DB削除 except: print "failed to delete master.db" db.create_all() #DB初期化 restaurants = {} users = {} reviews = {} lines = [l.strip() for l in file(filename, "r").readlines()] i=0 uu,dupu=0,0 for line in lines: elems = line.split(":") if i%1000 == 0: print elems if elems[0]=="shop": name = elems[1] restaurants[name] = Restaurant(name) db.session.add(restaurants[name]) elif elems[0]=="authority": name = elems[1] authority = elems[2] if users.has_key(name): dupu+=1 else: uu+=1 users[name] = User(name, authority) db.session.add(users[name]) elif elems[0]=="review": username = elems[2] restaurantname = elems[1] score = elems[3] review = Review(users[username], restaurants[restaurantname], score) db.session.add(review) i+=1 print "user="******"dupuser="******"writing on db..." db.session.commit() print u"DBの再初期化が完了しました"
import json from flask import Flask, jsonify, request from db_model import db, Notes from sqlalchemy import or_ app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///notes.sqlite3' db.init_app(app) with app.app_context(): db.create_all() # Функция реализующая добавление заметок. Принимает на вход POST запрос с данными в формате json. # Пример запроса: # curl -H "Content-Type: application/json" -X POST --data '{"title":"test","content":"test_content"}' 127.0.0.1:5000/notes @app.route('/notes', methods=['POST']) def post_note(): new_note = Notes(title=request.json['title'], content=request.json['content']) db.session.add(new_note) db.session.commit() return jsonify(new_note.serialize()) # Функция реализующая получение всех заметок и получение заметок всех заметок содержащих в себе переданный запрос. # Пример запроса для получения всех заметок: # curl -X GET 127.0.0.1:5000/notes # Пример запроса для получения заметок по запросу # curl -X GET 127.0.0.1:5000/notes?query=test @app.route('/notes', methods=['GET'])
#!../../bin/python from db_model import db #create database db.create_all()