Best Python code snippet using lemoncheesecake
many-actions.gyp
Source:many-actions.gyp
1# Copyright (c) 2012 Google Inc. All rights reserved.2# Use of this source code is governed by a BSD-style license that can be3# found in the LICENSE file.4{5 'target_defaults': {6 'msvs_cygwin_dirs': ['../../../../<(DEPTH)/third_party/cygwin'],7 },8 'targets': [9 {10 'target_name': 'a',11 'type': 'none',12 'actions': [13 {14 'action_name': 'do_0',15 'inputs': [],16 'outputs': ['<(PRODUCT_DIR)/generated_0.h'],17 'action': [18 'touch',19 '<(PRODUCT_DIR)/generated_0.h',20 ],21 },22 {23 'action_name': 'do_1',24 'inputs': [],25 'outputs': ['<(PRODUCT_DIR)/generated_1.h'],26 'action': [27 'touch',28 '<(PRODUCT_DIR)/generated_1.h',29 ],30 },31 {32 'action_name': 'do_2',33 'inputs': [],34 'outputs': ['<(PRODUCT_DIR)/generated_2.h'],35 'action': [36 'touch',37 '<(PRODUCT_DIR)/generated_2.h',38 ],39 },40 {41 'action_name': 'do_3',42 'inputs': [],43 'outputs': ['<(PRODUCT_DIR)/generated_3.h'],44 'action': [45 'touch',46 '<(PRODUCT_DIR)/generated_3.h',47 ],48 },49 {50 'action_name': 'do_4',51 'inputs': [],52 'outputs': ['<(PRODUCT_DIR)/generated_4.h'],53 'action': [54 'touch',55 '<(PRODUCT_DIR)/generated_4.h',56 ],57 },58 {59 'action_name': 'do_5',60 'inputs': [],61 'outputs': ['<(PRODUCT_DIR)/generated_5.h'],62 'action': [63 'touch',64 '<(PRODUCT_DIR)/generated_5.h',65 ],66 },67 {68 'action_name': 'do_6',69 'inputs': [],70 'outputs': ['<(PRODUCT_DIR)/generated_6.h'],71 'action': [72 'touch',73 '<(PRODUCT_DIR)/generated_6.h',74 ],75 },76 {77 'action_name': 'do_7',78 'inputs': [],79 'outputs': ['<(PRODUCT_DIR)/generated_7.h'],80 'action': [81 'touch',82 '<(PRODUCT_DIR)/generated_7.h',83 ],84 },85 {86 'action_name': 'do_8',87 'inputs': [],88 'outputs': ['<(PRODUCT_DIR)/generated_8.h'],89 'action': [90 'touch',91 '<(PRODUCT_DIR)/generated_8.h',92 ],93 },94 {95 'action_name': 'do_9',96 'inputs': [],97 'outputs': ['<(PRODUCT_DIR)/generated_9.h'],98 'action': [99 'touch',100 '<(PRODUCT_DIR)/generated_9.h',101 ],102 },103 {104 'action_name': 'do_10',105 'inputs': [],106 'outputs': ['<(PRODUCT_DIR)/generated_10.h'],107 'action': [108 'touch',109 '<(PRODUCT_DIR)/generated_10.h',110 ],111 },112 {113 'action_name': 'do_11',114 'inputs': [],115 'outputs': ['<(PRODUCT_DIR)/generated_11.h'],116 'action': [117 'touch',118 '<(PRODUCT_DIR)/generated_11.h',119 ],120 },121 {122 'action_name': 'do_12',123 'inputs': [],124 'outputs': ['<(PRODUCT_DIR)/generated_12.h'],125 'action': [126 'touch',127 '<(PRODUCT_DIR)/generated_12.h',128 ],129 },130 {131 'action_name': 'do_13',132 'inputs': [],133 'outputs': ['<(PRODUCT_DIR)/generated_13.h'],134 'action': [135 'touch',136 '<(PRODUCT_DIR)/generated_13.h',137 ],138 },139 {140 'action_name': 'do_14',141 'inputs': [],142 'outputs': ['<(PRODUCT_DIR)/generated_14.h'],143 'action': [144 'touch',145 '<(PRODUCT_DIR)/generated_14.h',146 ],147 },148 {149 'action_name': 'do_15',150 'inputs': [],151 'outputs': ['<(PRODUCT_DIR)/generated_15.h'],152 'action': [153 'touch',154 '<(PRODUCT_DIR)/generated_15.h',155 ],156 },157 {158 'action_name': 'do_16',159 'inputs': [],160 'outputs': ['<(PRODUCT_DIR)/generated_16.h'],161 'action': [162 'touch',163 '<(PRODUCT_DIR)/generated_16.h',164 ],165 },166 {167 'action_name': 'do_17',168 'inputs': [],169 'outputs': ['<(PRODUCT_DIR)/generated_17.h'],170 'action': [171 'touch',172 '<(PRODUCT_DIR)/generated_17.h',173 ],174 },175 {176 'action_name': 'do_18',177 'inputs': [],178 'outputs': ['<(PRODUCT_DIR)/generated_18.h'],179 'action': [180 'touch',181 '<(PRODUCT_DIR)/generated_18.h',182 ],183 },184 {185 'action_name': 'do_19',186 'inputs': [],187 'outputs': ['<(PRODUCT_DIR)/generated_19.h'],188 'action': [189 'touch',190 '<(PRODUCT_DIR)/generated_19.h',191 ],192 },193 {194 'action_name': 'do_20',195 'inputs': [],196 'outputs': ['<(PRODUCT_DIR)/generated_20.h'],197 'action': [198 'touch',199 '<(PRODUCT_DIR)/generated_20.h',200 ],201 },202 {203 'action_name': 'do_21',204 'inputs': [],205 'outputs': ['<(PRODUCT_DIR)/generated_21.h'],206 'action': [207 'touch',208 '<(PRODUCT_DIR)/generated_21.h',209 ],210 },211 {212 'action_name': 'do_22',213 'inputs': [],214 'outputs': ['<(PRODUCT_DIR)/generated_22.h'],215 'action': [216 'touch',217 '<(PRODUCT_DIR)/generated_22.h',218 ],219 },220 {221 'action_name': 'do_23',222 'inputs': [],223 'outputs': ['<(PRODUCT_DIR)/generated_23.h'],224 'action': [225 'touch',226 '<(PRODUCT_DIR)/generated_23.h',227 ],228 },229 {230 'action_name': 'do_24',231 'inputs': [],232 'outputs': ['<(PRODUCT_DIR)/generated_24.h'],233 'action': [234 'touch',235 '<(PRODUCT_DIR)/generated_24.h',236 ],237 },238 {239 'action_name': 'do_25',240 'inputs': [],241 'outputs': ['<(PRODUCT_DIR)/generated_25.h'],242 'action': [243 'touch',244 '<(PRODUCT_DIR)/generated_25.h',245 ],246 },247 {248 'action_name': 'do_26',249 'inputs': [],250 'outputs': ['<(PRODUCT_DIR)/generated_26.h'],251 'action': [252 'touch',253 '<(PRODUCT_DIR)/generated_26.h',254 ],255 },256 {257 'action_name': 'do_27',258 'inputs': [],259 'outputs': ['<(PRODUCT_DIR)/generated_27.h'],260 'action': [261 'touch',262 '<(PRODUCT_DIR)/generated_27.h',263 ],264 },265 {266 'action_name': 'do_28',267 'inputs': [],268 'outputs': ['<(PRODUCT_DIR)/generated_28.h'],269 'action': [270 'touch',271 '<(PRODUCT_DIR)/generated_28.h',272 ],273 },274 {275 'action_name': 'do_29',276 'inputs': [],277 'outputs': ['<(PRODUCT_DIR)/generated_29.h'],278 'action': [279 'touch',280 '<(PRODUCT_DIR)/generated_29.h',281 ],282 },283 {284 'action_name': 'do_30',285 'inputs': [],286 'outputs': ['<(PRODUCT_DIR)/generated_30.h'],287 'action': [288 'touch',289 '<(PRODUCT_DIR)/generated_30.h',290 ],291 },292 {293 'action_name': 'do_31',294 'inputs': [],295 'outputs': ['<(PRODUCT_DIR)/generated_31.h'],296 'action': [297 'touch',298 '<(PRODUCT_DIR)/generated_31.h',299 ],300 },301 {302 'action_name': 'do_32',303 'inputs': [],304 'outputs': ['<(PRODUCT_DIR)/generated_32.h'],305 'action': [306 'touch',307 '<(PRODUCT_DIR)/generated_32.h',308 ],309 },310 {311 'action_name': 'do_33',312 'inputs': [],313 'outputs': ['<(PRODUCT_DIR)/generated_33.h'],314 'action': [315 'touch',316 '<(PRODUCT_DIR)/generated_33.h',317 ],318 },319 {320 'action_name': 'do_34',321 'inputs': [],322 'outputs': ['<(PRODUCT_DIR)/generated_34.h'],323 'action': [324 'touch',325 '<(PRODUCT_DIR)/generated_34.h',326 ],327 },328 {329 'action_name': 'do_35',330 'inputs': [],331 'outputs': ['<(PRODUCT_DIR)/generated_35.h'],332 'action': [333 'touch',334 '<(PRODUCT_DIR)/generated_35.h',335 ],336 },337 {338 'action_name': 'do_36',339 'inputs': [],340 'outputs': ['<(PRODUCT_DIR)/generated_36.h'],341 'action': [342 'touch',343 '<(PRODUCT_DIR)/generated_36.h',344 ],345 },346 {347 'action_name': 'do_37',348 'inputs': [],349 'outputs': ['<(PRODUCT_DIR)/generated_37.h'],350 'action': [351 'touch',352 '<(PRODUCT_DIR)/generated_37.h',353 ],354 },355 {356 'action_name': 'do_38',357 'inputs': [],358 'outputs': ['<(PRODUCT_DIR)/generated_38.h'],359 'action': [360 'touch',361 '<(PRODUCT_DIR)/generated_38.h',362 ],363 },364 {365 'action_name': 'do_39',366 'inputs': [],367 'outputs': ['<(PRODUCT_DIR)/generated_39.h'],368 'action': [369 'touch',370 '<(PRODUCT_DIR)/generated_39.h',371 ],372 },373 {374 'action_name': 'do_40',375 'inputs': [],376 'outputs': ['<(PRODUCT_DIR)/generated_40.h'],377 'action': [378 'touch',379 '<(PRODUCT_DIR)/generated_40.h',380 ],381 },382 {383 'action_name': 'do_41',384 'inputs': [],385 'outputs': ['<(PRODUCT_DIR)/generated_41.h'],386 'action': [387 'touch',388 '<(PRODUCT_DIR)/generated_41.h',389 ],390 },391 {392 'action_name': 'do_42',393 'inputs': [],394 'outputs': ['<(PRODUCT_DIR)/generated_42.h'],395 'action': [396 'touch',397 '<(PRODUCT_DIR)/generated_42.h',398 ],399 },400 {401 'action_name': 'do_43',402 'inputs': [],403 'outputs': ['<(PRODUCT_DIR)/generated_43.h'],404 'action': [405 'touch',406 '<(PRODUCT_DIR)/generated_43.h',407 ],408 },409 {410 'action_name': 'do_44',411 'inputs': [],412 'outputs': ['<(PRODUCT_DIR)/generated_44.h'],413 'action': [414 'touch',415 '<(PRODUCT_DIR)/generated_44.h',416 ],417 },418 {419 'action_name': 'do_45',420 'inputs': [],421 'outputs': ['<(PRODUCT_DIR)/generated_45.h'],422 'action': [423 'touch',424 '<(PRODUCT_DIR)/generated_45.h',425 ],426 },427 {428 'action_name': 'do_46',429 'inputs': [],430 'outputs': ['<(PRODUCT_DIR)/generated_46.h'],431 'action': [432 'touch',433 '<(PRODUCT_DIR)/generated_46.h',434 ],435 },436 {437 'action_name': 'do_47',438 'inputs': [],439 'outputs': ['<(PRODUCT_DIR)/generated_47.h'],440 'action': [441 'touch',442 '<(PRODUCT_DIR)/generated_47.h',443 ],444 },445 {446 'action_name': 'do_48',447 'inputs': [],448 'outputs': ['<(PRODUCT_DIR)/generated_48.h'],449 'action': [450 'touch',451 '<(PRODUCT_DIR)/generated_48.h',452 ],453 },454 {455 'action_name': 'do_49',456 'inputs': [],457 'outputs': ['<(PRODUCT_DIR)/generated_49.h'],458 'action': [459 'touch',460 '<(PRODUCT_DIR)/generated_49.h',461 ],462 },463 {464 'action_name': 'do_50',465 'inputs': [],466 'outputs': ['<(PRODUCT_DIR)/generated_50.h'],467 'action': [468 'touch',469 '<(PRODUCT_DIR)/generated_50.h',470 ],471 },472 {473 'action_name': 'do_51',474 'inputs': [],475 'outputs': ['<(PRODUCT_DIR)/generated_51.h'],476 'action': [477 'touch',478 '<(PRODUCT_DIR)/generated_51.h',479 ],480 },481 {482 'action_name': 'do_52',483 'inputs': [],484 'outputs': ['<(PRODUCT_DIR)/generated_52.h'],485 'action': [486 'touch',487 '<(PRODUCT_DIR)/generated_52.h',488 ],489 },490 {491 'action_name': 'do_53',492 'inputs': [],493 'outputs': ['<(PRODUCT_DIR)/generated_53.h'],494 'action': [495 'touch',496 '<(PRODUCT_DIR)/generated_53.h',497 ],498 },499 {500 'action_name': 'do_54',501 'inputs': [],502 'outputs': ['<(PRODUCT_DIR)/generated_54.h'],503 'action': [504 'touch',505 '<(PRODUCT_DIR)/generated_54.h',506 ],507 },508 {509 'action_name': 'do_55',510 'inputs': [],511 'outputs': ['<(PRODUCT_DIR)/generated_55.h'],512 'action': [513 'touch',514 '<(PRODUCT_DIR)/generated_55.h',515 ],516 },517 {518 'action_name': 'do_56',519 'inputs': [],520 'outputs': ['<(PRODUCT_DIR)/generated_56.h'],521 'action': [522 'touch',523 '<(PRODUCT_DIR)/generated_56.h',524 ],525 },526 {527 'action_name': 'do_57',528 'inputs': [],529 'outputs': ['<(PRODUCT_DIR)/generated_57.h'],530 'action': [531 'touch',532 '<(PRODUCT_DIR)/generated_57.h',533 ],534 },535 {536 'action_name': 'do_58',537 'inputs': [],538 'outputs': ['<(PRODUCT_DIR)/generated_58.h'],539 'action': [540 'touch',541 '<(PRODUCT_DIR)/generated_58.h',542 ],543 },544 {545 'action_name': 'do_59',546 'inputs': [],547 'outputs': ['<(PRODUCT_DIR)/generated_59.h'],548 'action': [549 'touch',550 '<(PRODUCT_DIR)/generated_59.h',551 ],552 },553 {554 'action_name': 'do_60',555 'inputs': [],556 'outputs': ['<(PRODUCT_DIR)/generated_60.h'],557 'action': [558 'touch',559 '<(PRODUCT_DIR)/generated_60.h',560 ],561 },562 {563 'action_name': 'do_61',564 'inputs': [],565 'outputs': ['<(PRODUCT_DIR)/generated_61.h'],566 'action': [567 'touch',568 '<(PRODUCT_DIR)/generated_61.h',569 ],570 },571 {572 'action_name': 'do_62',573 'inputs': [],574 'outputs': ['<(PRODUCT_DIR)/generated_62.h'],575 'action': [576 'touch',577 '<(PRODUCT_DIR)/generated_62.h',578 ],579 },580 {581 'action_name': 'do_63',582 'inputs': [],583 'outputs': ['<(PRODUCT_DIR)/generated_63.h'],584 'action': [585 'touch',586 '<(PRODUCT_DIR)/generated_63.h',587 ],588 },589 {590 'action_name': 'do_64',591 'inputs': [],592 'outputs': ['<(PRODUCT_DIR)/generated_64.h'],593 'action': [594 'touch',595 '<(PRODUCT_DIR)/generated_64.h',596 ],597 },598 {599 'action_name': 'do_65',600 'inputs': [],601 'outputs': ['<(PRODUCT_DIR)/generated_65.h'],602 'action': [603 'touch',604 '<(PRODUCT_DIR)/generated_65.h',605 ],606 },607 {608 'action_name': 'do_66',609 'inputs': [],610 'outputs': ['<(PRODUCT_DIR)/generated_66.h'],611 'action': [612 'touch',613 '<(PRODUCT_DIR)/generated_66.h',614 ],615 },616 {617 'action_name': 'do_67',618 'inputs': [],619 'outputs': ['<(PRODUCT_DIR)/generated_67.h'],620 'action': [621 'touch',622 '<(PRODUCT_DIR)/generated_67.h',623 ],624 },625 {626 'action_name': 'do_68',627 'inputs': [],628 'outputs': ['<(PRODUCT_DIR)/generated_68.h'],629 'action': [630 'touch',631 '<(PRODUCT_DIR)/generated_68.h',632 ],633 },634 {635 'action_name': 'do_69',636 'inputs': [],637 'outputs': ['<(PRODUCT_DIR)/generated_69.h'],638 'action': [639 'touch',640 '<(PRODUCT_DIR)/generated_69.h',641 ],642 },643 {644 'action_name': 'do_70',645 'inputs': [],646 'outputs': ['<(PRODUCT_DIR)/generated_70.h'],647 'action': [648 'touch',649 '<(PRODUCT_DIR)/generated_70.h',650 ],651 },652 {653 'action_name': 'do_71',654 'inputs': [],655 'outputs': ['<(PRODUCT_DIR)/generated_71.h'],656 'action': [657 'touch',658 '<(PRODUCT_DIR)/generated_71.h',659 ],660 },661 {662 'action_name': 'do_72',663 'inputs': [],664 'outputs': ['<(PRODUCT_DIR)/generated_72.h'],665 'action': [666 'touch',667 '<(PRODUCT_DIR)/generated_72.h',668 ],669 },670 {671 'action_name': 'do_73',672 'inputs': [],673 'outputs': ['<(PRODUCT_DIR)/generated_73.h'],674 'action': [675 'touch',676 '<(PRODUCT_DIR)/generated_73.h',677 ],678 },679 {680 'action_name': 'do_74',681 'inputs': [],682 'outputs': ['<(PRODUCT_DIR)/generated_74.h'],683 'action': [684 'touch',685 '<(PRODUCT_DIR)/generated_74.h',686 ],687 },688 {689 'action_name': 'do_75',690 'inputs': [],691 'outputs': ['<(PRODUCT_DIR)/generated_75.h'],692 'action': [693 'touch',694 '<(PRODUCT_DIR)/generated_75.h',695 ],696 },697 {698 'action_name': 'do_76',699 'inputs': [],700 'outputs': ['<(PRODUCT_DIR)/generated_76.h'],701 'action': [702 'touch',703 '<(PRODUCT_DIR)/generated_76.h',704 ],705 },706 {707 'action_name': 'do_77',708 'inputs': [],709 'outputs': ['<(PRODUCT_DIR)/generated_77.h'],710 'action': [711 'touch',712 '<(PRODUCT_DIR)/generated_77.h',713 ],714 },715 {716 'action_name': 'do_78',717 'inputs': [],718 'outputs': ['<(PRODUCT_DIR)/generated_78.h'],719 'action': [720 'touch',721 '<(PRODUCT_DIR)/generated_78.h',722 ],723 },724 {725 'action_name': 'do_79',726 'inputs': [],727 'outputs': ['<(PRODUCT_DIR)/generated_79.h'],728 'action': [729 'touch',730 '<(PRODUCT_DIR)/generated_79.h',731 ],732 },733 {734 'action_name': 'do_80',735 'inputs': [],736 'outputs': ['<(PRODUCT_DIR)/generated_80.h'],737 'action': [738 'touch',739 '<(PRODUCT_DIR)/generated_80.h',740 ],741 },742 {743 'action_name': 'do_81',744 'inputs': [],745 'outputs': ['<(PRODUCT_DIR)/generated_81.h'],746 'action': [747 'touch',748 '<(PRODUCT_DIR)/generated_81.h',749 ],750 },751 {752 'action_name': 'do_82',753 'inputs': [],754 'outputs': ['<(PRODUCT_DIR)/generated_82.h'],755 'action': [756 'touch',757 '<(PRODUCT_DIR)/generated_82.h',758 ],759 },760 {761 'action_name': 'do_83',762 'inputs': [],763 'outputs': ['<(PRODUCT_DIR)/generated_83.h'],764 'action': [765 'touch',766 '<(PRODUCT_DIR)/generated_83.h',767 ],768 },769 {770 'action_name': 'do_84',771 'inputs': [],772 'outputs': ['<(PRODUCT_DIR)/generated_84.h'],773 'action': [774 'touch',775 '<(PRODUCT_DIR)/generated_84.h',776 ],777 },778 {779 'action_name': 'do_85',780 'inputs': [],781 'outputs': ['<(PRODUCT_DIR)/generated_85.h'],782 'action': [783 'touch',784 '<(PRODUCT_DIR)/generated_85.h',785 ],786 },787 {788 'action_name': 'do_86',789 'inputs': [],790 'outputs': ['<(PRODUCT_DIR)/generated_86.h'],791 'action': [792 'touch',793 '<(PRODUCT_DIR)/generated_86.h',794 ],795 },796 {797 'action_name': 'do_87',798 'inputs': [],799 'outputs': ['<(PRODUCT_DIR)/generated_87.h'],800 'action': [801 'touch',802 '<(PRODUCT_DIR)/generated_87.h',803 ],804 },805 {806 'action_name': 'do_88',807 'inputs': [],808 'outputs': ['<(PRODUCT_DIR)/generated_88.h'],809 'action': [810 'touch',811 '<(PRODUCT_DIR)/generated_88.h',812 ],813 },814 {815 'action_name': 'do_89',816 'inputs': [],817 'outputs': ['<(PRODUCT_DIR)/generated_89.h'],818 'action': [819 'touch',820 '<(PRODUCT_DIR)/generated_89.h',821 ],822 },823 {824 'action_name': 'do_90',825 'inputs': [],826 'outputs': ['<(PRODUCT_DIR)/generated_90.h'],827 'action': [828 'touch',829 '<(PRODUCT_DIR)/generated_90.h',830 ],831 },832 {833 'action_name': 'do_91',834 'inputs': [],835 'outputs': ['<(PRODUCT_DIR)/generated_91.h'],836 'action': [837 'touch',838 '<(PRODUCT_DIR)/generated_91.h',839 ],840 },841 {842 'action_name': 'do_92',843 'inputs': [],844 'outputs': ['<(PRODUCT_DIR)/generated_92.h'],845 'action': [846 'touch',847 '<(PRODUCT_DIR)/generated_92.h',848 ],849 },850 {851 'action_name': 'do_93',852 'inputs': [],853 'outputs': ['<(PRODUCT_DIR)/generated_93.h'],854 'action': [855 'touch',856 '<(PRODUCT_DIR)/generated_93.h',857 ],858 },859 {860 'action_name': 'do_94',861 'inputs': [],862 'outputs': ['<(PRODUCT_DIR)/generated_94.h'],863 'action': [864 'touch',865 '<(PRODUCT_DIR)/generated_94.h',866 ],867 },868 {869 'action_name': 'do_95',870 'inputs': [],871 'outputs': ['<(PRODUCT_DIR)/generated_95.h'],872 'action': [873 'touch',874 '<(PRODUCT_DIR)/generated_95.h',875 ],876 },877 {878 'action_name': 'do_96',879 'inputs': [],880 'outputs': ['<(PRODUCT_DIR)/generated_96.h'],881 'action': [882 'touch',883 '<(PRODUCT_DIR)/generated_96.h',884 ],885 },886 {887 'action_name': 'do_97',888 'inputs': [],889 'outputs': ['<(PRODUCT_DIR)/generated_97.h'],890 'action': [891 'touch',892 '<(PRODUCT_DIR)/generated_97.h',893 ],894 },895 {896 'action_name': 'do_98',897 'inputs': [],898 'outputs': ['<(PRODUCT_DIR)/generated_98.h'],899 'action': [900 'touch',901 '<(PRODUCT_DIR)/generated_98.h',902 ],903 },904 {905 'action_name': 'do_99',906 'inputs': [],907 'outputs': ['<(PRODUCT_DIR)/generated_99.h'],908 'action': [909 'touch',910 '<(PRODUCT_DIR)/generated_99.h',911 ],912 },913 {914 'action_name': 'do_100',915 'inputs': [],916 'outputs': ['<(PRODUCT_DIR)/generated_100.h'],917 'action': [918 'touch',919 '<(PRODUCT_DIR)/generated_100.h',920 ],921 },922 {923 'action_name': 'do_101',924 'inputs': [],925 'outputs': ['<(PRODUCT_DIR)/generated_101.h'],926 'action': [927 'touch',928 '<(PRODUCT_DIR)/generated_101.h',929 ],930 },931 {932 'action_name': 'do_102',933 'inputs': [],934 'outputs': ['<(PRODUCT_DIR)/generated_102.h'],935 'action': [936 'touch',937 '<(PRODUCT_DIR)/generated_102.h',938 ],939 },940 {941 'action_name': 'do_103',942 'inputs': [],943 'outputs': ['<(PRODUCT_DIR)/generated_103.h'],944 'action': [945 'touch',946 '<(PRODUCT_DIR)/generated_103.h',947 ],948 },949 {950 'action_name': 'do_104',951 'inputs': [],952 'outputs': ['<(PRODUCT_DIR)/generated_104.h'],953 'action': [954 'touch',955 '<(PRODUCT_DIR)/generated_104.h',956 ],957 },958 {959 'action_name': 'do_105',960 'inputs': [],961 'outputs': ['<(PRODUCT_DIR)/generated_105.h'],962 'action': [963 'touch',964 '<(PRODUCT_DIR)/generated_105.h',965 ],966 },967 {968 'action_name': 'do_106',969 'inputs': [],970 'outputs': ['<(PRODUCT_DIR)/generated_106.h'],971 'action': [972 'touch',973 '<(PRODUCT_DIR)/generated_106.h',974 ],975 },976 {977 'action_name': 'do_107',978 'inputs': [],979 'outputs': ['<(PRODUCT_DIR)/generated_107.h'],980 'action': [981 'touch',982 '<(PRODUCT_DIR)/generated_107.h',983 ],984 },985 {986 'action_name': 'do_108',987 'inputs': [],988 'outputs': ['<(PRODUCT_DIR)/generated_108.h'],989 'action': [990 'touch',991 '<(PRODUCT_DIR)/generated_108.h',992 ],993 },994 {995 'action_name': 'do_109',996 'inputs': [],997 'outputs': ['<(PRODUCT_DIR)/generated_109.h'],998 'action': [999 'touch',1000 '<(PRODUCT_DIR)/generated_109.h',1001 ],1002 },1003 {1004 'action_name': 'do_110',1005 'inputs': [],1006 'outputs': ['<(PRODUCT_DIR)/generated_110.h'],1007 'action': [1008 'touch',1009 '<(PRODUCT_DIR)/generated_110.h',1010 ],1011 },1012 {1013 'action_name': 'do_111',1014 'inputs': [],1015 'outputs': ['<(PRODUCT_DIR)/generated_111.h'],1016 'action': [1017 'touch',1018 '<(PRODUCT_DIR)/generated_111.h',1019 ],1020 },1021 {1022 'action_name': 'do_112',1023 'inputs': [],1024 'outputs': ['<(PRODUCT_DIR)/generated_112.h'],1025 'action': [1026 'touch',1027 '<(PRODUCT_DIR)/generated_112.h',1028 ],1029 },1030 {1031 'action_name': 'do_113',1032 'inputs': [],1033 'outputs': ['<(PRODUCT_DIR)/generated_113.h'],1034 'action': [1035 'touch',1036 '<(PRODUCT_DIR)/generated_113.h',1037 ],1038 },1039 {1040 'action_name': 'do_114',1041 'inputs': [],1042 'outputs': ['<(PRODUCT_DIR)/generated_114.h'],1043 'action': [1044 'touch',1045 '<(PRODUCT_DIR)/generated_114.h',1046 ],1047 },1048 {1049 'action_name': 'do_115',1050 'inputs': [],1051 'outputs': ['<(PRODUCT_DIR)/generated_115.h'],1052 'action': [1053 'touch',1054 '<(PRODUCT_DIR)/generated_115.h',1055 ],1056 },1057 {1058 'action_name': 'do_116',1059 'inputs': [],1060 'outputs': ['<(PRODUCT_DIR)/generated_116.h'],1061 'action': [1062 'touch',1063 '<(PRODUCT_DIR)/generated_116.h',1064 ],1065 },1066 {1067 'action_name': 'do_117',1068 'inputs': [],1069 'outputs': ['<(PRODUCT_DIR)/generated_117.h'],1070 'action': [1071 'touch',1072 '<(PRODUCT_DIR)/generated_117.h',1073 ],1074 },1075 {1076 'action_name': 'do_118',1077 'inputs': [],1078 'outputs': ['<(PRODUCT_DIR)/generated_118.h'],1079 'action': [1080 'touch',1081 '<(PRODUCT_DIR)/generated_118.h',1082 ],1083 },1084 {1085 'action_name': 'do_119',1086 'inputs': [],1087 'outputs': ['<(PRODUCT_DIR)/generated_119.h'],1088 'action': [1089 'touch',1090 '<(PRODUCT_DIR)/generated_119.h',1091 ],1092 },1093 {1094 'action_name': 'do_120',1095 'inputs': [],1096 'outputs': ['<(PRODUCT_DIR)/generated_120.h'],1097 'action': [1098 'touch',1099 '<(PRODUCT_DIR)/generated_120.h',1100 ],1101 },1102 {1103 'action_name': 'do_121',1104 'inputs': [],1105 'outputs': ['<(PRODUCT_DIR)/generated_121.h'],1106 'action': [1107 'touch',1108 '<(PRODUCT_DIR)/generated_121.h',1109 ],1110 },1111 {1112 'action_name': 'do_122',1113 'inputs': [],1114 'outputs': ['<(PRODUCT_DIR)/generated_122.h'],1115 'action': [1116 'touch',1117 '<(PRODUCT_DIR)/generated_122.h',1118 ],1119 },1120 {1121 'action_name': 'do_123',1122 'inputs': [],1123 'outputs': ['<(PRODUCT_DIR)/generated_123.h'],1124 'action': [1125 'touch',1126 '<(PRODUCT_DIR)/generated_123.h',1127 ],1128 },1129 {1130 'action_name': 'do_124',1131 'inputs': [],1132 'outputs': ['<(PRODUCT_DIR)/generated_124.h'],1133 'action': [1134 'touch',1135 '<(PRODUCT_DIR)/generated_124.h',1136 ],1137 },1138 {1139 'action_name': 'do_125',1140 'inputs': [],1141 'outputs': ['<(PRODUCT_DIR)/generated_125.h'],1142 'action': [1143 'touch',1144 '<(PRODUCT_DIR)/generated_125.h',1145 ],1146 },1147 {1148 'action_name': 'do_126',1149 'inputs': [],1150 'outputs': ['<(PRODUCT_DIR)/generated_126.h'],1151 'action': [1152 'touch',1153 '<(PRODUCT_DIR)/generated_126.h',1154 ],1155 },1156 {1157 'action_name': 'do_127',1158 'inputs': [],1159 'outputs': ['<(PRODUCT_DIR)/generated_127.h'],1160 'action': [1161 'touch',1162 '<(PRODUCT_DIR)/generated_127.h',1163 ],1164 },1165 {1166 'action_name': 'do_128',1167 'inputs': [],1168 'outputs': ['<(PRODUCT_DIR)/generated_128.h'],1169 'action': [1170 'touch',1171 '<(PRODUCT_DIR)/generated_128.h',1172 ],1173 },1174 {1175 'action_name': 'do_129',1176 'inputs': [],1177 'outputs': ['<(PRODUCT_DIR)/generated_129.h'],1178 'action': [1179 'touch',1180 '<(PRODUCT_DIR)/generated_129.h',1181 ],1182 },1183 {1184 'action_name': 'do_130',1185 'inputs': [],1186 'outputs': ['<(PRODUCT_DIR)/generated_130.h'],1187 'action': [1188 'touch',1189 '<(PRODUCT_DIR)/generated_130.h',1190 ],1191 },1192 {1193 'action_name': 'do_131',1194 'inputs': [],1195 'outputs': ['<(PRODUCT_DIR)/generated_131.h'],1196 'action': [1197 'touch',1198 '<(PRODUCT_DIR)/generated_131.h',1199 ],1200 },1201 {1202 'action_name': 'do_132',1203 'inputs': [],1204 'outputs': ['<(PRODUCT_DIR)/generated_132.h'],1205 'action': [1206 'touch',1207 '<(PRODUCT_DIR)/generated_132.h',1208 ],1209 },1210 {1211 'action_name': 'do_133',1212 'inputs': [],1213 'outputs': ['<(PRODUCT_DIR)/generated_133.h'],1214 'action': [1215 'touch',1216 '<(PRODUCT_DIR)/generated_133.h',1217 ],1218 },1219 {1220 'action_name': 'do_134',1221 'inputs': [],1222 'outputs': ['<(PRODUCT_DIR)/generated_134.h'],1223 'action': [1224 'touch',1225 '<(PRODUCT_DIR)/generated_134.h',1226 ],1227 },1228 {1229 'action_name': 'do_135',1230 'inputs': [],1231 'outputs': ['<(PRODUCT_DIR)/generated_135.h'],1232 'action': [1233 'touch',1234 '<(PRODUCT_DIR)/generated_135.h',1235 ],1236 },1237 {1238 'action_name': 'do_136',1239 'inputs': [],1240 'outputs': ['<(PRODUCT_DIR)/generated_136.h'],1241 'action': [1242 'touch',1243 '<(PRODUCT_DIR)/generated_136.h',1244 ],1245 },1246 {1247 'action_name': 'do_137',1248 'inputs': [],1249 'outputs': ['<(PRODUCT_DIR)/generated_137.h'],1250 'action': [1251 'touch',1252 '<(PRODUCT_DIR)/generated_137.h',1253 ],1254 },1255 {1256 'action_name': 'do_138',1257 'inputs': [],1258 'outputs': ['<(PRODUCT_DIR)/generated_138.h'],1259 'action': [1260 'touch',1261 '<(PRODUCT_DIR)/generated_138.h',1262 ],1263 },1264 {1265 'action_name': 'do_139',1266 'inputs': [],1267 'outputs': ['<(PRODUCT_DIR)/generated_139.h'],1268 'action': [1269 'touch',1270 '<(PRODUCT_DIR)/generated_139.h',1271 ],1272 },1273 {1274 'action_name': 'do_140',1275 'inputs': [],1276 'outputs': ['<(PRODUCT_DIR)/generated_140.h'],1277 'action': [1278 'touch',1279 '<(PRODUCT_DIR)/generated_140.h',1280 ],1281 },1282 {1283 'action_name': 'do_141',1284 'inputs': [],1285 'outputs': ['<(PRODUCT_DIR)/generated_141.h'],1286 'action': [1287 'touch',1288 '<(PRODUCT_DIR)/generated_141.h',1289 ],1290 },1291 {1292 'action_name': 'do_142',1293 'inputs': [],1294 'outputs': ['<(PRODUCT_DIR)/generated_142.h'],1295 'action': [1296 'touch',1297 '<(PRODUCT_DIR)/generated_142.h',1298 ],1299 },1300 {1301 'action_name': 'do_143',1302 'inputs': [],1303 'outputs': ['<(PRODUCT_DIR)/generated_143.h'],1304 'action': [1305 'touch',1306 '<(PRODUCT_DIR)/generated_143.h',1307 ],1308 },1309 {1310 'action_name': 'do_144',1311 'inputs': [],1312 'outputs': ['<(PRODUCT_DIR)/generated_144.h'],1313 'action': [1314 'touch',1315 '<(PRODUCT_DIR)/generated_144.h',1316 ],1317 },1318 {1319 'action_name': 'do_145',1320 'inputs': [],1321 'outputs': ['<(PRODUCT_DIR)/generated_145.h'],1322 'action': [1323 'touch',1324 '<(PRODUCT_DIR)/generated_145.h',1325 ],1326 },1327 {1328 'action_name': 'do_146',1329 'inputs': [],1330 'outputs': ['<(PRODUCT_DIR)/generated_146.h'],1331 'action': [1332 'touch',1333 '<(PRODUCT_DIR)/generated_146.h',1334 ],1335 },1336 {1337 'action_name': 'do_147',1338 'inputs': [],1339 'outputs': ['<(PRODUCT_DIR)/generated_147.h'],1340 'action': [1341 'touch',1342 '<(PRODUCT_DIR)/generated_147.h',1343 ],1344 },1345 {1346 'action_name': 'do_148',1347 'inputs': [],1348 'outputs': ['<(PRODUCT_DIR)/generated_148.h'],1349 'action': [1350 'touch',1351 '<(PRODUCT_DIR)/generated_148.h',1352 ],1353 },1354 {1355 'action_name': 'do_149',1356 'inputs': [],1357 'outputs': ['<(PRODUCT_DIR)/generated_149.h'],1358 'action': [1359 'touch',1360 '<(PRODUCT_DIR)/generated_149.h',1361 ],1362 },1363 {1364 'action_name': 'do_150',1365 'inputs': [],1366 'outputs': ['<(PRODUCT_DIR)/generated_150.h'],1367 'action': [1368 'touch',1369 '<(PRODUCT_DIR)/generated_150.h',1370 ],1371 },1372 {1373 'action_name': 'do_151',1374 'inputs': [],1375 'outputs': ['<(PRODUCT_DIR)/generated_151.h'],1376 'action': [1377 'touch',1378 '<(PRODUCT_DIR)/generated_151.h',1379 ],1380 },1381 {1382 'action_name': 'do_152',1383 'inputs': [],1384 'outputs': ['<(PRODUCT_DIR)/generated_152.h'],1385 'action': [1386 'touch',1387 '<(PRODUCT_DIR)/generated_152.h',1388 ],1389 },1390 {1391 'action_name': 'do_153',1392 'inputs': [],1393 'outputs': ['<(PRODUCT_DIR)/generated_153.h'],1394 'action': [1395 'touch',1396 '<(PRODUCT_DIR)/generated_153.h',1397 ],1398 },1399 {1400 'action_name': 'do_154',1401 'inputs': [],1402 'outputs': ['<(PRODUCT_DIR)/generated_154.h'],1403 'action': [1404 'touch',1405 '<(PRODUCT_DIR)/generated_154.h',1406 ],1407 },1408 {1409 'action_name': 'do_155',1410 'inputs': [],1411 'outputs': ['<(PRODUCT_DIR)/generated_155.h'],1412 'action': [1413 'touch',1414 '<(PRODUCT_DIR)/generated_155.h',1415 ],1416 },1417 {1418 'action_name': 'do_156',1419 'inputs': [],1420 'outputs': ['<(PRODUCT_DIR)/generated_156.h'],1421 'action': [1422 'touch',1423 '<(PRODUCT_DIR)/generated_156.h',1424 ],1425 },1426 {1427 'action_name': 'do_157',1428 'inputs': [],1429 'outputs': ['<(PRODUCT_DIR)/generated_157.h'],1430 'action': [1431 'touch',1432 '<(PRODUCT_DIR)/generated_157.h',1433 ],1434 },1435 {1436 'action_name': 'do_158',1437 'inputs': [],1438 'outputs': ['<(PRODUCT_DIR)/generated_158.h'],1439 'action': [1440 'touch',1441 '<(PRODUCT_DIR)/generated_158.h',1442 ],1443 },1444 {1445 'action_name': 'do_159',1446 'inputs': [],1447 'outputs': ['<(PRODUCT_DIR)/generated_159.h'],1448 'action': [1449 'touch',1450 '<(PRODUCT_DIR)/generated_159.h',1451 ],1452 },1453 {1454 'action_name': 'do_160',1455 'inputs': [],1456 'outputs': ['<(PRODUCT_DIR)/generated_160.h'],1457 'action': [1458 'touch',1459 '<(PRODUCT_DIR)/generated_160.h',1460 ],1461 },1462 {1463 'action_name': 'do_161',1464 'inputs': [],1465 'outputs': ['<(PRODUCT_DIR)/generated_161.h'],1466 'action': [1467 'touch',1468 '<(PRODUCT_DIR)/generated_161.h',1469 ],1470 },1471 {1472 'action_name': 'do_162',1473 'inputs': [],1474 'outputs': ['<(PRODUCT_DIR)/generated_162.h'],1475 'action': [1476 'touch',1477 '<(PRODUCT_DIR)/generated_162.h',1478 ],1479 },1480 {1481 'action_name': 'do_163',1482 'inputs': [],1483 'outputs': ['<(PRODUCT_DIR)/generated_163.h'],1484 'action': [1485 'touch',1486 '<(PRODUCT_DIR)/generated_163.h',1487 ],1488 },1489 {1490 'action_name': 'do_164',1491 'inputs': [],1492 'outputs': ['<(PRODUCT_DIR)/generated_164.h'],1493 'action': [1494 'touch',1495 '<(PRODUCT_DIR)/generated_164.h',1496 ],1497 },1498 {1499 'action_name': 'do_165',1500 'inputs': [],1501 'outputs': ['<(PRODUCT_DIR)/generated_165.h'],1502 'action': [1503 'touch',1504 '<(PRODUCT_DIR)/generated_165.h',1505 ],1506 },1507 {1508 'action_name': 'do_166',1509 'inputs': [],1510 'outputs': ['<(PRODUCT_DIR)/generated_166.h'],1511 'action': [1512 'touch',1513 '<(PRODUCT_DIR)/generated_166.h',1514 ],1515 },1516 {1517 'action_name': 'do_167',1518 'inputs': [],1519 'outputs': ['<(PRODUCT_DIR)/generated_167.h'],1520 'action': [1521 'touch',1522 '<(PRODUCT_DIR)/generated_167.h',1523 ],1524 },1525 {1526 'action_name': 'do_168',1527 'inputs': [],1528 'outputs': ['<(PRODUCT_DIR)/generated_168.h'],1529 'action': [1530 'touch',1531 '<(PRODUCT_DIR)/generated_168.h',1532 ],1533 },1534 {1535 'action_name': 'do_169',1536 'inputs': [],1537 'outputs': ['<(PRODUCT_DIR)/generated_169.h'],1538 'action': [1539 'touch',1540 '<(PRODUCT_DIR)/generated_169.h',1541 ],1542 },1543 {1544 'action_name': 'do_170',1545 'inputs': [],1546 'outputs': ['<(PRODUCT_DIR)/generated_170.h'],1547 'action': [1548 'touch',1549 '<(PRODUCT_DIR)/generated_170.h',1550 ],1551 },1552 {1553 'action_name': 'do_171',1554 'inputs': [],1555 'outputs': ['<(PRODUCT_DIR)/generated_171.h'],1556 'action': [1557 'touch',1558 '<(PRODUCT_DIR)/generated_171.h',1559 ],1560 },1561 {1562 'action_name': 'do_172',1563 'inputs': [],1564 'outputs': ['<(PRODUCT_DIR)/generated_172.h'],1565 'action': [1566 'touch',1567 '<(PRODUCT_DIR)/generated_172.h',1568 ],1569 },1570 {1571 'action_name': 'do_173',1572 'inputs': [],1573 'outputs': ['<(PRODUCT_DIR)/generated_173.h'],1574 'action': [1575 'touch',1576 '<(PRODUCT_DIR)/generated_173.h',1577 ],1578 },1579 {1580 'action_name': 'do_174',1581 'inputs': [],1582 'outputs': ['<(PRODUCT_DIR)/generated_174.h'],1583 'action': [1584 'touch',1585 '<(PRODUCT_DIR)/generated_174.h',1586 ],1587 },1588 {1589 'action_name': 'do_175',1590 'inputs': [],1591 'outputs': ['<(PRODUCT_DIR)/generated_175.h'],1592 'action': [1593 'touch',1594 '<(PRODUCT_DIR)/generated_175.h',1595 ],1596 },1597 {1598 'action_name': 'do_176',1599 'inputs': [],1600 'outputs': ['<(PRODUCT_DIR)/generated_176.h'],1601 'action': [1602 'touch',1603 '<(PRODUCT_DIR)/generated_176.h',1604 ],1605 },1606 {1607 'action_name': 'do_177',1608 'inputs': [],1609 'outputs': ['<(PRODUCT_DIR)/generated_177.h'],1610 'action': [1611 'touch',1612 '<(PRODUCT_DIR)/generated_177.h',1613 ],1614 },1615 {1616 'action_name': 'do_178',1617 'inputs': [],1618 'outputs': ['<(PRODUCT_DIR)/generated_178.h'],1619 'action': [1620 'touch',1621 '<(PRODUCT_DIR)/generated_178.h',1622 ],1623 },1624 {1625 'action_name': 'do_179',1626 'inputs': [],1627 'outputs': ['<(PRODUCT_DIR)/generated_179.h'],1628 'action': [1629 'touch',1630 '<(PRODUCT_DIR)/generated_179.h',1631 ],1632 },1633 {1634 'action_name': 'do_180',1635 'inputs': [],1636 'outputs': ['<(PRODUCT_DIR)/generated_180.h'],1637 'action': [1638 'touch',1639 '<(PRODUCT_DIR)/generated_180.h',1640 ],1641 },1642 {1643 'action_name': 'do_181',1644 'inputs': [],1645 'outputs': ['<(PRODUCT_DIR)/generated_181.h'],1646 'action': [1647 'touch',1648 '<(PRODUCT_DIR)/generated_181.h',1649 ],1650 },1651 {1652 'action_name': 'do_182',1653 'inputs': [],1654 'outputs': ['<(PRODUCT_DIR)/generated_182.h'],1655 'action': [1656 'touch',1657 '<(PRODUCT_DIR)/generated_182.h',1658 ],1659 },1660 {1661 'action_name': 'do_183',1662 'inputs': [],1663 'outputs': ['<(PRODUCT_DIR)/generated_183.h'],1664 'action': [1665 'touch',1666 '<(PRODUCT_DIR)/generated_183.h',1667 ],1668 },1669 {1670 'action_name': 'do_184',1671 'inputs': [],1672 'outputs': ['<(PRODUCT_DIR)/generated_184.h'],1673 'action': [1674 'touch',1675 '<(PRODUCT_DIR)/generated_184.h',1676 ],1677 },1678 {1679 'action_name': 'do_185',1680 'inputs': [],1681 'outputs': ['<(PRODUCT_DIR)/generated_185.h'],1682 'action': [1683 'touch',1684 '<(PRODUCT_DIR)/generated_185.h',1685 ],1686 },1687 {1688 'action_name': 'do_186',1689 'inputs': [],1690 'outputs': ['<(PRODUCT_DIR)/generated_186.h'],1691 'action': [1692 'touch',1693 '<(PRODUCT_DIR)/generated_186.h',1694 ],1695 },1696 {1697 'action_name': 'do_187',1698 'inputs': [],1699 'outputs': ['<(PRODUCT_DIR)/generated_187.h'],1700 'action': [1701 'touch',1702 '<(PRODUCT_DIR)/generated_187.h',1703 ],1704 },1705 {1706 'action_name': 'do_188',1707 'inputs': [],1708 'outputs': ['<(PRODUCT_DIR)/generated_188.h'],1709 'action': [1710 'touch',1711 '<(PRODUCT_DIR)/generated_188.h',1712 ],1713 },1714 {1715 'action_name': 'do_189',1716 'inputs': [],1717 'outputs': ['<(PRODUCT_DIR)/generated_189.h'],1718 'action': [1719 'touch',1720 '<(PRODUCT_DIR)/generated_189.h',1721 ],1722 },1723 {1724 'action_name': 'do_190',1725 'inputs': [],1726 'outputs': ['<(PRODUCT_DIR)/generated_190.h'],1727 'action': [1728 'touch',1729 '<(PRODUCT_DIR)/generated_190.h',1730 ],1731 },1732 {1733 'action_name': 'do_191',1734 'inputs': [],1735 'outputs': ['<(PRODUCT_DIR)/generated_191.h'],1736 'action': [1737 'touch',1738 '<(PRODUCT_DIR)/generated_191.h',1739 ],1740 },1741 {1742 'action_name': 'do_192',1743 'inputs': [],1744 'outputs': ['<(PRODUCT_DIR)/generated_192.h'],1745 'action': [1746 'touch',1747 '<(PRODUCT_DIR)/generated_192.h',1748 ],1749 },1750 {1751 'action_name': 'do_193',1752 'inputs': [],1753 'outputs': ['<(PRODUCT_DIR)/generated_193.h'],1754 'action': [1755 'touch',1756 '<(PRODUCT_DIR)/generated_193.h',1757 ],1758 },1759 {1760 'action_name': 'do_194',1761 'inputs': [],1762 'outputs': ['<(PRODUCT_DIR)/generated_194.h'],1763 'action': [1764 'touch',1765 '<(PRODUCT_DIR)/generated_194.h',1766 ],1767 },1768 {1769 'action_name': 'do_195',1770 'inputs': [],1771 'outputs': ['<(PRODUCT_DIR)/generated_195.h'],1772 'action': [1773 'touch',1774 '<(PRODUCT_DIR)/generated_195.h',1775 ],1776 },1777 {1778 'action_name': 'do_196',1779 'inputs': [],1780 'outputs': ['<(PRODUCT_DIR)/generated_196.h'],1781 'action': [1782 'touch',1783 '<(PRODUCT_DIR)/generated_196.h',1784 ],1785 },1786 {1787 'action_name': 'do_197',1788 'inputs': [],1789 'outputs': ['<(PRODUCT_DIR)/generated_197.h'],1790 'action': [1791 'touch',1792 '<(PRODUCT_DIR)/generated_197.h',1793 ],1794 },1795 {1796 'action_name': 'do_198',1797 'inputs': [],1798 'outputs': ['<(PRODUCT_DIR)/generated_198.h'],1799 'action': [1800 'touch',1801 '<(PRODUCT_DIR)/generated_198.h',1802 ],1803 },1804 {1805 'action_name': 'do_199',1806 'inputs': [],1807 'outputs': ['<(PRODUCT_DIR)/generated_199.h'],1808 'action': [1809 'touch',1810 '<(PRODUCT_DIR)/generated_199.h',1811 ],1812 },1813 ],1814 },1815 ],...
encode.py
Source:encode.py
...175 t = Token(orig.pos,'symbol','=',[items[0],orig])176 return fnc(t)177def unary(i,tb,r=None):178 r = get_tmp(r)179 b = do(tb)180 code(i,r,b)181 if r != b: free_tmp(b)182 return r183def infix(i,tb,tc,r=None):184 r = get_tmp(r)185 b,c = do(tb,r),do(tc)186 code(i,r,b,c)187 if r != b: free_tmp(b)188 free_tmp(c)189 return r190def logic_infix(op, tb, tc, _r=None):191 t = get_tag() 192 r = do(tb, _r)193 if _r != r: free_tmp(_r) #REG194 if op == 'and': code(IF, r)195 elif op == 'or': code(IFN, r)196 jump(t, 'end')197 _r = r198 r = do(tc, _r)199 if _r != r: free_tmp(_r) #REG200 tag(t, 'end')201 return r202def _do_none(r=None):203 r = get_tmp(r)204 code(NONE,r)205 return r206def do_symbol(t,r=None):207 sets = ['=']208 isets = ['+=','-=','*=','/=', '|=', '&=', '^=']209 cmps = ['<','>','<=','>=','==','!=']210 metas = {211 '+':ADD,'*':MUL,'/':DIV,'**':POW,212 '-':SUB,213 '%':MOD,'>>':RSH,'<<':LSH,214 '&':BITAND,'|':BITOR,'^':BITXOR,215 }216 if t.val == 'None': return _do_none(r)217 if t.val == 'True':218 return _do_number('1',r)219 if t.val == 'False':220 return _do_number('0',r)221 items = t.items222 if t.val in ['and','or']:223 return logic_infix(t.val, items[0], items[1], r)224 if t.val in isets:225 return imanage(t,do_symbol)226 if t.val == 'is':227 return infix(EQ,items[0],items[1],r)228 if t.val == 'isnot':229 return infix(CMP,items[0],items[1],r)230 if t.val == 'not':231 return unary(NOT, items[0], r)232 if t.val == 'in':233 return infix(HAS,items[1],items[0],r)234 if t.val == 'notin':235 r = infix(HAS,items[1],items[0],r)236 zero = _do_number('0')237 code(EQ,r,r,free_tmp(zero))238 return r239 if t.val in sets:240 return do_set_ctx(items[0],items[1]);241 elif t.val in cmps:242 b,c = items[0],items[1]243 v = t.val244 if v[0] in ('>','>='):245 b,c,v = c,b,'<'+v[1:]246 cd = EQ247 if v == '<': cd = LT248 if v == '<=': cd = LE249 if v == '!=': cd = NE250 return infix(cd,b,c,r)251 else:252 return infix(metas[t.val],items[0],items[1],r)253def do_set_ctx(k,v):254 if k.type == 'name':255 if (D._globals and k.val not in D.vars) or (k.val in D.globals):256 c = do_string(k)257 b = do(v)258 code(GSET,c,b)259 free_tmp(c)260 free_tmp(b)261 return262 a = do_local(k)263 b = do(v)264 code(MOVE,a,b)265 free_tmp(b)266 return a267 elif k.type in ('tuple','list'):268 if v.type in ('tuple','list'):269 n,tmps = 0,[]270 for kk in k.items:271 vv = v.items[n]272 tmp = get_tmp(); tmps.append(tmp)273 r = do(vv)274 code(MOVE,tmp,r)275 free_tmp(r) #REG276 n+=1277 n = 0278 for kk in k.items:279 vv = v.items[n]280 tmp = tmps[n]281 free_tmp(do_set_ctx(kk,Token(vv.pos,'reg',tmp))) #REG282 n += 1283 return284 r = do(v); un_tmp(r)285 n, tmp = 0, Token(v.pos,'reg',r)286 for tt in k.items:287 free_tmp(do_set_ctx(tt,Token(tmp.pos,'get',None,[tmp,Token(tmp.pos,'number',str(n))]))) #REG288 n += 1289 free_reg(r)290 return291 r = do(k.items[0])292 rr = do(v)293 tmp = do(k.items[1])294 code(SET,r,tmp,rr)295 free_tmp(r) #REG296 free_tmp(tmp) #REG297 return rr298def manage_seq(i,a,items,sav=0):299 l = max(sav,len(items))300 n,tmps = 0,get_tmps(l)301 for tt in items:302 r = tmps[n]303 b = do(tt,r)304 if r != b:305 code(MOVE,r,b)306 free_tmp(b)307 n +=1308 if not len(tmps):309 code(i,a,0,0)310 return 0311 code(i,a,tmps[0],len(items))312 free_tmps(tmps[sav:])313 return tmps[0]314def p_filter(items):315 a,b,c,d = [],[],None,None316 for t in items:317 if t.type == 'symbol' and t.val == '=': b.append(t)318 elif t.type == 'args': c = t319 elif t.type == 'nargs': d = t320 else: a.append(t)321 return a,b,c,d322def do_import(t):323 for mod in t.items:324 mod.type = 'string'325 v = do_call(Token(t.pos,'call',None,[326 Token(t.pos,'name','import'),327 mod]))328 mod.type = 'name'329 do_set_ctx(mod,Token(t.pos,'reg',v))330def do_from(t):331 mod = t.items[0]332 mod.type = 'string'333 v = do(Token(t.pos,'call',None,[334 Token(t.pos,'name','import'),335 mod]))336 item = t.items[1]337 if item.val == '*':338 free_tmp(do(Token(t.pos,'call',None,[339 Token(t.pos,'name','merge'),340 Token(t.pos,'name','__dict__'),341 Token(t.pos,'reg',v)]))) #REG342 else:343 item.type = 'string'344 free_tmp(do_set_ctx(345 Token(t.pos,'get',None,[ Token(t.pos,'name','__dict__'),item]),346 Token(t.pos,'get',None,[ Token(t.pos,'reg',v),item])347 )) #REG348 349def do_globals(t):350 for t in t.items:351 if t.val not in D.globals:352 D.globals.append(t.val)353def do_del(tt):354 for t in tt.items:355 r = do(t.items[0])356 r2 = do(t.items[1])357 code(DEL,r,r2)358 free_tmp(r); free_tmp(r2) #REG359def do_call(t,r=None):360 r = get_tmp(r)361 items = t.items362 fnc = do(items[0])363 a,b,c,d = p_filter(t.items[1:])364 e = None365 if len(b) != 0 or d != None:366 e = do(Token(t.pos,'dict',None,[])); un_tmp(e);367 for p in b:368 p.items[0].type = 'string'369 t1,t2 = do(p.items[0]),do(p.items[1])370 code(SET,e,t1,t2)371 free_tmp(t1); free_tmp(t2) #REG372 if d: free_tmp(do(Token(t.pos,'call',None,[Token(t.pos,'name','merge'),Token(t.pos,'reg',e),d.items[0]]))) #REG373 manage_seq(PARAMS,r,a)374 if c != None:375 t1,t2 = _do_string('*'),do(c.items[0])376 code(SET,r,t1,t2)377 free_tmp(t1); free_tmp(t2) #REG378 if e != None:379 t1 = _do_none()380 code(SET,r,t1,e)381 free_tmp(t1) #REG382 code(CALL,r,fnc,r)383 free_tmp(fnc) #REG384 return r385def do_name(t,r=None):386 if t.val in D.vars:387 return do_local(t,r)388 if t.val not in D.rglobals:389 D.rglobals.append(t.val)390 r = get_tmp(r)391 c = do_string(t)392 code(GGET,r,c)393 free_tmp(c)394 return r395def do_local(t,r=None):396 if t.val in D.rglobals:397 D.error = True398 tokenize.u_error('UnboundLocalError',D.code,t.pos)399 if t.val not in D.vars:400 D.vars.append(t.val)401 return get_reg(t.val)402def do_def(tok,kls=None):403 items = tok.items404 t = get_tag()405 rf = fnc(t,'end')406 D.begin()407 setpos(tok.pos)408 r = do_local(Token(tok.pos,'name','__params'))409 do_info(items[0].val)410 a,b,c,d = p_filter(items[1].items)411 for p in a:412 v = do_local(p)413 tmp = _do_none()414 code(GET,v,r,tmp)415 free_tmp(tmp) #REG416 for p in b:417 v = do_local(p.items[0])418 do(p.items[1],v)419 tmp = _do_none()420 code(IGET,v,r,tmp)421 free_tmp(tmp) #REG422 if c != None:423 v = do_local(c.items[0])424 tmp = _do_string('*')425 code(GET,v,r,tmp)426 free_tmp(tmp) #REG427 if d != None:428 e = do_local(d.items[0])429 code(DICT,e,0,0)430 tmp = _do_none()431 code(IGET,e,r,tmp)432 free_tmp(tmp) #REG433 free_tmp(do(items[2])) #REG434 D.end()435 tag(t,'end')436 if kls == None:437 if D._globals: do_globals(Token(tok.pos,0,0,[items[0]]))438 r = do_set_ctx(items[0],Token(tok.pos,'reg',rf))439 else:440 rn = do_string(items[0])441 code(SET,kls,rn,rf)442 free_tmp(rn)443 free_tmp(rf)444def do_class(t):445 tok = t446 items = t.items447 parent = None448 if items[0].type == 'name':449 name = items[0].val450 parent = Token(tok.pos,'name','object')451 else:452 name = items[0].items[0].val453 parent = items[0].items[1]454 kls = do(Token(t.pos,'dict',0,[]))455 un_tmp(kls)456 ts = _do_string(name)457 code(GSET,ts,kls)458 free_tmp(ts) #REG459 460 free_tmp(do(Token(tok.pos,'call',None,[461 Token(tok.pos,'name','setmeta'),462 Token(tok.pos,'reg',kls),463 parent])))464 465 for member in items[1].items:466 if member.type == 'def': do_def(member,kls)467 elif member.type == 'symbol' and member.val == '=': do_classvar(member,kls)468 else: continue469 470 free_reg(kls) #REG471def do_classvar(t,r):472 var = do_string(t.items[0])473 val = do(t.items[1])474 code(SET,r,var,val)475 free_reg(var)476 free_reg(val)477 478def do_while(t):479 items = t.items480 t = stack_tag()481 tag(t,'begin')482 tag(t,'continue')483 r = do(items[0])484 code(IF,r)485 free_tmp(r) #REG486 jump(t,'end')487 free_tmp(do(items[1])) #REG488 jump(t,'begin')489 tag(t,'break')490 tag(t,'end')491 pop_tag()492def do_for(tok):493 items = tok.items494 reg = do_local(items[0])495 itr = do(items[1])496 i = _do_number('0')497 t = stack_tag(); tag(t,'loop'); tag(t,'continue')498 code(ITER,reg,itr,i); jump(t,'end')499 free_tmp(do(items[2])) #REG500 jump(t,'loop')501 tag(t,'break'); tag(t,'end'); pop_tag()502 free_tmp(itr) #REG503 free_tmp(i)504def do_comp(t,r=None):505 name = 'comp:'+get_tag()506 r = do_local(Token(t.pos,'name',name))507 code(LIST,r,0,0)508 key = Token(t.pos,'get',None,[509 Token(t.pos,'reg',r),510 Token(t.pos,'symbol','None')])511 ap = Token(t.pos,'symbol','=',[key,t.items[0]])512 do(Token(t.pos,'for',None,[t.items[1],t.items[2],ap]))513 return r514def do_if(t):515 items = t.items516 t = get_tag()517 n = 0518 for tt in items:519 tag(t,n)520 if tt.type == 'elif':521 a = do(tt.items[0]); code(IF,a); free_tmp(a);522 jump(t,n+1)523 free_tmp(do(tt.items[1])) #REG524 elif tt.type == 'else':525 free_tmp(do(tt.items[0])) #REG526 else:527 raise528 jump(t,'end')529 n += 1530 tag(t,n)531 tag(t,'end')532def do_try(t):533 items = t.items534 t = get_tag()535 setjmp(t,'except')536 free_tmp(do(items[0])) #REG537 code(SETJMP,0)538 jump(t,'end')539 tag(t,'except')540 free_tmp(do(items[1].items[1])) #REG541 tag(t,'end')542def do_return(t):543 if t.items: r = do(t.items[0])544 else: r = _do_none()545 code(RETURN,r)546 free_tmp(r)547 return548def do_raise(t):549 if t.items: r = do(t.items[0])550 else: r = _do_none()551 code(RAISE,r)552 free_tmp(r)553 return554def do_statements(t):555 for tt in t.items: free_tmp(do(tt))556def do_list(t,r=None):557 r = get_tmp(r)558 manage_seq(LIST,r,t.items)559 return r560def do_dict(t,r=None):561 r = get_tmp(r)562 manage_seq(DICT,r,t.items)563 return r564def do_get(t,r=None):565 items = t.items566 return infix(GET,items[0],items[1],r)567def do_break(t): jump(D.tstack[-1],'break')568def do_continue(t): jump(D.tstack[-1],'continue')569def do_pass(t): code(PASS)570def do_info(name='?'):571 if '-nopos' in ARGV: return572 code(FILE,free_tmp(_do_string(D.fname)))573 code(NAME,free_tmp(_do_string(name)))574def do_module(t):575 do_info()576 free_tmp(do(t.items[0])) #REG577def do_reg(t,r=None): return t.val578fmap = {579 'module':do_module,'statements':do_statements,'def':do_def,580 'return':do_return,'while':do_while,'if':do_if,581 'break':do_break,'pass':do_pass,'continue':do_continue,'for':do_for,582 'class':do_class,'raise':do_raise,'try':do_try,'import':do_import,583 'globals':do_globals,'del':do_del,'from':do_from,584}585rmap = {586 'list':do_list, 'tuple':do_list, 'dict':do_dict, 'slice':do_list,587 'comp':do_comp, 'name':do_name,'symbol':do_symbol,'number':do_number,588 'string':do_string,'get':do_get, 'call':do_call, 'reg':do_reg,589}590def do(t,r=None):591 if t.pos: setpos(t.pos)592 try:593 if t.type in rmap:594 return rmap[t.type](t,r)595 #if r != None: free_reg(r) #REG596 return fmap[t.type](t)597 except:598 if D.error: raise599 D.error = True600 tokenize.u_error('encode',D.code,t.pos)601def encode(fname,s,t):602 t = Token((1,1),'module','module',[t])603 global D604 s = tokenize.clean(s)605 D = DState(s,fname)606 D.begin(True)607 do(t)608 D.end()609 map_tags()610 out = D.out; D = None...
ANSI.py
Source:ANSI.py
1'''This implements an ANSI (VT100) terminal emulator as a subclass of screen.2PEXPECT LICENSE3 This license is approved by the OSI and FSF as GPL-compatible.4 http://opensource.org/licenses/isc-license.txt5 Copyright (c) 2012, Noah Spurrier <noah@noah.org>6 PERMISSION TO USE, COPY, MODIFY, AND/OR DISTRIBUTE THIS SOFTWARE FOR ANY7 PURPOSE WITH OR WITHOUT FEE IS HEREBY GRANTED, PROVIDED THAT THE ABOVE8 COPYRIGHT NOTICE AND THIS PERMISSION NOTICE APPEAR IN ALL COPIES.9 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES10 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF11 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR12 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES13 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN14 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF15 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.16'''17# references:18# http://en.wikipedia.org/wiki/ANSI_escape_code19# http://www.retards.org/terminals/vt102.html20# http://vt100.net/docs/vt102-ug/contents.html21# http://vt100.net/docs/vt220-rm/22# http://www.termsys.demon.co.uk/vtansi.htm23from . import screen24from . import FSM25import string26#27# The 'Do.*' functions are helper functions for the ANSI class.28#29def DoEmit (fsm):30 screen = fsm.memory[0]31 screen.write_ch(fsm.input_symbol)32def DoStartNumber (fsm):33 fsm.memory.append (fsm.input_symbol)34def DoBuildNumber (fsm):35 ns = fsm.memory.pop()36 ns = ns + fsm.input_symbol37 fsm.memory.append (ns)38def DoBackOne (fsm):39 screen = fsm.memory[0]40 screen.cursor_back ()41def DoBack (fsm):42 count = int(fsm.memory.pop())43 screen = fsm.memory[0]44 screen.cursor_back (count)45def DoDownOne (fsm):46 screen = fsm.memory[0]47 screen.cursor_down ()48def DoDown (fsm):49 count = int(fsm.memory.pop())50 screen = fsm.memory[0]51 screen.cursor_down (count)52def DoForwardOne (fsm):53 screen = fsm.memory[0]54 screen.cursor_forward ()55def DoForward (fsm):56 count = int(fsm.memory.pop())57 screen = fsm.memory[0]58 screen.cursor_forward (count)59def DoUpReverse (fsm):60 screen = fsm.memory[0]61 screen.cursor_up_reverse()62def DoUpOne (fsm):63 screen = fsm.memory[0]64 screen.cursor_up ()65def DoUp (fsm):66 count = int(fsm.memory.pop())67 screen = fsm.memory[0]68 screen.cursor_up (count)69def DoHome (fsm):70 c = int(fsm.memory.pop())71 r = int(fsm.memory.pop())72 screen = fsm.memory[0]73 screen.cursor_home (r,c)74def DoHomeOrigin (fsm):75 c = 176 r = 177 screen = fsm.memory[0]78 screen.cursor_home (r,c)79def DoEraseDown (fsm):80 screen = fsm.memory[0]81 screen.erase_down()82def DoErase (fsm):83 arg = int(fsm.memory.pop())84 screen = fsm.memory[0]85 if arg == 0:86 screen.erase_down()87 elif arg == 1:88 screen.erase_up()89 elif arg == 2:90 screen.erase_screen()91def DoEraseEndOfLine (fsm):92 screen = fsm.memory[0]93 screen.erase_end_of_line()94def DoEraseLine (fsm):95 arg = int(fsm.memory.pop())96 screen = fsm.memory[0]97 if arg == 0:98 screen.erase_end_of_line()99 elif arg == 1:100 screen.erase_start_of_line()101 elif arg == 2:102 screen.erase_line()103def DoEnableScroll (fsm):104 screen = fsm.memory[0]105 screen.scroll_screen()106def DoCursorSave (fsm):107 screen = fsm.memory[0]108 screen.cursor_save_attrs()109def DoCursorRestore (fsm):110 screen = fsm.memory[0]111 screen.cursor_restore_attrs()112def DoScrollRegion (fsm):113 screen = fsm.memory[0]114 r2 = int(fsm.memory.pop())115 r1 = int(fsm.memory.pop())116 screen.scroll_screen_rows (r1,r2)117def DoMode (fsm):118 screen = fsm.memory[0]119 mode = fsm.memory.pop() # Should be 4120 # screen.setReplaceMode ()121def DoLog (fsm):122 screen = fsm.memory[0]123 fsm.memory = [screen]124 fout = open ('log', 'a')125 fout.write (fsm.input_symbol + ',' + fsm.current_state + '\n')126 fout.close()127class term (screen.screen):128 '''This class is an abstract, generic terminal.129 This does nothing. This is a placeholder that130 provides a common base class for other terminals131 such as an ANSI terminal. '''132 def __init__ (self, r=24, c=80, *args, **kwargs):133 screen.screen.__init__(self, r,c,*args,**kwargs)134class ANSI (term):135 '''This class implements an ANSI (VT100) terminal.136 It is a stream filter that recognizes ANSI terminal137 escape sequences and maintains the state of a screen object. '''138 def __init__ (self, r=24,c=80,*args,**kwargs):139 term.__init__(self,r,c,*args,**kwargs)140 #self.screen = screen (24,80)141 self.state = FSM.FSM ('INIT',[self])142 self.state.set_default_transition (DoLog, 'INIT')143 self.state.add_transition_any ('INIT', DoEmit, 'INIT')144 self.state.add_transition ('\x1b', 'INIT', None, 'ESC')145 self.state.add_transition_any ('ESC', DoLog, 'INIT')146 self.state.add_transition ('(', 'ESC', None, 'G0SCS')147 self.state.add_transition (')', 'ESC', None, 'G1SCS')148 self.state.add_transition_list ('AB012', 'G0SCS', None, 'INIT')149 self.state.add_transition_list ('AB012', 'G1SCS', None, 'INIT')150 self.state.add_transition ('7', 'ESC', DoCursorSave, 'INIT')151 self.state.add_transition ('8', 'ESC', DoCursorRestore, 'INIT')152 self.state.add_transition ('M', 'ESC', DoUpReverse, 'INIT')153 self.state.add_transition ('>', 'ESC', DoUpReverse, 'INIT')154 self.state.add_transition ('<', 'ESC', DoUpReverse, 'INIT')155 self.state.add_transition ('=', 'ESC', None, 'INIT') # Selects application keypad.156 self.state.add_transition ('#', 'ESC', None, 'GRAPHICS_POUND')157 self.state.add_transition_any ('GRAPHICS_POUND', None, 'INIT')158 self.state.add_transition ('[', 'ESC', None, 'ELB')159 # ELB means Escape Left Bracket. That is ^[[160 self.state.add_transition ('H', 'ELB', DoHomeOrigin, 'INIT')161 self.state.add_transition ('D', 'ELB', DoBackOne, 'INIT')162 self.state.add_transition ('B', 'ELB', DoDownOne, 'INIT')163 self.state.add_transition ('C', 'ELB', DoForwardOne, 'INIT')164 self.state.add_transition ('A', 'ELB', DoUpOne, 'INIT')165 self.state.add_transition ('J', 'ELB', DoEraseDown, 'INIT')166 self.state.add_transition ('K', 'ELB', DoEraseEndOfLine, 'INIT')167 self.state.add_transition ('r', 'ELB', DoEnableScroll, 'INIT')168 self.state.add_transition ('m', 'ELB', self.do_sgr, 'INIT')169 self.state.add_transition ('?', 'ELB', None, 'MODECRAP')170 self.state.add_transition_list (string.digits, 'ELB', DoStartNumber, 'NUMBER_1')171 self.state.add_transition_list (string.digits, 'NUMBER_1', DoBuildNumber, 'NUMBER_1')172 self.state.add_transition ('D', 'NUMBER_1', DoBack, 'INIT')173 self.state.add_transition ('B', 'NUMBER_1', DoDown, 'INIT')174 self.state.add_transition ('C', 'NUMBER_1', DoForward, 'INIT')175 self.state.add_transition ('A', 'NUMBER_1', DoUp, 'INIT')176 self.state.add_transition ('J', 'NUMBER_1', DoErase, 'INIT')177 self.state.add_transition ('K', 'NUMBER_1', DoEraseLine, 'INIT')178 self.state.add_transition ('l', 'NUMBER_1', DoMode, 'INIT')179 ### It gets worse... the 'm' code can have infinite number of180 ### number;number;number before it. I've never seen more than two,181 ### but the specs say it's allowed. crap!182 self.state.add_transition ('m', 'NUMBER_1', self.do_sgr, 'INIT')183 ### LED control. Same implementation problem as 'm' code.184 self.state.add_transition ('q', 'NUMBER_1', self.do_decsca, 'INIT')185 # \E[?47h switch to alternate screen186 # \E[?47l restores to normal screen from alternate screen.187 self.state.add_transition_list (string.digits, 'MODECRAP', DoStartNumber, 'MODECRAP_NUM')188 self.state.add_transition_list (string.digits, 'MODECRAP_NUM', DoBuildNumber, 'MODECRAP_NUM')189 self.state.add_transition ('l', 'MODECRAP_NUM', self.do_modecrap, 'INIT')190 self.state.add_transition ('h', 'MODECRAP_NUM', self.do_modecrap, 'INIT')191#RM Reset Mode Esc [ Ps l none192 self.state.add_transition (';', 'NUMBER_1', None, 'SEMICOLON')193 self.state.add_transition_any ('SEMICOLON', DoLog, 'INIT')194 self.state.add_transition_list (string.digits, 'SEMICOLON', DoStartNumber, 'NUMBER_2')195 self.state.add_transition_list (string.digits, 'NUMBER_2', DoBuildNumber, 'NUMBER_2')196 self.state.add_transition_any ('NUMBER_2', DoLog, 'INIT')197 self.state.add_transition ('H', 'NUMBER_2', DoHome, 'INIT')198 self.state.add_transition ('f', 'NUMBER_2', DoHome, 'INIT')199 self.state.add_transition ('r', 'NUMBER_2', DoScrollRegion, 'INIT')200 ### It gets worse... the 'm' code can have infinite number of201 ### number;number;number before it. I've never seen more than two,202 ### but the specs say it's allowed. crap!203 self.state.add_transition ('m', 'NUMBER_2', self.do_sgr, 'INIT')204 ### LED control. Same problem as 'm' code.205 self.state.add_transition ('q', 'NUMBER_2', self.do_decsca, 'INIT')206 self.state.add_transition (';', 'NUMBER_2', None, 'SEMICOLON_X')207 # Create a state for 'q' and 'm' which allows an infinite number of ignored numbers208 self.state.add_transition_any ('SEMICOLON_X', DoLog, 'INIT')209 self.state.add_transition_list (string.digits, 'SEMICOLON_X', DoStartNumber, 'NUMBER_X')210 self.state.add_transition_list (string.digits, 'NUMBER_X', DoBuildNumber, 'NUMBER_X')211 self.state.add_transition_any ('NUMBER_X', DoLog, 'INIT')212 self.state.add_transition ('m', 'NUMBER_X', self.do_sgr, 'INIT')213 self.state.add_transition ('q', 'NUMBER_X', self.do_decsca, 'INIT')214 self.state.add_transition (';', 'NUMBER_X', None, 'SEMICOLON_X')215 def process (self, c):216 """Process a single character. Called by :meth:`write`."""217 if isinstance(c, bytes):218 c = self._decode(c)219 self.state.process(c)220 def process_list (self, l):221 self.write(l)222 def write (self, s):223 """Process text, writing it to the virtual screen while handling224 ANSI escape codes.225 """226 if isinstance(s, bytes):227 s = self._decode(s)228 for c in s:229 self.process(c)230 def flush (self):231 pass232 def write_ch (self, ch):233 '''This puts a character at the current cursor position. The cursor234 position is moved forward with wrap-around, but no scrolling is done if235 the cursor hits the lower-right corner of the screen. '''236 if isinstance(ch, bytes):237 ch = self._decode(ch)238 #\r and \n both produce a call to cr() and lf(), respectively.239 ch = ch[0]240 if ch == u'\r':241 self.cr()242 return243 if ch == u'\n':244 self.crlf()245 return246 if ch == chr(screen.BS):247 self.cursor_back()248 return249 self.put_abs(self.cur_r, self.cur_c, ch)250 old_r = self.cur_r251 old_c = self.cur_c252 self.cursor_forward()253 if old_c == self.cur_c:254 self.cursor_down()255 if old_r != self.cur_r:256 self.cursor_home (self.cur_r, 1)257 else:258 self.scroll_up ()259 self.cursor_home (self.cur_r, 1)260 self.erase_line()261 def do_sgr (self, fsm):262 '''Select Graphic Rendition, e.g. color. '''263 screen = fsm.memory[0]264 fsm.memory = [screen]265 def do_decsca (self, fsm):266 '''Select character protection attribute. '''267 screen = fsm.memory[0]268 fsm.memory = [screen]269 def do_modecrap (self, fsm):270 '''Handler for \x1b[?<number>h and \x1b[?<number>l. If anyone271 wanted to actually use these, they'd need to add more states to the272 FSM rather than just improve or override this method. '''273 screen = fsm.memory[0]...
__init__.py
Source:__init__.py
1# -*- coding: utf-8 -*-2"""3kay.management4:Copyright: (c) 2009 Accense Technology, Inc. 5 Takashi Matsuo <tmatsuo@candit.jp>,6 All rights reserved.7:license: BSD, see LICENSE for more details.8Taken from django.9"""10import sys11import os12from werkzeug.utils import import_string13from kay.management.shell import (14 rshell, shell, clear_datastore, create_user,15)16from kay.management.runserver import runserver_passthru_argv17from kay.management.startapp import startapp18from kay.management.startapp import startproject19from kay.management.appcfg import do_appcfg_passthru_argv20from kay.management.bulkloader import (21 do_bulkloader_passthru_argv, dump_all, restore_all,22)23from kay.management.test import do_runtest24from kay.management.preparse import do_preparse_bundle25from kay.management.preparse import do_preparse_apps26from kay.management.extract_messages import do_extract_messages27from kay.management.add_translations import do_add_translations28from kay.management.update_translations import do_update_translations29from kay.management.compile_translations import do_compile_translations30from kay.management.wxadmin import do_wxadmin31from kay.management.compile_media import do_compile_media32from kay.conf import settings33action_dump_all = dump_all34action_restore_all = restore_all35action_shell = shell36action_rshell = rshell37action_startapp = startapp38action_startproject = startproject39action_test = do_runtest40action_preparse_bundle = do_preparse_bundle41action_preparse_apps = do_preparse_apps42action_extract_messages = do_extract_messages43action_add_translations = do_add_translations44action_update_translations = do_update_translations45action_compile_translations = do_compile_translations46action_appcfg = do_appcfg_passthru_argv47action_runserver = runserver_passthru_argv48action_bulkloader = do_bulkloader_passthru_argv49action_clear_datastore = clear_datastore50action_create_user = create_user51action_wxadmin = do_wxadmin52action_compile_media = do_compile_media53additional_actions = []54for app in settings.INSTALLED_APPS:55 try:56 appmod = import_string(app)57 if not os.path.exists(os.path.join(os.path.dirname(appmod.__file__),58 'management.py')):59 continue60 management_mod = import_string("%s.management" % app)61 for name, val in vars(management_mod).iteritems():62 if name.startswith("action_"):63 locals()[name] = getattr(management_mod, name)64 additional_actions.append(name)65 except Exception, e:66 import traceback67 sys.stderr.write('\n'.join(traceback.format_exception(*(sys.exc_info()))))68 pass69__all__ = [70 'runserver_passthru_argv', 'startapp', 'do_appcfg_passthru_argv',71 'do_bulkloader_passthru_argv', 'do_runtest', 'do_preparse_bundle',72 'do_extract_messages', 'do_add_translations', 'do_update_translations',73 'do_compile_translations', 'shell', 'rshell', 'do_preparse_apps',74 'startproject', 'do_wxadmin', 'clear_datastore', 'create_user', 'dump_all',75 'restore_all', 'do_compile_media',76 'action_dump_all', 'action_restore_all', 'action_shell', 'action_rshell',77 'action_startapp', 'action_startproject', 'action_test',78 'action_preparse_bundle', 'action_preparse_apps', 'action_extract_messages',79 'action_add_translations', 'action_update_translations',80 'action_compile_translations', 'action_appcfg', 'action_runserver',81 'action_bulkloader', 'action_clear_datastore', 'action_create_user',82 'action_wxadmin', 'action_compile_media',83] + additional_actions84def print_status(msg):85 print(msg)...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!