upload to kitsu
This commit is contained in:
+71
-19
@@ -116,7 +116,10 @@ class Kitsu(Tracker):
|
||||
return gazu.shot.all_episodes_for_project(project)
|
||||
|
||||
def get_task_type(self, task_type=None):
|
||||
print('get_task_type', task_type)
|
||||
task_type_id = self.get_id(task_type)
|
||||
if task_type_id:
|
||||
return task_type_id
|
||||
|
||||
return gazu.task.get_task_type_by_name(task_type)
|
||||
|
||||
def get_shot_task_types(self, project=None):
|
||||
@@ -192,17 +195,32 @@ class Kitsu(Tracker):
|
||||
entity = self.get_id(entity)
|
||||
|
||||
task_type = self.get_task_type(task)
|
||||
|
||||
print('task_type', task_type)
|
||||
print('task_type', task_type)
|
||||
|
||||
task = gazu.task.get_task_by_name(entity, task_type)
|
||||
|
||||
if not task:
|
||||
return
|
||||
#task = gazu.task.get_task(task['id'])
|
||||
|
||||
task['last_comment'] = self.get_last_comment(task)
|
||||
|
||||
return task
|
||||
|
||||
def new_preview(self, task, comment, preview, set_main_preview=False):
|
||||
#print('new_preview', task, comment, preview, set_main_preview)
|
||||
|
||||
task = self.get_id(task)
|
||||
comment = self.get_id(comment)
|
||||
|
||||
preview_data = gazu.task.add_preview(
|
||||
task=task,
|
||||
comment=comment,
|
||||
preview_file_path=preview )
|
||||
|
||||
if set_main_preview:
|
||||
gazu.task.set_main_preview(preview_data)
|
||||
|
||||
return preview_data
|
||||
|
||||
def new_comment(self, task, status=None, comment='', preview=None, set_main_preview=False):
|
||||
#task = self.get_task(task)
|
||||
|
||||
@@ -213,26 +231,24 @@ class Kitsu(Tracker):
|
||||
else:
|
||||
status = self.get_task_status(status)
|
||||
|
||||
|
||||
|
||||
comment = gazu.task.add_comment(
|
||||
task=task,
|
||||
task_status=status,
|
||||
comment=comment )
|
||||
|
||||
if preview:
|
||||
logging.info(f'Adding Preview to Kitsu {preview}')
|
||||
preview = self.add_preview(
|
||||
#logging.info(f'Adding Preview to Kitsu {preview}')
|
||||
preview = self.new_preview(
|
||||
task=task,
|
||||
comment=comment,
|
||||
preview=str(preview) )
|
||||
|
||||
if set_main_preview:
|
||||
gazu.task.set_main_preview(preview)
|
||||
|
||||
preview=str(preview),
|
||||
set_main_preview=set_main_preview )
|
||||
|
||||
return comment
|
||||
|
||||
def remove_comment(self, comment):
|
||||
return gazu.task.remove_comment(comment)
|
||||
|
||||
def download_preview(self, preview_id, filepath):
|
||||
if isinstance(filepath, str):
|
||||
filepath = Path(filepath)
|
||||
@@ -243,6 +259,12 @@ class Kitsu(Tracker):
|
||||
filepath.parent.mkdir(parents=True, exist_ok=True)
|
||||
gazu.files.download_preview_file_thumbnail(preview_id, filepath.as_posix())
|
||||
|
||||
def new_task(self, entity, task_type, status=None, project=None):
|
||||
task_type = self.get_task_type(task_type)
|
||||
if status:
|
||||
status = self.get_task_status(status)
|
||||
return gazu.task.new_task(entity, task_type=task_type, task_status=status)
|
||||
|
||||
def new_sequence(self, sequence, episode=None, project=None):
|
||||
project = self.get_project(project)
|
||||
|
||||
@@ -254,7 +276,7 @@ class Kitsu(Tracker):
|
||||
return gazu.shot.new_sequence(**params)
|
||||
|
||||
def new_shot(self, shot, sequence, nb_frames=None, frame_in=None,
|
||||
frame_out=None, description='', custom_data=None, project=None):
|
||||
frame_out=None, description='', custom_data=None, with_tasks=True, project=None):
|
||||
|
||||
project = self.get_project(project)
|
||||
sequence = self.get_sequence(sequence)
|
||||
@@ -273,11 +295,41 @@ class Kitsu(Tracker):
|
||||
params["nb_frames"] = nb_frames
|
||||
|
||||
shot = self.get_shot(shot=shot, sequence=sequence)
|
||||
if shot:
|
||||
return shot
|
||||
else:
|
||||
if not shot:
|
||||
path = f"data/projects/{self.get_id(project)}/shots"
|
||||
return gazu.client.post(path, params)
|
||||
shot = gazu.client.post(path, params)
|
||||
|
||||
if with_tasks:
|
||||
for task_type in self.get_shot_task_types(project=project):
|
||||
self.new_task(shot, task_type)
|
||||
|
||||
return shot
|
||||
|
||||
def update_data(self, entity, data, name=None, description=None, frames=None, clear=False):
|
||||
if isinstance(entity, dict):
|
||||
entity_id = entity['id']
|
||||
else:
|
||||
entity_id = self.get_id(entity)
|
||||
entity = gazu.client.fetch_one('entities', entity_id)
|
||||
|
||||
if data.get('custom_data'):
|
||||
data['data'] = data.pop('custom_data')
|
||||
|
||||
if name:
|
||||
entity['name'] = name
|
||||
if description:
|
||||
entity['description'] = description
|
||||
if frames:
|
||||
entity['nb_frames'] = frames
|
||||
|
||||
if clear or not entity['data']:
|
||||
entity['data'] = data
|
||||
else:
|
||||
entity['data'].update(data)
|
||||
|
||||
entity_data = gazu.client.put(f"data/entities/{entity_id}", entity)
|
||||
|
||||
return entity_data['data']
|
||||
|
||||
def draw_prefs(self, layout):
|
||||
layout.prop(self, 'url', text='Url')
|
||||
|
||||
Reference in New Issue
Block a user