def api(): #get keyword, area keyword = request.args.get("keyword") area = request.args.get("area") if request.args.get("area") != None else "" #get keyword if keyword in ["car", "motor", "bus"] or keyword == None: #update raw data update_raw() # sql mysql = SQLDB() #get data from sql data = mysql.read_available(keyword, area) #close sql mysql = SQLDB().close() #judge empty date if data["total"] == -1: data = {"error": True, "message": "No data."} #convert into json format jsonformat = json.dumps(data, sort_keys=False, indent=4) return jsonformat else: data = { "error": True, "message": "keyword not equals to car, motor or bus." } return json.dumps(data_dict, sort_keys=False, indent=4)
def factory(*fields, **attributes): """ generates a SQLFORM for the given fields. Internally will build a non-database based data model to hold the fields. """ # Define a table name, this way it can be logical to our CSS. # And if you switch from using SQLFORM to SQLFORM.factory # your same css definitions will still apply. table_name = attributes.get('table_name', 'no_table') # So it won't interfear with SQLDB.define_table if 'table_name' in attributes: del attributes['table_name'] return SQLFORM( SQLDB(None).define_table(table_name, *fields), **attributes)
import json import data_info from sql import SQLDB #convert tw97 to gs84 import twd97 #SQL mysql = SQLDB() class GET: def __init__(self): pass # self.data_url = data_info.data_url # self.data_name = data_info.data_name def collect_data(self): #read file parking lot information with open("臺北市停車場資訊.json", "r") as f: # read file and convert to dict parking_lot_info_content = json.loads(f.read()) # parking lot info parking_lot_Updatetime = parking_lot_info_content["data"]["UPDATETIME"] parking_lot_data = parking_lot_info_content["data"]["park"] # get data and save to sql for data in parking_lot_data: para = [] #轉換停車場twd97 座標成gs84 經緯度