Files
Brancheneinstufung2/create_feature_translator_db.py
Floke 57206d0916 feat(notion): Finalize relational DB implementation and scripts
- Implement relational data structure in Notion as per the plan.
- Add scripts for initial data import (import_product.py) and distribution to related databases (distribute_product_data.py).
- Create helper scripts for reading Notion content.
- Update Notion_Dashboard.md and GEMINI.md with the latest implementation status, database IDs, and key lessons learned from the MVP phase, including API constraints and schema-first principles.
2026-01-08 21:07:12 +00:00

69 lines
2.1 KiB
Python

# create_feature_translator_db.py
import requests
import time
import json
# --- Configuration ---
try:
with open("notion_token.txt", "r") as f:
NOTION_TOKEN = f.read().strip()
except FileNotFoundError:
print("Error: notion_token.txt not found.")
exit(1)
PARENT_PAGE_ID = "2e088f42854480248289deb383da3818"
NOTION_VERSION = "2022-06-28"
NOTION_API_BASE_URL = "https://api.notion.com/v1"
HEADERS = {
"Authorization": f"Bearer {NOTION_TOKEN}",
"Notion-Version": NOTION_VERSION,
"Content-Type": "application/json",
}
# --- Database Schema ---
DB_NAME = "Feature-to-Value Translator"
DB_SCHEMA = {
"title": [{"type": "text", "text": {"content": DB_NAME}}],
"properties": {
"Feature": {"title": {}},
"Story (Benefit)": {"rich_text": {}},
"Headline": {"rich_text": {}},
"Product Master": {
"relation": {
"database_id": "2e288f42-8544-81d8-96f5-c231f84f719a", # Product Master DB ID
"dual_property": {}
}
}
}
}
# --- Main Logic ---
def main():
print(f"Attempting to create database: {DB_NAME}")
create_url = f"{NOTION_API_BASE_URL}/databases"
payload = {
"parent": {"type": "page_id", "page_id": PARENT_PAGE_ID},
"title": DB_SCHEMA["title"],
"properties": DB_SCHEMA["properties"],
}
try:
response = requests.post(create_url, headers=HEADERS, json=payload)
response.raise_for_status()
db_data = response.json()
db_id = db_data["id"]
print(f"Successfully created database '{DB_NAME}' with ID: {db_id}")
print("\n--- IMPORTANT ---")
print("Please update 'Notion_Dashboard.md' with this new ID.")
print(f"'Feature-to-Value Translator': '{db_id}'")
print("-------------------")
except requests.exceptions.HTTPError as e:
print(f"HTTP Error creating database {DB_NAME}: {e}")
print(f"Response content: {response.text}")
except Exception as e:
print(f"An unexpected error occurred: {e}")
if __name__ == "__main__":
main()