2025-12-01

This commit is contained in:
2026-03-17 14:58:51 -06:00
parent 183e865f8b
commit 4b82b57113
6846 changed files with 954887 additions and 162606 deletions
@@ -0,0 +1,27 @@
# SPDX-FileCopyrightText: 2021 Blender Studio Tools Authors
#
# SPDX-License-Identifier: GPL-3.0-or-later
import importlib
from ..tasks import ops, ui
# ---------REGISTER ----------
def reload():
global ops
global ui
ops = importlib.reload(ops)
ui = importlib.reload(ui)
def register():
ops.register()
ui.register()
def unregister():
ui.unregister()
ops.unregister()
+60
View File
@@ -0,0 +1,60 @@
# SPDX-FileCopyrightText: 2021 Blender Studio Tools Authors
#
# SPDX-License-Identifier: GPL-3.0-or-later
from typing import Dict, List, Set, Optional, Tuple, Any
from .. import tasks
import bpy
import gazu
from .. import cache, prefs, util
from ..tasks import opsdata
from ..logger import LoggerFactory
logger = LoggerFactory.getLogger()
class KITSU_OT_tasks_user_laod(bpy.types.Operator):
"""
Gets all tasks that the current logged in user is assgined to
"""
bl_idname = "kitsu.tasks_user_laod"
bl_label = "Tasks Load"
bl_property = "enum_prop"
@classmethod
def poll(cls, context: bpy.types.Context) -> bool:
return prefs.session_auth(context)
def execute(self, context: bpy.types.Context) -> Set[str]:
addon_prefs = prefs.addon_prefs_get(context)
tasks_coll_prop = addon_prefs.tasks
active_user = cache.user_active_get()
# load tasks this also updates the collection property
cache.load_user_all_tasks(context)
util.ui_redraw()
self.report(
{"INFO"},
f"Fetched {len(tasks_coll_prop.items())} tasks for {active_user.full_name}",
)
return {"FINISHED"}
# ---------REGISTER ----------
classes = [KITSU_OT_tasks_user_laod]
def register():
for cls in classes:
bpy.utils.register_class(cls)
def unregister():
for cls in reversed(classes):
bpy.utils.unregister_class(cls)
@@ -0,0 +1,12 @@
# SPDX-FileCopyrightText: 2021 Blender Studio Tools Authors
#
# SPDX-License-Identifier: GPL-3.0-or-later
from typing import Any, Dict, List, Tuple, Union
from pathlib import Path
import bpy
from ..logger import LoggerFactory
logger = LoggerFactory.getLogger()
+90
View File
@@ -0,0 +1,90 @@
# SPDX-FileCopyrightText: 2021 Blender Studio Tools Authors
#
# SPDX-License-Identifier: GPL-3.0-or-later
from pathlib import Path
import bpy
from .. import prefs, cache
from .ops import KITSU_OT_tasks_user_laod
# from ..tasks.ops import KITSU_OT_session_end, KITSU_OT_session_start
class KITSU_PT_tasks_user(bpy.types.Panel):
bl_category = "Kitsu"
bl_label = "Tasks"
bl_space_type = "VIEW_3D"
bl_region_type = "UI"
bl_order = 45
bl_options = {"DEFAULT_CLOSED"}
@classmethod
def poll(cls, context: bpy.types.Context) -> bool:
return prefs.session_auth(context)
def draw(self, context: bpy.types.Context) -> None:
layout = self.layout
addon_prefs = prefs.addon_prefs_get(context)
tasks_coll_prop = addon_prefs.tasks
active_user = cache.user_active_get()
split_factor = 0.225
split_factor_small = 0.95
box = layout.box()
row = box.row(align=True)
row.label(text=active_user.full_name, icon="CHECKBOX_HLT")
# Detect Context
row.operator(
KITSU_OT_tasks_user_laod.bl_idname,
icon="FILE_REFRESH",
text="",
emboss=False,
)
# uilist
row = box.row(align=True)
row.template_list(
"KITSU_UL_tasks_user",
"",
addon_prefs,
"tasks",
context.window_manager.kitsu,
"tasks_index",
rows=5,
type="DEFAULT",
)
class KITSU_UL_tasks_user(bpy.types.UIList):
def draw_item(
self, context, layout, data, item, icon, active_data, active_propname, index
):
task_id = item.id
entity_id = item.entity_id
entity_name = item.entity_name
task_type_id = item.task_type_id
task_type_name = item.task_type_name
if self.layout_type in {"DEFAULT", "COMPACT"}:
layout.label(text=f"{entity_name} {task_type_name}")
elif self.layout_type in {"GRID"}:
layout.alignment = "CENTER"
layout.label(text=f"{entity_name} {task_type_name}")
# ---------REGISTER ----------
classes = [KITSU_UL_tasks_user, KITSU_PT_tasks_user]
def register():
for cls in classes:
bpy.utils.register_class(cls)
def unregister():
for cls in reversed(classes):
bpy.utils.unregister_class(cls)