Commit feef62e170734a82145c568caa93fb6ca3ba4246
1 parent
f52a79f5
Fix again
Showing
1 changed file
with
39 additions
and
8 deletions
modules/comscripts/comgendb.py
| @@ -160,6 +160,37 @@ class comgendb(ctools.cscript): | @@ -160,6 +160,37 @@ class comgendb(ctools.cscript): | ||
| 160 | # Return relative path | 160 | # Return relative path |
| 161 | return relpath | 161 | return relpath |
| 162 | 162 | ||
| 163 | + def _sorted(self, elements): | ||
| 164 | + """ | ||
| 165 | + Sort list of dict according to 'tjd_start' | ||
| 166 | + | ||
| 167 | + Parameters | ||
| 168 | + ---------- | ||
| 169 | + elements : list of dict | ||
| 170 | + List of dictionary | ||
| 171 | + | ||
| 172 | + Returns | ||
| 173 | + ------- | ||
| 174 | + sorted_elements : list of dict | ||
| 175 | + Sorted list of dictionary | ||
| 176 | + """ | ||
| 177 | + # Set Python version that has sorted function and current | ||
| 178 | + # Python version | ||
| 179 | + req_version = (2,4) | ||
| 180 | + cur_version = sys.version_info | ||
| 181 | + | ||
| 182 | + # If Python version has sorted the use sorted function | ||
| 183 | + if cur_version >= req_version: | ||
| 184 | + sorted_elements = sorted(elements, key=lambda k: k['tjd_start']) | ||
| 185 | + | ||
| 186 | + # ... otherwise use sort() with cmp | ||
| 187 | + else: | ||
| 188 | + sorted_elements = elements | ||
| 189 | + sorted_elements.sort(lambda x,y : cmp(x['tjd_start'], y['tjd_start'])) | ||
| 190 | + | ||
| 191 | + # Return sorted elements | ||
| 192 | + return sorted_elements | ||
| 193 | + | ||
| 163 | def _get_evp_list(self): | 194 | def _get_evp_list(self): |
| 164 | """ | 195 | """ |
| 165 | Get EVP list | 196 | Get EVP list |
| @@ -192,7 +223,7 @@ class comgendb(ctools.cscript): | @@ -192,7 +223,7 @@ class comgendb(ctools.cscript): | ||
| 192 | evp_list.extend(evps) | 223 | evp_list.extend(evps) |
| 193 | 224 | ||
| 194 | # Sort EVP list by start day | 225 | # Sort EVP list by start day |
| 195 | - evp_list.sort(lambda x,y : cmp(x['tjd_start'], y['tjd_start'])) | 226 | + evp_list = self._sorted(evp_list) |
| 196 | 227 | ||
| 197 | # Return EVP list | 228 | # Return EVP list |
| 198 | return evp_list | 229 | return evp_list |
| @@ -274,7 +305,7 @@ class comgendb(ctools.cscript): | @@ -274,7 +305,7 @@ class comgendb(ctools.cscript): | ||
| 274 | evp_list.append(evp_dict) | 305 | evp_list.append(evp_dict) |
| 275 | 306 | ||
| 276 | # Sort EVP list by start day | 307 | # Sort EVP list by start day |
| 277 | - evp_list.sort(lambda x,y : cmp(x['tjd_start'], y['tjd_start'])) | 308 | + evp_list = self._sorted(evp_list) |
| 278 | 309 | ||
| 279 | # Return EVP list | 310 | # Return EVP list |
| 280 | return evp_list | 311 | return evp_list |
| @@ -426,7 +457,7 @@ class comgendb(ctools.cscript): | @@ -426,7 +457,7 @@ class comgendb(ctools.cscript): | ||
| 426 | oad_list.extend(oads) | 457 | oad_list.extend(oads) |
| 427 | 458 | ||
| 428 | # Sort OAD list by start day | 459 | # Sort OAD list by start day |
| 429 | - oad_list.sort(lambda x,y : cmp(x['tjd_start'], y['tjd_start'])) | 460 | + oad_list = self._sorted(oad_list) |
| 430 | 461 | ||
| 431 | # Return OAD list | 462 | # Return OAD list |
| 432 | return oad_list | 463 | return oad_list |
| @@ -488,7 +519,7 @@ class comgendb(ctools.cscript): | @@ -488,7 +519,7 @@ class comgendb(ctools.cscript): | ||
| 488 | oad_list.append(oad_dict) | 519 | oad_list.append(oad_dict) |
| 489 | 520 | ||
| 490 | # Sort OAD list by start day | 521 | # Sort OAD list by start day |
| 491 | - oad_list.sort(lambda x,y : cmp(x['tjd_start'], y['tjd_start'])) | 522 | + oad_list = self._sorted(oad_list) |
| 492 | 523 | ||
| 493 | # Return OAD list | 524 | # Return OAD list |
| 494 | return oad_list | 525 | return oad_list |
| @@ -613,7 +644,7 @@ class comgendb(ctools.cscript): | @@ -613,7 +644,7 @@ class comgendb(ctools.cscript): | ||
| 613 | tim_list.extend(tims) | 644 | tim_list.extend(tims) |
| 614 | 645 | ||
| 615 | # Sort TIM list by start day | 646 | # Sort TIM list by start day |
| 616 | - tim_list.sort(lambda x,y : cmp(x['tjd_start'], y['tjd_start'])) | 647 | + tim_list = self._sorted(tim_list) |
| 617 | 648 | ||
| 618 | # Return TIM list | 649 | # Return TIM list |
| 619 | return tim_list | 650 | return tim_list |
| @@ -675,7 +706,7 @@ class comgendb(ctools.cscript): | @@ -675,7 +706,7 @@ class comgendb(ctools.cscript): | ||
| 675 | tim_list.append(tim_dict) | 706 | tim_list.append(tim_dict) |
| 676 | 707 | ||
| 677 | # Sort TIM list by start day | 708 | # Sort TIM list by start day |
| 678 | - tim_list.sort(lambda x,y : cmp(x['tjd_start'], y['tjd_start'])) | 709 | + tim_list = self._sorted(tim_list) |
| 679 | 710 | ||
| 680 | # Return TIM list | 711 | # Return TIM list |
| 681 | return tim_list | 712 | return tim_list |
| @@ -824,7 +855,7 @@ class comgendb(ctools.cscript): | @@ -824,7 +855,7 @@ class comgendb(ctools.cscript): | ||
| 824 | xml_list.append(xml) | 855 | xml_list.append(xml) |
| 825 | 856 | ||
| 826 | # Sort XML list by start day | 857 | # Sort XML list by start day |
| 827 | - xml_list.sort(lambda x,y : cmp(x['tjd_start'], y['tjd_start'])) | 858 | + xml_list = self._sorted(xml_list) |
| 828 | 859 | ||
| 829 | # Return XML list | 860 | # Return XML list |
| 830 | return xml_list | 861 | return xml_list |
| @@ -1211,7 +1242,7 @@ class comgendb(ctools.cscript): | @@ -1211,7 +1242,7 @@ class comgendb(ctools.cscript): | ||
| 1211 | oads.append(oad) | 1242 | oads.append(oad) |
| 1212 | 1243 | ||
| 1213 | # Sort OAD list by start day | 1244 | # Sort OAD list by start day |
| 1214 | - oads.sort(lambda x,y : cmp(x['tjd_start'], y['tjd_start'])) | 1245 | + oads = self._sorted(oads) |
| 1215 | 1246 | ||
| 1216 | # Return OADs | 1247 | # Return OADs |
| 1217 | return oads | 1248 | return oads |