59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import csv
 | 
						|
from datetime import datetime
 | 
						|
import requests
 | 
						|
 | 
						|
PHASE_URL = "https://backend.dexrp.io/general/phase"
 | 
						|
GENERAL_URL = "https://backend.dexrp.io/general"
 | 
						|
 | 
						|
 | 
						|
def fetch_data(url):
 | 
						|
    try:
 | 
						|
        response = requests.get(url)
 | 
						|
        response.raise_for_status()
 | 
						|
        return response.json()
 | 
						|
    except Exception as e:
 | 
						|
        print(f"Error fetching data: {e}")
 | 
						|
        return None
 | 
						|
 | 
						|
 | 
						|
def save_to_csv(filename, data):
 | 
						|
    try:
 | 
						|
        with open(filename, "a", newline="") as f:
 | 
						|
            writer = csv.writer(f)
 | 
						|
            if f.tell() == 0:  # Write header if file is empty
 | 
						|
                writer.writerow(["datetime"] + list(data.keys()))
 | 
						|
            writer.writerow(
 | 
						|
                [datetime.now().strftime("%Y-%m-%d %H:%M:%S")] + list(data.values())
 | 
						|
            )
 | 
						|
    except Exception as e:
 | 
						|
        print(f"Error saving to {filename}: {e}")
 | 
						|
 | 
						|
 | 
						|
def job():
 | 
						|
    # Phase data
 | 
						|
    phase_data = fetch_data(PHASE_URL)
 | 
						|
    if phase_data:
 | 
						|
        phase_data = {
 | 
						|
            "raised": phase_data.get("raised"),
 | 
						|
            "goal": phase_data.get("goal"),
 | 
						|
        }
 | 
						|
 | 
						|
    # General data
 | 
						|
    general_data = fetch_data(GENERAL_URL)
 | 
						|
    if general_data:
 | 
						|
        general_data = {
 | 
						|
            "roundIndex": general_data.get("roundIndex"),
 | 
						|
            "raisedAmount": general_data.get("raisedAmount"),
 | 
						|
            "raiseGoalAmount": general_data.get("raiseGoalAmount"),
 | 
						|
            "tokensSoldAmount": general_data.get("tokensSoldAmount"),
 | 
						|
            "tokensGoalAmount": general_data.get("tokensGoalAmount"),
 | 
						|
        }
 | 
						|
 | 
						|
    if general_data and phase_data:
 | 
						|
        save_to_csv("phase.csv", phase_data)
 | 
						|
        save_to_csv("general.csv", general_data)
 | 
						|
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    job()
 |