import sys
import os
import csv
import cri.atomcraft.debug as acdebug
import cri.atomcraft.project as acproject
csv_path = os.path.dirname(os.path.dirname(__file__)) + '/tutorial_data/tutorial_data03/tutorial_data3.csv'
if os.path.isfile(csv_path) == False:
acdebug.warning("CSV ファイルが見つかりません: " + csv_path)
sys.exit()
registered_cue_name_list = []
workunit = acproject.get_workunit("WorkUnit_Tutorial")["data"]
cuesheet_rootfolder = acproject.get_cuesheet_rootfolder(workunit)["data"]
cuesheet_name = os.path.splitext(os.path.basename(csv_path))[0]
cuesheet = acproject.get_child_object(cuesheet_rootfolder, "CueSheet", cuesheet_name)["data"]
cues = acproject.find_objects(cuesheet, "Cue")["data"]
acdebug.log("tutorial_data3.csv からキュー情報を収集しています...")
for cue in cues:
cue_name = acproject.get_value(cue, "Name")["data"]
registered_cue_name_list.append(cue_name)
acdebug.log("tutorial_data3.csv を使ってキューのチェックを行います...")
unregistered_cue_name_list = []
with open(csv_path) as f:
reader = csv.reader(f)
for row in reader:
cue_name = row[1]
if not cue_name in registered_cue_name_list:
unregistered_cue_name_list.append(cue_name)
if len(unregistered_cue_name_list) > 0:
acdebug.warning(cuesheet_name + "に未登録キューがあります")
for cue_name in unregistered_cue_name_list:
acdebug.warning("Cue " + cue_name + "がみつかりません。")
else:
acdebug.log("チェックシートと違いはありません。")
acdebug.log("[チュートリアル]CSV を使った未登録キューのチェック が完了しました。")