|
@@ -0,0 +1,42 @@
|
|
|
+from enum import Enum
|
|
|
+import time
|
|
|
+from datetime import datetime
|
|
|
+from typing import Optional
|
|
|
+from pydantic import BaseModel
|
|
|
+from fastapi import FastAPI, Query, UploadFile, File
|
|
|
+from fastapi import FastAPI
|
|
|
+from fastapi.middleware.cors import CORSMiddleware
|
|
|
+import json
|
|
|
+import urllib.request
|
|
|
+
|
|
|
+url = 'https://api.coinmarketcap.com/data-api/v3/nft/collections?start=0&limit=5'
|
|
|
+
|
|
|
+app = FastAPI()
|
|
|
+
|
|
|
+origins = [
|
|
|
+ "http://172.105.205.52",
|
|
|
+ "http://172.105.205.52:8001",
|
|
|
+]
|
|
|
+
|
|
|
+app.add_middleware(
|
|
|
+ CORSMiddleware,
|
|
|
+ # allow_origins=origins,
|
|
|
+ allow_origins=["*"],
|
|
|
+ allow_credentials=True,
|
|
|
+ allow_methods=["*"],
|
|
|
+ allow_headers=["*"],
|
|
|
+)
|
|
|
+
|
|
|
+@app.get("/showdata")
|
|
|
+async def showdata():
|
|
|
+ r = urllib.request.urlopen(url)
|
|
|
+ collections = json.loads(r.read())['data']['collections']
|
|
|
+
|
|
|
+ reqs = []
|
|
|
+
|
|
|
+ for req in collections:
|
|
|
+ logo = 'https://s3.coinmarketcap.com/generated/nft/collections/' + req['slug'] + '.png';
|
|
|
+ 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
|