|  | @@ -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
 |