Spaces:
Sleeping
Sleeping
File size: 1,644 Bytes
69c20e8 |
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 |
import csv
import time
import os
import datetime
from agents.trend_spotter import TrendSpotter
from agents.visionary import Visionary
class MerchManager:
def __init__(self):
self.trend_spotter = TrendSpotter()
self.visionary = Visionary()
self.results_dir = "results"
if not os.path.exists(self.results_dir):
os.makedirs(self.results_dir)
def generate_batch(self, niche: str) -> str:
# Step 1: Get slogans
print(f"π Analyzing trends for niche: {niche}...")
slogans = self.trend_spotter.get_trends(niche)
results = []
# Step 2: Generate art prompts
print(f"π¨ Generating designs for {len(slogans)} slogans...")
for i, slogan in enumerate(slogans):
print(f"Generating design {i+1}/{len(slogans)}...")
prompt = self.visionary.generate_art_prompt(slogan, niche)
results.append({
"Niche": niche,
"Slogan": slogan,
"Art Prompt": prompt
})
time.sleep(10)
# Step 3 & 4: Save to CSV
timestamp = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
filename = f"merch_batch_{niche}_{timestamp}.csv"
filepath = os.path.join(self.results_dir, filename)
with open(filepath, mode='w', newline='', encoding='utf-8') as file:
writer = csv.DictWriter(file, fieldnames=["Niche", "Slogan", "Art Prompt"])
writer.writeheader()
writer.writerows(results)
print(f"β
Batch complete! Saved to {filepath}")
return filename
|