Spaces:
Sleeping
Sleeping
| 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 | |