File size: 1,782 Bytes
acbe906 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | from dotenv import load_dotenv
import requests
import os
load_dotenv()
# Access the variables
api_key = os.getenv("DEVICE_ID")
def parse_response(data):
dialog = []
for i in range(len(data['memories'])):
for segment in data['memories'][i]['transcript_segments']:
speaker = segment['speaker']
start_time = segment['start']
end_time = segment['end']
# Fallback for unexpected speaker IDs
dialog.append(f"**{speaker}**: {segment['text']}")
# Join dialog lines into a markdown string
dialog_text = "\n\n".join(dialog)
return dialog_text
def fetch_memories(url, headers, cursor=None):
# Update URL with cursor if provided
if cursor:
url = f"{url}&cursor={cursor}"
response = requests.get(url, headers=headers)
if response.status_code == 200:
return response.json()
else:
print(f"Error: {response.status_code} - {response.text}")
return None
# Initial API setup
def get_dialog(date="2025-08-21"):
url = "https://apis.getbuddi.ai/v1/dev/get_memories?date="+date
headers = {
"api-key": api_key
}
dialog=""
# Fetch first batch
data = fetch_memories(url, headers)
if data:
# print("First batch:", data)
# Check for next_cursor and fetch subsequent batches
while 'next_cursor' in data and data['next_cursor']:
cursor = data['next_cursor']
print(cursor)
data = fetch_memories(url, headers, cursor)
if data:
dialog=dialog+parse_response(data)
# print("Next batch:", data)
else:
break
return(dialog)
if __name__ == "__main__":
print(get_dialog()) |