개정판 191b4efb
issue #563: fourth step on going
Change-Id: I1b572403c5c83ac2c11217fe1ec1f7195df5b3bd
DTI_PID/DTI_PID/LineNoTracer.py | ||
---|---|---|
1001 | 1001 |
break |
1002 | 1002 |
|
1003 | 1003 |
# fixed run merge |
1004 |
''' |
|
1004 | 1005 |
consumed_count_past = 0 |
1006 |
for index1 in range(len(fixed_run_infos)): |
|
1007 |
if fixed_run_infos[index1].consumed: |
|
1008 |
continue |
|
1009 |
for index2 in range(len(fixed_run_infos)): |
|
1010 |
if index1 == index2 or fixed_run_infos[index2].consumed: |
|
1011 |
continue |
|
1012 |
|
|
1013 |
result, merged_run_info, header, reverse = QEngineeringLineTracerRunItem.merge_and_sort_if_possible(fixed_run_infos[index1], fixed_run_infos[index2]) |
|
1014 |
if result: |
|
1015 |
fixed_run_infos[index1].consumed = True |
|
1016 |
fixed_run_infos[index2].consumed = True |
|
1017 |
consumed_count_past += 2 |
|
1018 |
if header: |
|
1019 |
waiting_merged_run_infos.append([[fixed_run_infos[index2], fixed_run_infos[index1]], merged_run_info]) |
|
1020 |
else: |
|
1021 |
waiting_merged_run_infos.append([[fixed_run_infos[index1], fixed_run_infos[index2]], merged_run_info]) |
|
1022 |
break |
|
1023 |
|
|
1024 |
while True: |
|
1025 |
consumed_count = 0 |
|
1026 |
for index in range(len(fixed_run_infos)): |
|
1027 |
if fixed_run_infos[index].consumed: |
|
1028 |
consumed_count += 1 |
|
1029 |
continue |
|
1030 |
|
|
1031 |
for waiting_merged_run_info in waiting_merged_run_infos: |
|
1032 |
result, merged_run_info, header, reverse = QEngineeringLineTracerRunItem.merge_and_sort_if_possible(waiting_merged_run_info[1], fixed_run_infos[index]) |
|
1033 |
if result: |
|
1034 |
fixed_run_infos[index].consumed = True |
|
1035 |
consumed_count += 1 |
|
1036 |
if header: |
|
1037 |
waiting_merged_run_info[0].insert(0, fixed_run_infos[index]) |
|
1038 |
waiting_merged_run_info[1] = merged_run_info |
|
1039 |
else: |
|
1040 |
waiting_merged_run_info[0].append(fixed_run_infos[index]) |
|
1041 |
waiting_merged_run_info[1] = merged_run_info |
|
1042 |
break |
|
1005 | 1043 |
|
1044 |
if consumed_count_past == consumed_count: |
|
1045 |
break |
|
1046 |
else: |
|
1047 |
consumed_count_past = consumed_count |
|
1048 |
|
|
1049 |
while True: |
|
1050 |
merged = False |
|
1051 |
for index1 in range(len(waiting_merged_run_infos)): |
|
1052 |
waiting_merged_run_info1 = waiting_merged_run_infos[index1] |
|
1053 |
for index2 in range(len(waiting_merged_run_infos)): |
|
1054 |
if index1 == index2: |
|
1055 |
continue |
|
1056 |
waiting_merged_run_info2 = waiting_merged_run_infos[index2] |
|
1057 |
result, merged_run_info, header, reverse = QEngineeringLineTracerRunItem.merge_and_sort_if_possible(waiting_merged_run_info1[1], waiting_merged_run_info2[1]) |
|
1058 |
if result: |
|
1059 |
if header: |
|
1060 |
if reverse: |
|
1061 |
for waiting_run_info in waiting_merged_run_info2[0]: |
|
1062 |
waiting_run_info.reverse() |
|
1063 |
waiting_merged_run_info2[0].reverse() |
|
1064 |
waiting_merged_run_info2[0].extend(waiting_merged_run_info1[0]) |
|
1065 |
waiting_merged_run_info1[0] = waiting_merged_run_info2[0] |
|
1066 |
waiting_merged_run_info1[1] = merged_run_info |
|
1067 |
else: |
|
1068 |
if reverse: |
|
1069 |
for waiting_run_info in waiting_merged_run_info2[0]: |
|
1070 |
waiting_run_info.reverse() |
|
1071 |
waiting_merged_run_info2[0].reverse() |
|
1072 |
waiting_merged_run_info1[0].extend(waiting_merged_run_info2[0]) |
|
1073 |
waiting_merged_run_info1[1] = merged_run_info |
|
1074 |
merged = True |
|
1075 |
break |
|
1076 |
if merged: |
|
1077 |
waiting_merged_run_infos.pop(index2) |
|
1078 |
break |
|
1079 |
if not merged: |
|
1080 |
break |
|
1081 |
''' |
|
1006 | 1082 |
|
1007 | 1083 |
except Exception as ex: |
1008 | 1084 |
from App import App |
내보내기 Unified diff