개정판 660148be
issue #563: fix second runs sorting
Change-Id: I2a56165a49e4865e0495515c238557f6211209f5
DTI_PID/DTI_PID/LineNoTracer.py | ||
---|---|---|
796 | 796 |
for fixed_run_info in fixed_run_infos: |
797 | 797 |
fixed_run = fixed_run_info.run |
798 | 798 |
if len(waiting_run.items) > 1 and len(fixed_run.items) > 1: |
799 |
# waiting_run and fix_run have items more than 2 |
|
799 | 800 |
if waiting_run.items[0].is_connected(fixed_run.items[0]): |
800 | 801 |
waiting_run_info.reverse() |
801 | 802 |
fixed_run_infos.append(waiting_run_info) |
... | ... | |
817 | 818 |
else: |
818 | 819 |
remain_count += 1 |
819 | 820 |
elif len(fixed_run.items) > 1: |
821 |
# waiting_run is single line |
|
820 | 822 |
if waiting_run.items[0].connectors[0].connectedItem is fixed_run.items[0]: |
821 | 823 |
waiting_run_info.reverse() |
822 | 824 |
fixed_run_infos.append(waiting_run_info) |
... | ... | |
838 | 840 |
else: |
839 | 841 |
remain_count += 1 |
840 | 842 |
else: |
841 |
if waiting_run.items[0].connectors[0].connectedItem is fixed_run.items[0] and fixed_run.items[0].connectors[0].connectedItem is waiting_run.items[0]:
|
|
843 |
if waiting_run.items[0].is_connected(fixed_run.items[0]) and fixed_run.items[0].connectors[0].connectedItem is waiting_run.items[0]:
|
|
842 | 844 |
waiting_run.reverse() |
843 | 845 |
fixed_run_infos.append(waiting_run_info) |
844 | 846 |
waiting_run_infos.pop(run_index) |
845 | 847 |
break |
846 |
elif waiting_run.items[0].connectors[0].connectedItem is fixed_run.items[0] and fixed_run.items[0].connectors[1].connectedItem is waiting_run.items[0]:
|
|
848 |
elif waiting_run.items[0].is_connected(fixed_run.items[0]) and fixed_run.items[0].connectors[1].connectedItem is waiting_run.items[0]:
|
|
847 | 849 |
fixed_run_infos.append(waiting_run_info) |
848 | 850 |
waiting_run_infos.pop(run_index) |
849 | 851 |
break |
850 |
elif waiting_run.items[0].connectors[1].connectedItem is fixed_run.items[0] and fixed_run.items[0].connectors[1].connectedItem is waiting_run.items[0]:
|
|
852 |
elif waiting_run.items[0].is_connected(fixed_run.items[0]) and fixed_run.items[0].connectors[1].connectedItem is waiting_run.items[0]:
|
|
851 | 853 |
waiting_run.reverse() |
852 | 854 |
fixed_run_infos.append(waiting_run_info) |
853 | 855 |
waiting_run_infos.pop(run_index) |
854 | 856 |
break |
855 |
elif waiting_run.items[0].connectors[1].connectedItem is fixed_run.items[0] and fixed_run.items[0].connectors[0].connectedItem is waiting_run.items[0]:
|
|
857 |
elif waiting_run.items[0].is_connected(fixed_run.items[0]) and fixed_run.items[0].connectors[0].connectedItem is waiting_run.items[0]:
|
|
856 | 858 |
fixed_run_infos.append(waiting_run_info) |
857 | 859 |
waiting_run_infos.pop(run_index) |
858 | 860 |
break |
... | ... | |
867 | 869 |
fixed_merged_run_infos = [] |
868 | 870 |
waiting_mergerd_run_infos = [] |
869 | 871 |
for index1 in range(len(waiting_run_infos)): |
870 |
if waiting_run_info[index1].consumed: |
|
872 |
if waiting_run_infos[index1].consumed:
|
|
871 | 873 |
continue |
872 | 874 |
for index2 in range(len(waiting_run_infos)): |
873 |
if index1 == index2 or waiting_run_info[index2].consumed: |
|
875 |
if index1 == index2 or waiting_run_infos[index2].consumed:
|
|
874 | 876 |
continue |
875 | 877 |
|
876 |
result, merged_run, header = QEngineeringLineTracerRunItem.merge_if_possible(waiting_run_info[index1], waiting_run_info[index2])
|
|
878 |
result, merged_run, header = QEngineeringLineTracerRunItem.merge_if_possible(waiting_run_infos[index1], waiting_run_infos[index2])
|
|
877 | 879 |
if result: |
878 |
waiting_run_info[index1].consumed = True |
|
879 |
waiting_run_info[index2].consumed = True |
|
880 |
waiting_run_infos[index1].consumed = True
|
|
881 |
waiting_run_infos[index2].consumed = True
|
|
880 | 882 |
if header: |
881 | 883 |
waiting_mergerd_run_infos.append([index2, index1], merged_run) |
882 | 884 |
else: |
... | ... | |
885 | 887 |
|
886 | 888 |
while False: |
887 | 889 |
for index in range(len(waiting_run_infos)): |
888 |
if waiting_run_info[index].consumed: |
|
890 |
if waiting_run_infos[index].consumed:
|
|
889 | 891 |
continue |
890 | 892 |
|
891 | 893 |
for waiting_mergerd_run_info in waiting_mergerd_run_infos: |
892 |
result, merged_run, header = QEngineeringLineTracerRunItem.merge_if_possible(waiting_mergerd_run_info[1], waiting_run_info[index1]) |
|
894 |
result, merged_run, header = QEngineeringLineTracerRunItem.merge_if_possible(waiting_mergerd_run_info[1], waiting_run_infos[index1])
|
|
893 | 895 |
if result: |
894 |
waiting_run_info[index].consumed = True |
|
896 |
waiting_run_infos[index].consumed = True
|
|
895 | 897 |
if header: |
896 | 898 |
waiting_mergerd_run_infos.append(waiting_mergerd_run_info[0].insert(0, index), merged_run) |
897 | 899 |
else: |
내보내기 Unified diff