#!/usr/bin/env python3
"""
簡化版 GitHub Repository 創建器
使用你提供的 token: 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
"""

import requests
import json
import os

# 你的 GitHub token
GITHUB_TOKEN = "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"

def create_github_repo():
    """創建 GitHub Repository"""
    print("🚀 創建 GitHub Repository...")
    
    headers = {
        "Authorization": f"token {GITHUB_TOKEN}",
        "Accept": "application/vnd.github.v3+json",
        "User-Agent": "Taiwan-Stock-Research-Bot"
    }
    
    # 創建 repository
    repo_data = {
        "name": "taiwan-stock-research",
        "description": "🦉 AI-powered Taiwan Stock Research System with GitHub Copilot API",
        "private": True,
        "has_issues": True,
        "has_projects": True,
        "has_pages": True
    }
    
    response = requests.post(
        "https://api.github.com/user/repos",
        headers=headers,
        json=repo_data
    )
    
    if response.status_code == 201:
        repo = response.json()
        print(f"✅ Repository 創建成功!")
        print(f"📍 URL: {repo['html_url']}")
        print(f"🔗 Clone URL: {repo['clone_url']}")
        return repo
    else:
        print(f"❌ Repository 創建失敗: {response.status_code}")
        print(f"回應: {response.text}")
        return None

def get_user_info():
    """獲取用戶資訊"""
    headers = {
        "Authorization": f"token {GITHUB_TOKEN}",
        "Accept": "application/vnd.github.v3+json"
    }
    
    response = requests.get("https://api.github.com/user", headers=headers)
    
    if response.status_code == 200:
        user = response.json()
        print(f"✅ GitHub 連接成功!")
        print(f"👤 用戶: {user['login']}")
        print(f"📧 Email: {user.get('email', 'N/A')}")
        return user
    else:
        print(f"❌ GitHub API 連接失敗: {response.status_code}")
        return None

def setup_repository_settings(username, repo_name):
    """設定 Repository 基本設定"""
    print("⚙️ 設定 Repository...")
    
    headers = {
        "Authorization": f"token {GITHUB_TOKEN}",
        "Accept": "application/vnd.github.v3+json"
    }
    
    # 啟用 GitHub Actions
    actions_url = f"https://api.github.com/repos/{username}/{repo_name}/actions/permissions"
    actions_data = {"enabled": True}
    
    response = requests.put(actions_url, headers=headers, json=actions_data)
    
    if response.status_code == 204:
        print("✅ GitHub Actions 已啟用")
    else:
        print(f"⚠️ GitHub Actions 啟用失敗: {response.status_code}")
    
    # 設定 Pages (如果需要)
    pages_url = f"https://api.github.com/repos/{username}/{repo_name}/pages"
    pages_data = {
        "source": {
            "branch": "main",
            "path": "/dashboard"
        }
    }
    
    response = requests.post(pages_url, headers=headers, json=pages_data)
    if response.status_code == 201:
        print("✅ GitHub Pages 已設定")
    else:
        print(f"ℹ️ GitHub Pages 稍後設定: {response.status_code}")

def create_initial_files():
    """創建初始檔案結構"""
    print("📁 準備初始檔案...")
    
    # 創建 README.md
    readme_content = """# 🦉 台股投研系統

> 基於 GitHub Copilot API 的智能台股投資研究系統

## 🎯 特色功能

- 🤖 **DIKW 四層架構**: Gemini → Claude → GPT-4o 分層處理
- 📊 **20 檔觀察名單**: AI伺服器、半導體、記憶體、能源四大產業
- 🌅 **每日自動晨報**: 06:00 TST 變動優先 Top 5 分析
- 💰 **成本優化**: 月費僅 $10 (GitHub Copilot)
- 📱 **LINE 整合**: 晨報推送 + 1/2/3 互動分析

## 📈 今日狀態

系統正在初始化中...

明天 06:00 TST 將發送第一份自動晨報！

## 💡 使用方式

1. 收到晨報後回覆數字：
   - `1` → 投資建議稿 (Sonnet)
   - `2` → 分析大綱 (Sonnet) 
   - `3` → 推演框架 (GPT-4o)

2. 每週更新評分卡驅動變動排序

## 🔧 技術架構

```
GitHub Actions 自動化
├── Gemini 1.5 Pro (數據收集)
├── Claude 3.5 Sonnet (邏輯分析)  
└── GPT-4o (深度推演)
```

---

⚠️ **免責聲明**: 僅供學習研究，不構成投資建議
"""
    
    with open('README.md', 'w', encoding='utf-8') as f:
        f.write(readme_content)
    
    print("✅ README.md 已創建")

def main():
    """主要執行流程"""
    print("🎉 台股投研系統 GitHub 設定開始")
    print("=" * 40)
    
    # 1. 檢查 GitHub 連接
    user = get_user_info()
    if not user:
        return
    
    username = user['login']
    
    # 2. 創建 Repository
    repo = create_github_repo()
    if not repo:
        return
    
    # 3. 設定 Repository
    setup_repository_settings(username, "taiwan-stock-research")
    
    # 4. 創建初始檔案
    create_initial_files()
    
    # 5. 顯示下一步
    print("\n🎯 下一步：")
    print("1. 訂閱 GitHub Copilot: https://github.com/settings/copilot")
    print("2. 提供 LINE Bot Token 資訊")
    print("3. 推送代碼到 Repository")
    print("4. 設定 GitHub Secrets")
    print("5. 等待明天 06:00 TST 第一份晨報！")
    print(f"\n📍 Repository: https://github.com/{username}/taiwan-stock-research")

if __name__ == "__main__":
    main()