trustcafe-api-wrapper/testing.py
simonwt c5d074d178 Todo
Make comments
2026-03-31 20:04:08 +01:00

100 lines
3.2 KiB
Python

"""
Demonstrate basic usage
"""
from apiclient import APIClient
import os, simplejson as json
# Handle environment variables
from dotenv import load_dotenv
load_dotenv()
if not os.getenv("client_id") or not os.getenv("client_secret"):
raise Exception("Please set client_id and client_secret in your environment variables.")
# Initialize API client with credentials from environment variables
API = APIClient(
client_id=os.getenv("client_id"),
client_secret=os.getenv("client_secret"),
debug=True
)
# Keep a token cache to avoid unnecessary sign-ins during development.
# (In production, you'd handle this more robustly and securely)
if os.path.exists("token_data.json"):
with open("token_data.json", "r") as f:
token_data = json.load(f)
API.set_token(token_data)
# Get a new one if we don't have one or if the existing one is expired
if not API.is_token_valid():
tokendata = API.sign_in()
with open("token_data.json", "w") as f:
json.dump(tokendata, f, indent=4)
# print("-----------Get a user profile----------------")
# profile = API.run_job('userprofile.get', "simon-little")
# print(profile)
# print("-------------- Get a branch -----------------")
# branch = API.run_job('branch.get', "music")
# print(branch)
# print("-------------- Get a post -------------------")
# post = API.run_job('post.get', "1774951384-98fe38df")
# print(post)
# print("-----------------------------")
# feed = API.run_job('post.listbybranch', "music")
# print(feed)
# print("-----------------------------")
# feed = API.run_job('post.listbyuserprofile', "simon-little")
# print(feed)
# print("-----------------------------")
# post = API.run_job('post.create', {
# "blurLabel": None,
# "cardUrl": None,
# "postText": "This is a test post created via the API wrapper.",
# "collaborative": False,
# "parent": {
# "pk": "maintrunk#maintrunk",
# "sk": "maintrunk#maintrunk"
# }
# })
# print(post)
# print("-----------------------------")
# post = API.run_job('comment.create', {
# "blurLabel": None,
# "commentText": "This is a test comment created via the API wrapper.",
# "parent": {
# "pk": "maintrunk#maintrunk",
# "sk": "post#1774951384-98fe38df",
# "slug": "1774951384-98fe38df"
# },
# "topLevel": {
# "pk": "maintrunk#maintrunk",
# "sk": "post#1774951384-98fe38df"
# },
# "version": 3
# })
# print(post)
# print("-----------------------------")
# feed = API.run_job('comment.listtbypostid', "1774951384-98fe38df")
# print(feed)
# print("-----------------------------")
# x = 1
# while x <= 20:
# post = API.run_job('comment.create', {
# "blurLabel": None,
# "commentText": f"Making loads of comment #{x}",
# "parent": {
# "pk": "maintrunk#maintrunk",
# "sk": "post#1774951384-98fe38df",
# "slug": "1774951384-98fe38df"
# },
# "topLevel": {
# "pk": "maintrunk#maintrunk",
# "sk": "post#1774951384-98fe38df"
# },
# "version": 3
# })
# print(post)
# x += 1
# print("-----------------------------")