libv8 6.7.288.46.1 → 7.3.492.27.0beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +3 -0
- data/CHANGELOG.md +4 -0
- data/README.md +2 -0
- data/ext/libv8/builder.rb +6 -2
- data/lib/libv8/version.rb +1 -1
- data/vendor/depot_tools/.gitattributes +1 -0
- data/vendor/depot_tools/.gitignore +7 -0
- data/vendor/depot_tools/CROS_OWNERS +5 -0
- data/vendor/depot_tools/OWNERS +12 -1
- data/vendor/depot_tools/PRESUBMIT.py +16 -9
- data/vendor/depot_tools/README.md +9 -2
- data/vendor/depot_tools/autoninja +14 -6
- data/vendor/depot_tools/autoninja.bat +11 -1
- data/vendor/depot_tools/autoninja.py +40 -18
- data/vendor/depot_tools/bb +12 -0
- data/vendor/depot_tools/bb.bat +7 -0
- data/vendor/depot_tools/bootstrap/win/manifest.txt +1 -1
- data/vendor/depot_tools/bootstrap/win/manifest_bleeding_edge.txt +1 -1
- data/vendor/depot_tools/bootstrap/win/win_tools.py +2 -1
- data/vendor/depot_tools/buildbucket.py +57 -4
- data/vendor/depot_tools/cipd +157 -44
- data/vendor/depot_tools/cipd.bat +51 -14
- data/vendor/depot_tools/cipd.ps1 +104 -42
- data/vendor/depot_tools/cipd_client_version +1 -1
- data/vendor/depot_tools/cipd_client_version.digests +21 -0
- data/vendor/depot_tools/cipd_manifest.txt +19 -6
- data/vendor/depot_tools/cipd_manifest.versions +318 -0
- data/vendor/depot_tools/clang_format.py +4 -4
- data/vendor/depot_tools/cpplint.py +44 -199
- data/vendor/depot_tools/dart_format.py +2 -2
- data/vendor/depot_tools/detect_host_arch.py +8 -3
- data/vendor/depot_tools/download_from_google_storage.py +47 -39
- data/vendor/depot_tools/fetch.py +30 -18
- data/vendor/depot_tools/fetch_configs/android_internal.py +34 -0
- data/vendor/depot_tools/fetch_configs/chromium.py +18 -1
- data/vendor/depot_tools/fetch_configs/config_util.py +4 -2
- data/vendor/depot_tools/fetch_configs/inspector_protocol.py +40 -0
- data/vendor/depot_tools/fetch_configs/node-ci.py +41 -0
- data/vendor/depot_tools/fix_encoding.py +3 -3
- data/vendor/depot_tools/gclient +1 -1
- data/vendor/depot_tools/gclient.py +415 -198
- data/vendor/depot_tools/gclient_eval.py +220 -171
- data/vendor/depot_tools/gclient_paths.py +142 -0
- data/vendor/depot_tools/gclient_scm.py +200 -51
- data/vendor/depot_tools/gclient_utils.py +88 -191
- data/vendor/depot_tools/gerrit_client.py +13 -0
- data/vendor/depot_tools/gerrit_util.py +158 -23
- data/vendor/depot_tools/git-nav-upstream +1 -1
- data/vendor/depot_tools/git_cache.py +77 -24
- data/vendor/depot_tools/git_cl.py +705 -1099
- data/vendor/depot_tools/git_common.py +9 -6
- data/vendor/depot_tools/git_map_branches.py +19 -2
- data/vendor/depot_tools/git_nav_downstream.py +3 -4
- data/vendor/depot_tools/git_rebase_update.py +14 -0
- data/vendor/depot_tools/git_reparent_branch.py +8 -2
- data/vendor/depot_tools/gn.py +38 -3
- data/vendor/depot_tools/gsutil.py +8 -3
- data/vendor/depot_tools/gsutil.py.bat +15 -0
- data/vendor/depot_tools/gsutil.vpython +16 -0
- data/vendor/depot_tools/infra/config/OWNERS +0 -1
- data/vendor/depot_tools/infra/config/recipes.cfg +3 -2
- data/vendor/depot_tools/lucicfg +12 -0
- data/vendor/depot_tools/lucicfg.bat +7 -0
- data/vendor/depot_tools/man/html/git-map-branches.html +34 -2
- data/vendor/depot_tools/man/html/git-new-branch.html +40 -32
- data/vendor/depot_tools/man/man1/git-map-branches.1 +24 -5
- data/vendor/depot_tools/man/man1/git-new-branch.1 +35 -27
- data/vendor/depot_tools/man/src/git-map-branches.demo.1.sh +1 -0
- data/vendor/depot_tools/man/src/git-map-branches.txt +10 -0
- data/vendor/depot_tools/man/src/git-new-branch.demo.1.sh +9 -4
- data/vendor/depot_tools/man/src/git-new-branch.txt +1 -1
- data/vendor/depot_tools/metrics.README.md +98 -0
- data/vendor/depot_tools/metrics.py +296 -0
- data/vendor/depot_tools/metrics_utils.py +303 -0
- data/vendor/depot_tools/my_activity.py +91 -29
- data/vendor/depot_tools/ninja +1 -1
- data/vendor/depot_tools/ninjalog.README.md +64 -0
- data/vendor/depot_tools/ninjalog_uploader.py +232 -0
- data/vendor/depot_tools/ninjalog_uploader_wrapper.py +116 -0
- data/vendor/depot_tools/owners.py +30 -13
- data/vendor/depot_tools/owners_finder.py +5 -2
- data/vendor/depot_tools/presubmit_canned_checks.py +188 -29
- data/vendor/depot_tools/presubmit_support.py +18 -41
- data/vendor/depot_tools/pylintrc +23 -19
- data/vendor/depot_tools/recipes/OWNERS +2 -0
- data/vendor/depot_tools/recipes/README.recipes.md +344 -151
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/OWNERS +2 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/__init__.py +2 -16
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/api.py +141 -99
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic.json +5 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_luci.json +5 -8
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/basic_with_branch_heads.json +6 -98
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/clobber.json +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/deprecated_got_revision_mapping.json +45 -5
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_rebase_patch_ref.json +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/gerrit_no_reset.json +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{tryjob.json → input_commit_with_id_without_repo.json} +6 -11
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{tryjob_empty_revision.json → multiple_patch_refs.json} +8 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/no_apply_patch_on_gclient.json +19 -29
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/{trychange.json → refs.json} +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/reset_root_solution_revision.json +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail.json +51 -6
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch.json +50 -6
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_fail_patch_download.json +51 -6
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle.json +17 -25
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_branch_heads.json +17 -25
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_feature_branch.json +18 -26
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8_feature_branch.json +18 -26
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_webrtc.json +26 -28
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8.json +45 -5
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_v8_head_by_default.json +17 -25
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/unrecognized_commit_repo.json +13 -0
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_manifest_name.json +13 -152
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_tags.json +4 -9
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.py +185 -202
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py +52 -157
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/test_api.py +5 -14
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/tests/ensure_checkout.py +34 -0
- data/vendor/depot_tools/recipes/recipe_modules/cipd/api.py +14 -2
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/basic_pkg.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-failed.json +7 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/describe-many-instances.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/mac64.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_file.json +9 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_mode.json +9 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/pkg_bad_verfile.json +9 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/full.expected/win64.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk arch.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/junk bits.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_32.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_arm_64.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_32.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_intel_64.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/linux_mips_64.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/mac_intel_64.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_32.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/cipd/examples/platform_suffix.expected/win_intel_64.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/api.py +13 -8
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic.json +18 -12
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/basic_luci.json +18 -12
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.expected/win.json +18 -12
- data/vendor/depot_tools/recipes/recipe_modules/depot_tools/examples/full.py +3 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/__init__.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/gclient/api.py +58 -46
- data/vendor/depot_tools/recipes/recipe_modules/gclient/config.py +65 -22
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/basic.json +20 -21
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/buildbot.json +20 -21
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/revision.json +20 -21
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.expected/tryserver.json +20 -21
- data/vendor/depot_tools/recipes/recipe_modules/gclient/examples/full.py +5 -2
- data/vendor/depot_tools/recipes/recipe_modules/gclient/tests/patch_project.py +62 -14
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/api.py +24 -38
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.expected/basic.json +56 -50
- data/vendor/depot_tools/recipes/recipe_modules/gerrit/examples/full.py +15 -9
- data/vendor/depot_tools/recipes/recipe_modules/git/__init__.py +4 -1
- data/vendor/depot_tools/recipes/recipe_modules/git/api.py +34 -22
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_branch.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_file_name.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_hash.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_luci.json +222 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_ref.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_submodule_update_force.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/basic_tags.json +224 -0
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/can_fail_build.json +10 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cannot_fail_build.json +5 -7
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/cat-file_test.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_delta.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_failed.json +5 -7
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/count-objects_with_bad_output_fails_build.json +10 -5
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/curl_trace_file.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/git-cache-checkout.json +8 -9
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/platform_win.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/rebase_failed.json +12 -8
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/remote_not_origin.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.expected/set_got_revision.json +5 -6
- data/vendor/depot_tools/recipes/recipe_modules/git/examples/full.py +27 -11
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/api.py +1 -1
- data/vendor/depot_tools/recipes/recipe_modules/git_cl/examples/full.expected/basic.json +12 -13
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/__init__.py +5 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/api.py +120 -5
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.expected/basic.json +45 -3
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/examples/full.py +25 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/resources/gerrit_client.py +56 -4
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.expected/basic.json +6 -0
- data/vendor/depot_tools/recipes/recipe_modules/gitiles/tests/parse_repo_url.py +49 -0
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/api.py +24 -13
- data/vendor/depot_tools/recipes/recipe_modules/gsutil/examples/full.expected/basic.json +13 -14
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/basic.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_linux.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_mac.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_buildbot_win.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_linux.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_mac.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_generic_win.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_linux.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_mac.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/examples/full.expected/paths_kitchen_win.json +2 -3
- data/vendor/depot_tools/recipes/recipe_modules/infra_paths/path_config.py +1 -2
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/__init__.py +35 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/api.py +116 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/linux.json +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/mac.json +82 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.expected/win.json +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/osx_sdk/examples/full.py +23 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/__init__.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/api.py +2 -7
- data/vendor/depot_tools/recipes/recipe_modules/presubmit/examples/full.expected/basic.json +7 -6
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/__init__.py +1 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/api.py +117 -8
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/basic_tags.json +4 -5
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/set_failure_hash_with_no_steps.json +7 -4
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch.json +98 -7
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_gerrit_patch_and_target_ref.json +147 -0
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch.json +8 -5
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_git_patch_luci.json +8 -5
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch.json +9 -6
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.expected/with_wrong_patch_new.json +9 -6
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/examples/full.py +27 -2
- data/vendor/depot_tools/recipes/recipe_modules/tryserver/test_api.py +14 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/__init__.py +25 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/api.py +137 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/linux.json +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/mac.json +22 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.expected/win.json +107 -0
- data/vendor/depot_tools/recipes/recipe_modules/windows_sdk/examples/full.py +26 -0
- data/vendor/depot_tools/recipes/recipes.py +37 -27
- data/vendor/depot_tools/recipes/recipes/fetch_end_to_end_test.expected/basic.json +7 -10
- data/vendor/depot_tools/repo +34 -8
- data/vendor/depot_tools/roll_dep.py +52 -49
- data/vendor/depot_tools/scm.py +38 -23
- data/vendor/depot_tools/setup_color.py +4 -2
- data/vendor/depot_tools/split_cl.py +32 -4
- data/vendor/depot_tools/subprocess2.py +22 -4
- data/vendor/depot_tools/third_party/httplib2/README.chromium +2 -2
- data/vendor/depot_tools/third_party/httplib2/__init__.py +242 -158
- data/vendor/depot_tools/third_party/httplib2/cacerts.txt +57 -44
- data/vendor/depot_tools/third_party/httplib2/socks.py +15 -5
- data/vendor/depot_tools/third_party/logilab/README.chromium +2 -4
- data/vendor/depot_tools/third_party/logilab/astroid/README.chromium +2 -1
- data/vendor/depot_tools/third_party/logilab/astroid/__init__.py +10 -5
- data/vendor/depot_tools/third_party/logilab/astroid/__pkginfo__.py +5 -5
- data/vendor/depot_tools/third_party/logilab/astroid/arguments.py +233 -0
- data/vendor/depot_tools/third_party/logilab/astroid/as_string.py +82 -33
- data/vendor/depot_tools/third_party/logilab/astroid/bases.py +137 -153
- data/vendor/depot_tools/third_party/logilab/astroid/brain/{builtin_inference.py → brain_builtin_inference.py} +117 -26
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_dateutil.py +15 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/{py2gi.py → brain_gi.py} +48 -8
- data/vendor/depot_tools/third_party/logilab/astroid/brain/{py2mechanize.py → brain_mechanize.py} +0 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/{pynose.py → brain_nose.py} +4 -1
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_numpy.py +62 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_pytest.py +76 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_qt.py +44 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/{pysix_moves.py → brain_six.py} +28 -1
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_ssl.py +65 -0
- data/vendor/depot_tools/third_party/logilab/astroid/brain/brain_stdlib.py +473 -0
- data/vendor/depot_tools/third_party/logilab/astroid/builder.py +104 -81
- data/vendor/depot_tools/third_party/logilab/astroid/context.py +81 -0
- data/vendor/depot_tools/third_party/logilab/astroid/decorators.py +75 -0
- data/vendor/depot_tools/third_party/logilab/astroid/exceptions.py +20 -0
- data/vendor/depot_tools/third_party/logilab/astroid/inference.py +137 -183
- data/vendor/depot_tools/third_party/logilab/astroid/manager.py +45 -169
- data/vendor/depot_tools/third_party/logilab/astroid/mixins.py +37 -14
- data/vendor/depot_tools/third_party/logilab/astroid/modutils.py +112 -41
- data/vendor/depot_tools/third_party/logilab/astroid/node_classes.py +243 -156
- data/vendor/depot_tools/third_party/logilab/astroid/nodes.py +35 -22
- data/vendor/depot_tools/third_party/logilab/astroid/objects.py +186 -0
- data/vendor/depot_tools/third_party/logilab/astroid/protocols.py +157 -102
- data/vendor/depot_tools/third_party/logilab/astroid/raw_building.py +32 -8
- data/vendor/depot_tools/third_party/logilab/astroid/rebuilder.py +372 -309
- data/vendor/depot_tools/third_party/logilab/astroid/scoped_nodes.py +652 -420
- data/vendor/depot_tools/third_party/logilab/astroid/test_utils.py +4 -21
- data/vendor/depot_tools/third_party/logilab/astroid/transforms.py +96 -0
- data/vendor/depot_tools/third_party/logilab/astroid/util.py +89 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/LICENSE +19 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/README.chromium +11 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/__init__.py +20 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/cext.c +1421 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/compat.py +9 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/simple.py +246 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/slots.py +414 -0
- data/vendor/depot_tools/third_party/logilab/lazy_object_proxy/utils.py +13 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/LICENSE +24 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/README.chromium +11 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/__init__.py +19 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/_wrappers.c +2729 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/arguments.py +96 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/decorators.py +512 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/importer.py +228 -0
- data/vendor/depot_tools/third_party/logilab/wrapt/wrappers.py +901 -0
- data/vendor/depot_tools/third_party/pylint/README.chromium +2 -25
- data/vendor/depot_tools/third_party/pylint/__pkginfo__.py +13 -3
- data/vendor/depot_tools/third_party/pylint/checkers/__init__.py +1 -2
- data/vendor/depot_tools/third_party/pylint/checkers/async.py +82 -0
- data/vendor/depot_tools/third_party/pylint/checkers/base.py +893 -119
- data/vendor/depot_tools/third_party/pylint/checkers/classes.py +342 -204
- data/vendor/depot_tools/third_party/pylint/checkers/design_analysis.py +51 -34
- data/vendor/depot_tools/third_party/pylint/checkers/exceptions.py +84 -47
- data/vendor/depot_tools/third_party/pylint/checkers/format.py +55 -30
- data/vendor/depot_tools/third_party/pylint/checkers/imports.py +314 -73
- data/vendor/depot_tools/third_party/pylint/checkers/logging.py +10 -8
- data/vendor/depot_tools/third_party/pylint/checkers/misc.py +2 -1
- data/vendor/depot_tools/third_party/pylint/checkers/newstyle.py +45 -48
- data/vendor/depot_tools/third_party/pylint/checkers/python3.py +31 -21
- data/vendor/depot_tools/third_party/pylint/checkers/raw_metrics.py +3 -3
- data/vendor/depot_tools/third_party/pylint/checkers/similar.py +4 -5
- data/vendor/depot_tools/third_party/pylint/checkers/spelling.py +24 -10
- data/vendor/depot_tools/third_party/pylint/checkers/stdlib.py +120 -56
- data/vendor/depot_tools/third_party/pylint/checkers/strings.py +38 -35
- data/vendor/depot_tools/third_party/pylint/checkers/typecheck.py +485 -138
- data/vendor/depot_tools/third_party/pylint/checkers/utils.py +319 -142
- data/vendor/depot_tools/third_party/pylint/checkers/variables.py +329 -207
- data/vendor/depot_tools/third_party/pylint/config.py +739 -76
- data/vendor/depot_tools/third_party/pylint/epylint.py +9 -5
- data/vendor/depot_tools/third_party/pylint/extensions/__init__.py +0 -0
- data/vendor/depot_tools/third_party/pylint/extensions/check_docs.py +311 -0
- data/vendor/depot_tools/third_party/pylint/extensions/check_elif.py +62 -0
- data/vendor/depot_tools/third_party/{logilab/common → pylint}/graph.py +30 -133
- data/vendor/depot_tools/third_party/pylint/gui.py +2 -2
- data/vendor/depot_tools/third_party/pylint/interfaces.py +21 -3
- data/vendor/depot_tools/third_party/pylint/lint.py +123 -140
- data/vendor/depot_tools/third_party/pylint/pyreverse/diadefslib.py +10 -13
- data/vendor/depot_tools/third_party/pylint/pyreverse/diagrams.py +15 -4
- data/vendor/depot_tools/third_party/pylint/pyreverse/inspector.py +372 -0
- data/vendor/depot_tools/third_party/pylint/pyreverse/main.py +30 -7
- data/vendor/depot_tools/third_party/pylint/pyreverse/utils.py +80 -2
- data/vendor/depot_tools/third_party/{logilab/common → pylint/pyreverse}/vcgutils.py +19 -37
- data/vendor/depot_tools/third_party/pylint/pyreverse/writer.py +3 -4
- data/vendor/depot_tools/third_party/pylint/reporters/__init__.py +34 -18
- data/vendor/depot_tools/third_party/pylint/reporters/guireporter.py +1 -1
- data/vendor/depot_tools/third_party/pylint/reporters/html.py +10 -3
- data/vendor/depot_tools/third_party/pylint/reporters/json.py +10 -4
- data/vendor/depot_tools/third_party/pylint/reporters/text.py +94 -3
- data/vendor/depot_tools/third_party/pylint/reporters/ureports/__init__.py +106 -0
- data/vendor/depot_tools/third_party/{logilab/common → pylint/reporters}/ureports/html_writer.py +17 -57
- data/vendor/depot_tools/third_party/{logilab/common → pylint/reporters}/ureports/nodes.py +52 -74
- data/vendor/depot_tools/third_party/{logilab/common → pylint/reporters}/ureports/text_writer.py +14 -60
- data/vendor/depot_tools/third_party/pylint/testutils.py +22 -20
- data/vendor/depot_tools/third_party/pylint/utils.py +268 -44
- data/vendor/depot_tools/third_party/repo/progress.py +42 -0
- data/vendor/depot_tools/update_depot_tools +1 -1
- data/vendor/depot_tools/upload_metrics.py +25 -0
- data/vendor/depot_tools/win_toolchain/get_toolchain_if_necessary.py +45 -15
- data/vendor/depot_tools/win_toolchain/package_from_installed.py +71 -24
- data/vendor/depot_tools/yapf +1 -1
- data/vendor/depot_tools/yapf.bat +1 -1
- metadata +92 -77
- data/vendor/depot_tools/git-crsync +0 -3
- data/vendor/depot_tools/infra/config/cq.cfg +0 -32
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/apply_gerrit_ref.json +0 -29
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/apply_gerrit_ref_custom.json +0 -29
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/buildbot.json +0 -105
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/shallow.json +0 -195
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_angle_deprecated.json +0 -248
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/tryjob_gerrit_v8.json +0 -248
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/examples/full.expected/with_manifest_name_no_patch.json +0 -105
- data/vendor/depot_tools/recipes/recipe_modules/bot_update/resources/apply_gerrit.py +0 -33
- data/vendor/depot_tools/third_party/logilab/astroid/brain/py2pytest.py +0 -31
- data/vendor/depot_tools/third_party/logilab/astroid/brain/py2qt4.py +0 -22
- data/vendor/depot_tools/third_party/logilab/astroid/brain/py2stdlib.py +0 -334
- data/vendor/depot_tools/third_party/logilab/astroid/inspector.py +0 -273
- data/vendor/depot_tools/third_party/logilab/astroid/utils.py +0 -239
- data/vendor/depot_tools/third_party/logilab/common/LICENSE.txt +0 -339
- data/vendor/depot_tools/third_party/logilab/common/README.chromium +0 -11
- data/vendor/depot_tools/third_party/logilab/common/__init__.py +0 -175
- data/vendor/depot_tools/third_party/logilab/common/__pkginfo__.py +0 -57
- data/vendor/depot_tools/third_party/logilab/common/cache.py +0 -114
- data/vendor/depot_tools/third_party/logilab/common/changelog.py +0 -238
- data/vendor/depot_tools/third_party/logilab/common/clcommands.py +0 -334
- data/vendor/depot_tools/third_party/logilab/common/cli.py +0 -211
- data/vendor/depot_tools/third_party/logilab/common/compat.py +0 -78
- data/vendor/depot_tools/third_party/logilab/common/configuration.py +0 -1105
- data/vendor/depot_tools/third_party/logilab/common/contexts.py +0 -5
- data/vendor/depot_tools/third_party/logilab/common/corbautils.py +0 -117
- data/vendor/depot_tools/third_party/logilab/common/daemon.py +0 -101
- data/vendor/depot_tools/third_party/logilab/common/date.py +0 -335
- data/vendor/depot_tools/third_party/logilab/common/dbf.py +0 -231
- data/vendor/depot_tools/third_party/logilab/common/debugger.py +0 -214
- data/vendor/depot_tools/third_party/logilab/common/decorators.py +0 -281
- data/vendor/depot_tools/third_party/logilab/common/deprecation.py +0 -189
- data/vendor/depot_tools/third_party/logilab/common/fileutils.py +0 -404
- data/vendor/depot_tools/third_party/logilab/common/interface.py +0 -71
- data/vendor/depot_tools/third_party/logilab/common/logging_ext.py +0 -195
- data/vendor/depot_tools/third_party/logilab/common/modutils.py +0 -702
- data/vendor/depot_tools/third_party/logilab/common/optik_ext.py +0 -392
- data/vendor/depot_tools/third_party/logilab/common/optparser.py +0 -92
- data/vendor/depot_tools/third_party/logilab/common/proc.py +0 -277
- data/vendor/depot_tools/third_party/logilab/common/pyro_ext.py +0 -180
- data/vendor/depot_tools/third_party/logilab/common/pytest.py +0 -1199
- data/vendor/depot_tools/third_party/logilab/common/registry.py +0 -1119
- data/vendor/depot_tools/third_party/logilab/common/shellutils.py +0 -462
- data/vendor/depot_tools/third_party/logilab/common/sphinx_ext.py +0 -87
- data/vendor/depot_tools/third_party/logilab/common/sphinxutils.py +0 -122
- data/vendor/depot_tools/third_party/logilab/common/table.py +0 -929
- data/vendor/depot_tools/third_party/logilab/common/tasksqueue.py +0 -101
- data/vendor/depot_tools/third_party/logilab/common/testlib.py +0 -1392
- data/vendor/depot_tools/third_party/logilab/common/textutils.py +0 -537
- data/vendor/depot_tools/third_party/logilab/common/tree.py +0 -369
- data/vendor/depot_tools/third_party/logilab/common/umessage.py +0 -194
- data/vendor/depot_tools/third_party/logilab/common/ureports/__init__.py +0 -172
- data/vendor/depot_tools/third_party/logilab/common/ureports/docbook_writer.py +0 -140
- data/vendor/depot_tools/third_party/logilab/common/urllib2ext.py +0 -89
- data/vendor/depot_tools/third_party/logilab/common/visitor.py +0 -109
- data/vendor/depot_tools/third_party/logilab/common/xmlrpcutils.py +0 -131
- data/vendor/depot_tools/third_party/logilab/common/xmlutils.py +0 -61
@@ -14,9 +14,9 @@
|
|
14
14
|
"""JSON reporter"""
|
15
15
|
from __future__ import absolute_import, print_function
|
16
16
|
|
17
|
+
import cgi
|
17
18
|
import json
|
18
19
|
import sys
|
19
|
-
from cgi import escape
|
20
20
|
|
21
21
|
from pylint.interfaces import IReporter
|
22
22
|
from pylint.reporters import BaseReporter
|
@@ -35,7 +35,6 @@ class JSONReporter(BaseReporter):
|
|
35
35
|
|
36
36
|
def handle_message(self, message):
|
37
37
|
"""Manage message of different type and in the context of path."""
|
38
|
-
|
39
38
|
self.messages.append({
|
40
39
|
'type': message.category,
|
41
40
|
'module': message.module,
|
@@ -44,14 +43,21 @@ class JSONReporter(BaseReporter):
|
|
44
43
|
'column': message.column,
|
45
44
|
'path': message.path,
|
46
45
|
'symbol': message.symbol,
|
47
|
-
|
46
|
+
# pylint: disable=deprecated-method; deprecated since 3.2.
|
47
|
+
'message': cgi.escape(message.msg or ''),
|
48
48
|
})
|
49
49
|
|
50
|
-
def
|
50
|
+
def display_messages(self, layout):
|
51
51
|
"""Launch layouts display"""
|
52
52
|
if self.messages:
|
53
53
|
print(json.dumps(self.messages, indent=4), file=self.out)
|
54
54
|
|
55
|
+
def display_reports(self, _):
|
56
|
+
"""Don't do nothing in this reporter."""
|
57
|
+
|
58
|
+
def _display(self, layout):
|
59
|
+
"""Don't do nothing."""
|
60
|
+
|
55
61
|
|
56
62
|
def register(linter):
|
57
63
|
"""Register the reporter classes with the linter."""
|
@@ -19,16 +19,104 @@
|
|
19
19
|
from __future__ import print_function
|
20
20
|
|
21
21
|
import warnings
|
22
|
+
import sys
|
22
23
|
|
23
|
-
|
24
|
-
from logilab.common.textutils import colorize_ansi
|
24
|
+
import six
|
25
25
|
|
26
26
|
from pylint.interfaces import IReporter
|
27
27
|
from pylint.reporters import BaseReporter
|
28
|
-
import
|
28
|
+
from pylint import utils
|
29
|
+
from pylint.reporters.ureports.text_writer import TextWriter
|
30
|
+
|
29
31
|
|
30
32
|
TITLE_UNDERLINES = ['', '=', '-', '.']
|
31
33
|
|
34
|
+
ANSI_PREFIX = '\033['
|
35
|
+
ANSI_END = 'm'
|
36
|
+
ANSI_RESET = '\033[0m'
|
37
|
+
ANSI_STYLES = {
|
38
|
+
'reset': "0",
|
39
|
+
'bold': "1",
|
40
|
+
'italic': "3",
|
41
|
+
'underline': "4",
|
42
|
+
'blink': "5",
|
43
|
+
'inverse': "7",
|
44
|
+
'strike': "9",
|
45
|
+
}
|
46
|
+
ANSI_COLORS = {
|
47
|
+
'reset': "0",
|
48
|
+
'black': "30",
|
49
|
+
'red': "31",
|
50
|
+
'green': "32",
|
51
|
+
'yellow': "33",
|
52
|
+
'blue': "34",
|
53
|
+
'magenta': "35",
|
54
|
+
'cyan': "36",
|
55
|
+
'white': "37",
|
56
|
+
}
|
57
|
+
|
58
|
+
def _get_ansi_code(color=None, style=None):
|
59
|
+
"""return ansi escape code corresponding to color and style
|
60
|
+
|
61
|
+
:type color: str or None
|
62
|
+
:param color:
|
63
|
+
the color name (see `ANSI_COLORS` for available values)
|
64
|
+
or the color number when 256 colors are available
|
65
|
+
|
66
|
+
:type style: str or None
|
67
|
+
:param style:
|
68
|
+
style string (see `ANSI_COLORS` for available values). To get
|
69
|
+
several style effects at the same time, use a coma as separator.
|
70
|
+
|
71
|
+
:raise KeyError: if an unexistent color or style identifier is given
|
72
|
+
|
73
|
+
:rtype: str
|
74
|
+
:return: the built escape code
|
75
|
+
"""
|
76
|
+
ansi_code = []
|
77
|
+
if style:
|
78
|
+
style_attrs = utils._splitstrip(style)
|
79
|
+
for effect in style_attrs:
|
80
|
+
ansi_code.append(ANSI_STYLES[effect])
|
81
|
+
if color:
|
82
|
+
if color.isdigit():
|
83
|
+
ansi_code.extend(['38', '5'])
|
84
|
+
ansi_code.append(color)
|
85
|
+
else:
|
86
|
+
ansi_code.append(ANSI_COLORS[color])
|
87
|
+
if ansi_code:
|
88
|
+
return ANSI_PREFIX + ';'.join(ansi_code) + ANSI_END
|
89
|
+
return ''
|
90
|
+
|
91
|
+
def colorize_ansi(msg, color=None, style=None):
|
92
|
+
"""colorize message by wrapping it with ansi escape codes
|
93
|
+
|
94
|
+
:type msg: str or unicode
|
95
|
+
:param msg: the message string to colorize
|
96
|
+
|
97
|
+
:type color: str or None
|
98
|
+
:param color:
|
99
|
+
the color identifier (see `ANSI_COLORS` for available values)
|
100
|
+
|
101
|
+
:type style: str or None
|
102
|
+
:param style:
|
103
|
+
style string (see `ANSI_COLORS` for available values). To get
|
104
|
+
several style effects at the same time, use a coma as separator.
|
105
|
+
|
106
|
+
:raise KeyError: if an unexistent color or style identifier is given
|
107
|
+
|
108
|
+
:rtype: str or unicode
|
109
|
+
:return: the ansi escaped string
|
110
|
+
"""
|
111
|
+
# If both color and style are not defined, then leave the text as is
|
112
|
+
if color is None and style is None:
|
113
|
+
return msg
|
114
|
+
escape_code = _get_ansi_code(color, style)
|
115
|
+
# If invalid (or unknown) color, don't wrap msg with ansi codes
|
116
|
+
if escape_code:
|
117
|
+
return '%s%s%s' % (escape_code, msg, ANSI_RESET)
|
118
|
+
return msg
|
119
|
+
|
32
120
|
|
33
121
|
class TextReporter(BaseReporter):
|
34
122
|
"""reports messages and layouts in plain text"""
|
@@ -106,6 +194,9 @@ class ColorizedTextReporter(TextReporter):
|
|
106
194
|
TextReporter.__init__(self, output)
|
107
195
|
self.color_mapping = color_mapping or \
|
108
196
|
dict(ColorizedTextReporter.COLOR_MAPPING)
|
197
|
+
if sys.platform == 'win32':
|
198
|
+
import colorama
|
199
|
+
self.out = colorama.AnsiToWin32(self.out)
|
109
200
|
|
110
201
|
def _get_decoration(self, msg_id):
|
111
202
|
"""Returns the tuple color, style associated with msg_id as defined
|
@@ -0,0 +1,106 @@
|
|
1
|
+
# copyright 2003-2015 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
|
2
|
+
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
|
3
|
+
#
|
4
|
+
# This file is part of pylint.
|
5
|
+
#
|
6
|
+
# pylint is free software: you can redistribute it and/or modify it under
|
7
|
+
# the terms of the GNU Lesser General Public License as published by the Free
|
8
|
+
# Software Foundation, either version 2.1 of the License, or (at your option) any
|
9
|
+
# later version.
|
10
|
+
#
|
11
|
+
# pylint is distributed in the hope that it will be useful, but WITHOUT
|
12
|
+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
13
|
+
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
|
14
|
+
# details.
|
15
|
+
#
|
16
|
+
# You should have received a copy of the GNU Lesser General Public License along
|
17
|
+
# with pylint. If not, see <http://www.gnu.org/licenses/>.
|
18
|
+
"""Universal report objects and some formatting drivers.
|
19
|
+
|
20
|
+
A way to create simple reports using python objects, primarily designed to be
|
21
|
+
formatted as text and html.
|
22
|
+
"""
|
23
|
+
import os
|
24
|
+
import sys
|
25
|
+
|
26
|
+
import six
|
27
|
+
|
28
|
+
|
29
|
+
class BaseWriter(object):
|
30
|
+
"""base class for ureport writers"""
|
31
|
+
|
32
|
+
def format(self, layout, stream=None, encoding=None):
|
33
|
+
"""format and write the given layout into the stream object
|
34
|
+
|
35
|
+
unicode policy: unicode strings may be found in the layout;
|
36
|
+
try to call stream.write with it, but give it back encoded using
|
37
|
+
the given encoding if it fails
|
38
|
+
"""
|
39
|
+
if stream is None:
|
40
|
+
stream = sys.stdout
|
41
|
+
if not encoding:
|
42
|
+
encoding = getattr(stream, 'encoding', 'UTF-8')
|
43
|
+
self.encoding = encoding or 'UTF-8'
|
44
|
+
self.out = stream
|
45
|
+
self.begin_format()
|
46
|
+
layout.accept(self)
|
47
|
+
self.end_format()
|
48
|
+
|
49
|
+
def format_children(self, layout):
|
50
|
+
"""recurse on the layout children and call their accept method
|
51
|
+
(see the Visitor pattern)
|
52
|
+
"""
|
53
|
+
for child in getattr(layout, 'children', ()):
|
54
|
+
child.accept(self)
|
55
|
+
|
56
|
+
def writeln(self, string=u''):
|
57
|
+
"""write a line in the output buffer"""
|
58
|
+
self.write(string + os.linesep)
|
59
|
+
|
60
|
+
def write(self, string):
|
61
|
+
"""write a string in the output buffer"""
|
62
|
+
self.out.write(string)
|
63
|
+
|
64
|
+
def begin_format(self):
|
65
|
+
"""begin to format a layout"""
|
66
|
+
self.section = 0
|
67
|
+
|
68
|
+
def end_format(self):
|
69
|
+
"""finished to format a layout"""
|
70
|
+
|
71
|
+
def get_table_content(self, table):
|
72
|
+
"""trick to get table content without actually writing it
|
73
|
+
|
74
|
+
return an aligned list of lists containing table cells values as string
|
75
|
+
"""
|
76
|
+
result = [[]]
|
77
|
+
cols = table.cols
|
78
|
+
for cell in self.compute_content(table):
|
79
|
+
if cols == 0:
|
80
|
+
result.append([])
|
81
|
+
cols = table.cols
|
82
|
+
cols -= 1
|
83
|
+
result[-1].append(cell)
|
84
|
+
# fill missing cells
|
85
|
+
while len(result[-1]) < cols:
|
86
|
+
result[-1].append(u'')
|
87
|
+
return result
|
88
|
+
|
89
|
+
def compute_content(self, layout):
|
90
|
+
"""trick to compute the formatting of children layout before actually
|
91
|
+
writing it
|
92
|
+
|
93
|
+
return an iterator on strings (one for each child element)
|
94
|
+
"""
|
95
|
+
# Patch the underlying output stream with a fresh-generated stream,
|
96
|
+
# which is used to store a temporary representation of a child
|
97
|
+
# node.
|
98
|
+
out = self.out
|
99
|
+
try:
|
100
|
+
for child in layout.children:
|
101
|
+
stream = six.StringIO()
|
102
|
+
self.out = stream
|
103
|
+
child.accept(self)
|
104
|
+
yield stream.getvalue()
|
105
|
+
finally:
|
106
|
+
self.out = out
|
data/vendor/depot_tools/third_party/{logilab/common → pylint/reporters}/ureports/html_writer.py
RENAMED
@@ -1,28 +1,23 @@
|
|
1
|
-
# copyright 2003-
|
1
|
+
# copyright 2003-2015 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
|
2
2
|
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
|
3
3
|
#
|
4
|
-
# This file is part of
|
4
|
+
# This file is part of pylint.
|
5
5
|
#
|
6
|
-
#
|
6
|
+
# pylint is free software: you can redistribute it and/or modify it under
|
7
7
|
# the terms of the GNU Lesser General Public License as published by the Free
|
8
8
|
# Software Foundation, either version 2.1 of the License, or (at your option) any
|
9
9
|
# later version.
|
10
10
|
#
|
11
|
-
#
|
11
|
+
# pylint is distributed in the hope that it will be useful, but WITHOUT
|
12
12
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
13
13
|
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
|
14
14
|
# details.
|
15
15
|
#
|
16
16
|
# You should have received a copy of the GNU Lesser General Public License along
|
17
|
-
# with
|
17
|
+
# with pylint. If not, see <http://www.gnu.org/licenses/>.
|
18
18
|
"""HTML formatting drivers for ureports"""
|
19
|
-
__docformat__ = "restructuredtext en"
|
20
19
|
|
21
|
-
from
|
22
|
-
|
23
|
-
from six.moves import range
|
24
|
-
|
25
|
-
from logilab.common.ureports import BaseWriter
|
20
|
+
from pylint.reporters.ureports import BaseWriter
|
26
21
|
|
27
22
|
|
28
23
|
class HTMLWriter(BaseWriter):
|
@@ -32,93 +27,58 @@ class HTMLWriter(BaseWriter):
|
|
32
27
|
super(HTMLWriter, self).__init__()
|
33
28
|
self.snippet = snippet
|
34
29
|
|
35
|
-
def
|
36
|
-
"""get an attribute string from layout member attributes"""
|
37
|
-
attrs = u''
|
38
|
-
klass = getattr(layout, 'klass', None)
|
39
|
-
if klass:
|
40
|
-
attrs += u' class="%s"' % klass
|
41
|
-
nid = getattr(layout, 'id', None)
|
42
|
-
if nid:
|
43
|
-
attrs += u' id="%s"' % nid
|
44
|
-
return attrs
|
45
|
-
|
46
|
-
def begin_format(self, layout):
|
30
|
+
def begin_format(self):
|
47
31
|
"""begin to format a layout"""
|
48
|
-
super(HTMLWriter, self).begin_format(
|
32
|
+
super(HTMLWriter, self).begin_format()
|
49
33
|
if self.snippet is None:
|
50
34
|
self.writeln(u'<html>')
|
51
35
|
self.writeln(u'<body>')
|
52
36
|
|
53
|
-
def end_format(self
|
37
|
+
def end_format(self):
|
54
38
|
"""finished to format a layout"""
|
55
39
|
if self.snippet is None:
|
56
40
|
self.writeln(u'</body>')
|
57
41
|
self.writeln(u'</html>')
|
58
42
|
|
59
|
-
|
60
43
|
def visit_section(self, layout):
|
61
44
|
"""display a section as html, using div + h[section level]"""
|
62
45
|
self.section += 1
|
63
|
-
self.writeln(u'<div
|
46
|
+
self.writeln(u'<div>')
|
64
47
|
self.format_children(layout)
|
65
48
|
self.writeln(u'</div>')
|
66
49
|
self.section -= 1
|
67
50
|
|
68
51
|
def visit_title(self, layout):
|
69
52
|
"""display a title using <hX>"""
|
70
|
-
self.write(u'<h%s
|
53
|
+
self.write(u'<h%s>' % self.section)
|
71
54
|
self.format_children(layout)
|
72
55
|
self.writeln(u'</h%s>' % self.section)
|
73
56
|
|
74
57
|
def visit_table(self, layout):
|
75
58
|
"""display a table as html"""
|
76
|
-
self.writeln(u'<table
|
59
|
+
self.writeln(u'<table>')
|
77
60
|
table_content = self.get_table_content(layout)
|
78
|
-
for i in
|
79
|
-
row = table_content[i]
|
61
|
+
for i, row in enumerate(table_content):
|
80
62
|
if i == 0 and layout.rheaders:
|
81
63
|
self.writeln(u'<tr class="header">')
|
82
|
-
elif i+1 == len(table_content) and layout.rrheaders:
|
83
|
-
self.writeln(u'<tr class="header">')
|
84
64
|
else:
|
85
|
-
self.writeln(u'<tr class="%s">' % (i%2
|
86
|
-
for j in
|
87
|
-
cell =
|
65
|
+
self.writeln(u'<tr class="%s">' % (u'even' if i % 2 else u'odd'))
|
66
|
+
for j, cell in enumerate(row):
|
67
|
+
cell = cell or u' '
|
88
68
|
if (layout.rheaders and i == 0) or \
|
89
|
-
(layout.cheaders and j == 0)
|
90
|
-
(layout.rrheaders and i+1 == len(table_content)) or \
|
91
|
-
(layout.rcheaders and j+1 == len(row)):
|
69
|
+
(layout.cheaders and j == 0):
|
92
70
|
self.writeln(u'<th>%s</th>' % cell)
|
93
71
|
else:
|
94
72
|
self.writeln(u'<td>%s</td>' % cell)
|
95
73
|
self.writeln(u'</tr>')
|
96
74
|
self.writeln(u'</table>')
|
97
75
|
|
98
|
-
def visit_list(self, layout):
|
99
|
-
"""display a list as html"""
|
100
|
-
self.writeln(u'<ul%s>' % self.handle_attrs(layout))
|
101
|
-
for row in list(self.compute_content(layout)):
|
102
|
-
self.writeln(u'<li>%s</li>' % row)
|
103
|
-
self.writeln(u'</ul>')
|
104
|
-
|
105
76
|
def visit_paragraph(self, layout):
|
106
77
|
"""display links (using <p>)"""
|
107
78
|
self.write(u'<p>')
|
108
79
|
self.format_children(layout)
|
109
80
|
self.write(u'</p>')
|
110
81
|
|
111
|
-
def visit_span(self, layout):
|
112
|
-
"""display links (using <p>)"""
|
113
|
-
self.write(u'<span%s>' % self.handle_attrs(layout))
|
114
|
-
self.format_children(layout)
|
115
|
-
self.write(u'</span>')
|
116
|
-
|
117
|
-
def visit_link(self, layout):
|
118
|
-
"""display links (using <a>)"""
|
119
|
-
self.write(u' <a href="%s"%s>%s</a>' % (layout.url,
|
120
|
-
self.handle_attrs(layout),
|
121
|
-
layout.label))
|
122
82
|
def visit_verbatimtext(self, layout):
|
123
83
|
"""display verbatim text (using <pre>)"""
|
124
84
|
self.write(u'<pre>')
|
@@ -1,52 +1,79 @@
|
|
1
|
-
# copyright 2003-
|
1
|
+
# copyright 2003-2015 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
|
2
2
|
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
|
3
3
|
#
|
4
|
-
# This file is part of
|
4
|
+
# This file is part of pylint.
|
5
5
|
#
|
6
|
-
#
|
6
|
+
# pylint is free software: you can redistribute it and/or modify it under
|
7
7
|
# the terms of the GNU Lesser General Public License as published by the Free
|
8
8
|
# Software Foundation, either version 2.1 of the License, or (at your option) any
|
9
9
|
# later version.
|
10
10
|
#
|
11
|
-
#
|
11
|
+
# pylint is distributed in the hope that it will be useful, but WITHOUT
|
12
12
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
13
13
|
# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
|
14
14
|
# details.
|
15
15
|
#
|
16
16
|
# You should have received a copy of the GNU Lesser General Public License along
|
17
|
-
# with
|
17
|
+
# with pylint. If not, see <http://www.gnu.org/licenses/>.
|
18
18
|
"""Micro reports objects.
|
19
19
|
|
20
20
|
A micro report is a tree of layout and content objects.
|
21
21
|
"""
|
22
|
-
__docformat__ = "restructuredtext en"
|
23
|
-
|
24
|
-
from logilab.common.tree import VNode
|
25
22
|
|
26
23
|
from six import string_types
|
27
24
|
|
28
|
-
class BaseComponent(VNode):
|
29
|
-
"""base report component
|
30
25
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
self.
|
26
|
+
class VNode(object):
|
27
|
+
|
28
|
+
def __init__(self, nid=None):
|
29
|
+
self.id = nid
|
30
|
+
# navigation
|
31
|
+
self.parent = None
|
32
|
+
self.children = []
|
38
33
|
|
39
|
-
|
34
|
+
def __iter__(self):
|
35
|
+
return iter(self.children)
|
36
|
+
|
37
|
+
def append(self, child):
|
38
|
+
"""add a node to children"""
|
39
|
+
self.children.append(child)
|
40
|
+
child.parent = self
|
41
|
+
|
42
|
+
def insert(self, index, child):
|
43
|
+
"""insert a child node"""
|
44
|
+
self.children.insert(index, child)
|
45
|
+
child.parent = self
|
46
|
+
|
47
|
+
def _get_visit_name(self):
|
48
|
+
"""
|
49
|
+
return the visit name for the mixed class. When calling 'accept', the
|
50
|
+
method <'visit_' + name returned by this method> will be called on the
|
51
|
+
visitor
|
52
|
+
"""
|
53
|
+
try:
|
54
|
+
return self.TYPE.replace('-', '_')
|
55
|
+
except Exception:
|
56
|
+
return self.__class__.__name__.lower()
|
57
|
+
|
58
|
+
def accept(self, visitor, *args, **kwargs):
|
59
|
+
func = getattr(visitor, 'visit_%s' % self._get_visit_name())
|
60
|
+
return func(self, *args, **kwargs)
|
61
|
+
|
62
|
+
def leave(self, visitor, *args, **kwargs):
|
63
|
+
func = getattr(visitor, 'leave_%s' % self._get_visit_name())
|
64
|
+
return func(self, *args, **kwargs)
|
65
|
+
|
66
|
+
|
67
|
+
class BaseLayout(VNode):
|
40
68
|
"""base container node
|
41
69
|
|
42
70
|
attributes
|
43
|
-
* BaseComponent attributes
|
44
71
|
* children : components in this table (i.e. the table's cells)
|
45
72
|
"""
|
46
73
|
def __init__(self, children=(), **kwargs):
|
47
74
|
super(BaseLayout, self).__init__(**kwargs)
|
48
75
|
for child in children:
|
49
|
-
if isinstance(child,
|
76
|
+
if isinstance(child, VNode):
|
50
77
|
self.append(child)
|
51
78
|
else:
|
52
79
|
self.add_text(child)
|
@@ -70,11 +97,10 @@ class BaseLayout(BaseComponent):
|
|
70
97
|
|
71
98
|
# non container nodes #########################################################
|
72
99
|
|
73
|
-
class Text(
|
100
|
+
class Text(VNode):
|
74
101
|
"""a text portion
|
75
102
|
|
76
103
|
attributes :
|
77
|
-
* BaseComponent attributes
|
78
104
|
* data : the text value as an encoded or unicode string
|
79
105
|
"""
|
80
106
|
def __init__(self, data, escaped=True, **kwargs):
|
@@ -85,47 +111,14 @@ class Text(BaseComponent):
|
|
85
111
|
self.escaped = escaped
|
86
112
|
self.data = data
|
87
113
|
|
114
|
+
|
88
115
|
class VerbatimText(Text):
|
89
116
|
"""a verbatim text, display the raw data
|
90
117
|
|
91
118
|
attributes :
|
92
|
-
* BaseComponent attributes
|
93
119
|
* data : the text value as an encoded or unicode string
|
94
120
|
"""
|
95
121
|
|
96
|
-
class Link(BaseComponent):
|
97
|
-
"""a labelled link
|
98
|
-
|
99
|
-
attributes :
|
100
|
-
* BaseComponent attributes
|
101
|
-
* url : the link's target (REQUIRED)
|
102
|
-
* label : the link's label as a string (use the url by default)
|
103
|
-
"""
|
104
|
-
def __init__(self, url, label=None, **kwargs):
|
105
|
-
super(Link, self).__init__(**kwargs)
|
106
|
-
assert url
|
107
|
-
self.url = url
|
108
|
-
self.label = label or url
|
109
|
-
|
110
|
-
|
111
|
-
class Image(BaseComponent):
|
112
|
-
"""an embedded or a single image
|
113
|
-
|
114
|
-
attributes :
|
115
|
-
* BaseComponent attributes
|
116
|
-
* filename : the image's filename (REQUIRED)
|
117
|
-
* stream : the stream object containing the image data (REQUIRED)
|
118
|
-
* title : the image's optional title
|
119
|
-
"""
|
120
|
-
def __init__(self, filename, stream, title=None, **kwargs):
|
121
|
-
super(Image, self).__init__(**kwargs)
|
122
|
-
assert filename
|
123
|
-
assert stream
|
124
|
-
self.filename = filename
|
125
|
-
self.stream = stream
|
126
|
-
self.title = title
|
127
|
-
|
128
|
-
|
129
122
|
# container nodes #############################################################
|
130
123
|
|
131
124
|
class Section(BaseLayout):
|
@@ -146,6 +139,7 @@ class Section(BaseLayout):
|
|
146
139
|
if title:
|
147
140
|
self.insert(0, Title(children=(title,)))
|
148
141
|
|
142
|
+
|
149
143
|
class Title(BaseLayout):
|
150
144
|
"""a title
|
151
145
|
|
@@ -155,14 +149,6 @@ class Title(BaseLayout):
|
|
155
149
|
A title must not contains a section nor a paragraph!
|
156
150
|
"""
|
157
151
|
|
158
|
-
class Span(BaseLayout):
|
159
|
-
"""a title
|
160
|
-
|
161
|
-
attributes :
|
162
|
-
* BaseLayout attributes
|
163
|
-
|
164
|
-
A span should only contains Text and Link nodes (in-line elements)
|
165
|
-
"""
|
166
152
|
|
167
153
|
class Paragraph(BaseLayout):
|
168
154
|
"""a simple text paragraph
|
@@ -173,6 +159,7 @@ class Paragraph(BaseLayout):
|
|
173
159
|
A paragraph must not contains a section !
|
174
160
|
"""
|
175
161
|
|
162
|
+
|
176
163
|
class Table(BaseLayout):
|
177
164
|
"""some tabular data
|
178
165
|
|
@@ -184,7 +171,7 @@ class Table(BaseLayout):
|
|
184
171
|
* title : the table's optional title
|
185
172
|
"""
|
186
173
|
def __init__(self, cols, title=None,
|
187
|
-
rheaders=0, cheaders=0,
|
174
|
+
rheaders=0, cheaders=0,
|
188
175
|
**kwargs):
|
189
176
|
super(Table, self).__init__(**kwargs)
|
190
177
|
assert isinstance(cols, int)
|
@@ -192,12 +179,3 @@ class Table(BaseLayout):
|
|
192
179
|
self.title = title
|
193
180
|
self.rheaders = rheaders
|
194
181
|
self.cheaders = cheaders
|
195
|
-
self.rrheaders = rrheaders
|
196
|
-
self.rcheaders = rcheaders
|
197
|
-
|
198
|
-
class List(BaseLayout):
|
199
|
-
"""some list data
|
200
|
-
|
201
|
-
attributes :
|
202
|
-
* BaseLayout attributes
|
203
|
-
"""
|