Files
Brancheneinstufung2/debug_notion_time.py
Floke 088f440d52 [2ea88f42] Keine neuen Commits in dieser Session.
Keine neuen Commits in dieser Session.
2026-03-04 15:14:14 +00:00

86 lines
2.5 KiB
Python

import os
import json
import requests
from dotenv import load_dotenv
load_dotenv()
SESSION_FILE = ".dev_session/SESSION_INFO"
def debug_notion():
if not os.path.exists(SESSION_FILE):
print("No session file found.")
return
with open(SESSION_FILE, "r") as f:
data = json.load(f)
task_id = data.get("task_id")
token = data.get("token")
print(f"Debug Info:")
print(f"Task ID: {task_id}")
print(f"Token (first 4 chars): {token[:4]}...")
url = f"https://api.notion.com/v1/pages/{task_id}"
headers = {
"Authorization": f"Bearer {token}",
"Notion-Version": "2022-06-28",
"Content-Type": "application/json"
}
# 1. Fetch Page
print("\n--- Fetching Page Properties ---")
resp = requests.get(url, headers=headers)
if resp.status_code != 200:
print(f"Error fetching page: {resp.status_code}")
print(resp.text)
return
page_data = resp.json()
properties = page_data.get("properties", {})
print(f"Found {len(properties)} properties:")
target_prop_name = "Total Duration (h)"
found_target = False
for name, prop in properties.items():
type_ = prop.get("type")
val = prop.get(type_)
print(f"- '{name}' ({type_}): {val}")
if name == target_prop_name:
found_target = True
if not found_target:
print(f"\nCRITICAL: Property '{target_prop_name}' NOT found on this task!")
# Check for similar names
for name in properties.keys():
if "duration" in name.lower() or "zeit" in name.lower() or "hours" in name.lower():
print(f" -> Did you mean: '{name}'?")
return
# 2. Try Update
print(f"\n--- Attempting Update of '{target_prop_name}' ---")
current_val = properties[target_prop_name].get("number") or 0.0
print(f"Current Value: {current_val}")
new_val = current_val + 0.01
print(f"Updating to: {new_val}")
update_payload = {
"properties": {
target_prop_name: {"number": new_val}
}
}
patch_resp = requests.patch(url, headers=headers, json=update_payload)
if patch_resp.status_code == 200:
print("✅ Update Successful!")
print(f"New Value on Server: {patch_resp.json()['properties'][target_prop_name].get('number')}")
else:
print(f"❌ Update Failed: {patch_resp.status_code}")
print(patch_resp.text)
if __name__ == "__main__":
debug_notion()