Package: wh2api2
Wormhole API for python업데이트 내용1.0.1 (wormhole_version : 1.4.0)하위 python 2.7에서 대응이 가능하도록 모듈의 import방식변경기존에 모듈 import끼리 충돌 현상 발생으로 변경Wh클래스 이름 login으로 변경wh2api.wh.Login(url,id,pw)형태로 변경project.read에서 조회 버그 수정1.0.2 (wormhole_version : 1.5.0)관리를 위한 로직을 변경했습니다. (일반사용자는 변경 되는 부분 없음)api_list 추가requests 모듈 한군데에서 작동되도록 변경Task idx만으로 Task의 상세 데이터 조회가 가능해졌습니다.wh2api.shot_task.read(task_idx)wh2api.asset_task.read(task_idx)version업로드 시 등록 할 수 있는 옵션이 추가되었습니다.Description 추가cc옵션 추가metadata 옵션 추가1개의 버전에 여러개의 파일을 업로드 할 수 있습니다.version_path에 list[]형태로 입력해 줍니다.version_path의 첫번째 version은 화면에 가장 처음 표시됩니다.thumbnail_up이름을 thumbnail_update로 변경shot / Asset의 썸네일 업데이트시 함수명이 변경되었습니다.publish APi 추가publish_path의 유효성 검사를 진행 합니다.필수 입력은 (Task_idx,which,version_idx,Task_Status_idx,Version_status_idx,Publish_path_list)사용방법 (v1.0.1)1. install웜홀 api는 python3이상에서 원활하게 작동 됩니다.
pip의 최신버전으로 업데이트 후 설치 하시기 바랍니다.pipinstall--upgradepippip패키지 install(필수)pipinstallwh2api#웜홀 APIpipinstallrequestspipinstalljson3. 패키지 importfromwh2apiimportwhimportwh2api4. 모듈 첫사용시wh.login('http://host','id','pw')#로그인 성공시 whtoken을 "Login.whtoken"라는 클래스 변수로 가지고 있음5. projectproject.listwh2api.project.list(finished="")# finished = '1' 끝난 프로젝트도 조회# 웜홀에 있는 모든 프로젝트를 조회project.readwh2api.project.read(project_idx)#Porject의 상세 내용 조회#버전업 및 퍼블리시 저장 경로 조회#진행 상황 조회6. episodeepisode.listwh2api.episode.list(project_idx)#프로젝트 내부 에피소드 리스트 조회episode.createwh2api.episode.create(project_idx,episode_name,description="")#에피소드 생성7. sequencelistwh2api.sequence.list(project_idx,episode_idx)#에피소드 내부 시퀀스 리스트 조회create
wh.sequence.create(project_idx,episode_idx,sequence_name,description="")
#시퀀스 생성8. shotlistwh2api.shot.list(project_idx,episode_idx,sequence_idx)#시퀀스 내부 샷 리스트 조회readwh2api.shot.read(project_idx,shot_idx)#특정 샷의 세부내용 조회createwh2api.shot.create(project_idx,episode_idx,sequence_idx,shot_name,description="",status_idx="1")#샷 생성#status_idx 비어있을때 기본값 1번thumbnail_updatewh2api.shot.thumbnail_update(project_idx,shot_idx,thumbnail_path)#특정샷의 썸네일 업로드#Thubmnail_path 입력시 윈도우는 'r'을 붙혀서 업로드 해야 오류 없음#ex) r'H:\c2mosnter\test.jpg'#지원 포맷 *.jpg, *.pngoverviewwh2api.shot.overview(project_idx,episode_idx="")#overview페이지 조회#episode가 비어있는경우 프로젝트 전체조회relationwh2api.shot.relation(project_idx,episode_idx)#샷에 연관된 에셋의 목록 조회#웜홀의 Relation페이지 연동9. shot_Tasklistwh2api.shot_task.list(project_idx,shot_idx)#샷 내부의 Task조회createwh2api.shot_task.create(project_idx,shot_idx,tasktype_name)#샷내부에 Task 생성#중복 될경우 에러 발생status_changewh2api.shot_task.status_change(project_idx,task_idx,status_idx)#특정 Task의 Task Staus를 변경startwh2api.shot_task.start(project_idx,task_idx)#Task Start(MyTask>Todo)stopwh2api.shot_task.stop(project_idx,task_idx)#Task Stop(MyTask>Todo)10. categorylistwh2api.category.list(project_idx)#프로젝트 내부에 Asset의 Category조회createwh2api.category.create(project_idx,category_name,description="")#Category생성11. Assetlistwh2api.asset.list(project_idx,category_idx)#특정 Category의 Asset 조회createwh2api.asset.create(project_idx,category_idx,asset_name,description="",status_idx="1")#Asset생성thumbnail_updatewh2api.asset.thumbnail_update(project_idx,asset_idx,thumbnail_path)#특정 Asset의 썸네일 업로드#Thubmnail_path 입력시 윈도우는 'r'을 붙혀서 업로드 해야 오류 없음#ex) r'H:\c2mosnter\test.jpg'#지원 포맷 *.jpg, *.pngoverviewwh2api.asset.overview(project_idx,category_idx="")#Asset Overview조회12. asset_Tasklistwh2api.asset_task.list(project_idx,asset_idx)#에셋 내부의 Task조회createwh2api.asset_task.create(project_idx,asset_idx,tasktype_name)#에셋내부에 Task 생성#중복 될경우 에러 발생status_changewh2api.asset_task.status_change(project_idx,task_idx,status_idx)#특정 Task의 Task Staus를 변경startwh2api.asset_task.start(project_idx,task_idx)#Task Start(MyTask>Todo)stopwh2api.asset_task.stop(project_idx,task_idx)#Task Stop(MyTask>Todo)13. versionkeywh2api.version.key(task_idx,which='shot or asset')#특정 Task의 Key를 얻어내는 함수#Version_key생성key_readwh2api.version.key_read(version_key)#Version_key 정보 조회createwh2api.version.create(task_idx='',which='shot or asset',version_name='',task_status_idx='',version_status_idx='',reviewer_user_idx='',hour_spent='',version_path=[],metadata=[],description="",cc_user_idx='',thumbnail_path=""):# 윈도우의경우 version Path입력시 'r'을 입력#ex) version_path = r'c:\\c2monster\test.mov'# 지원 *.mp4# 서버에서 컨버팅 하는 과정이 없기때문에 업로드하는 버전의 용량이 클 경우 플레이가 안될 수 있음#참조 인원 cc_user_idx=[1,2,3]# #version_path와 metadata의 리스트의 개수와 순서는 같아야 합니다.# version_path = ['a','b','c']# metadata = ['a_meta','b_meta','c_meta']14. userlistwh2api.user.list()#웜홀에 가입되있는 유저 조회15. teamlistwh2api.team.list()#Team의 목록 조회user_listwh2api.team.user_list(team_idx)#선택한 Team안에 있는 User조회16. mytasktodowh2api.mytask.todo(observed_user_idx="")#observed_user_idx가 공백인경우 본인#observed_user_idx에 User_idx를 추가할 경우 해당 인원의 MyTask조회inprogresswh2api.mytask.inprogress(last="")#last입력시 마지막 버전만 조회donewh2api.mytask.done()#끝난Task조회ccwh2api.mytask.cc(last="")#last입력시 마지막 버전만 조회17. orgreadwh2api.org.read(org_id='std')#std가 기본값임#System information 정보 조회 가능18. publishkeywh2api.publish.key(task_idx,which='shot or asset')#which는 'shot' 또는 'asset'이라고 입력 합니다.key_readwh2api.publish.key_read(publish_key)#퍼블리시키의 상세정보 조회#퍼블리시 생성시 사용createwh2api.publish.create(task_idx='',which='shot or asset',version_idx='',publish_name='',task_status_idx='',version_status_idx='',publish_path=[],description='',tag=''):#필수 입력값 : Task_idx,which,version_idx,Task_Status_idx,Version_status_idx,Publish_path#publish_Path는 유효성 겁사를 진행, 해당경로에 파일이나 폴더가 없다면 리스트에서 제외한 후 진행합니다.# publish_path의 유효성 검사 중, 한개의 파일 또는 폴더가 없다면 프로세스는 종료 됩니다.c2monsterc2monster는 영화 드라마 제작을 위한 소프트웨어를 개발하는 회사 입니다.wormholehttp://wormholepipeline.comE-mail :wfjo852@c2monster.com,contact@c2monster.com