Browse Source

Merge branch 'master' of http://git.choozmo.com:3000/choozmo/NFTBoard into master

jeter20131220 3 years ago
parent
commit
998896237f
1 changed files with 21 additions and 1 deletions
  1. 21 1
      api/main.py

+ 21 - 1
api/main.py

@@ -8,6 +8,7 @@ from fastapi import FastAPI
 from fastapi.middleware.cors import CORSMiddleware
 import json
 import urllib.request
+import dataset,json
 
 url = 'https://api.coinmarketcap.com/data-api/v3/nft/collections?start=0&limit=5'
 
@@ -26,6 +27,9 @@ app.add_middleware(
     allow_methods=["*"],
     allow_headers=["*"],
 )
+db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/NFTBoard?charset=utf8mb4')
+class subreq(BaseModel):
+    email:str
 
 @app.get("/showdata")
 async def showdata():
@@ -39,4 +43,20 @@ async def showdata():
         last_7_days = 'https://s3.coinmarketcap.com/generated/sparklines/nft/collection/web/30d/' + req['slug'] +'.png';
 
         reqs.append({'rank':req['rank'],'slug':req['slug'],'logo':logo,'website':req['website'],'name':req['name'],'assets':req['transferUniqueAssetsAT'],'collection_net_worth':req['netWorth'],'volume_7d':req['volume7d'],'sales_7d':req['sales7d'],'volume_all_time':req['volumeAT'],'sales_all_time':req['salesAT'],'last_7_days':last_7_days})
-    return reqs
+    return reqs
+
+@app.post("/add_sub")
+async def add_subclient_info(req:subreq):
+    code = 'ok'
+    sub_table = db['Subscribe']
+    time_stamp = datetime.fromtimestamp(time.time()).strftime("%Y-%m-%d %H:%M:%S")
+    pk = sub_table.insert({'email':req.email,'timestamp':time_stamp})
+    return {'msg':code}
+
+@app.get("/get_sub_list")
+async def add_subclient_info():
+    statement = 'SELECT * FROM Subscribe'
+    result = []
+    for row in db.query(statement):
+        result += [{'id':row['id'],'email':row['email'],'timeStamp':row['timestamp']}]
+    return result