Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(748)

Unified Diff: ui/resources/resource_check/resource_scale_factors.py

Issue 854713003: More old files deletion. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Fix tryjobs? Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/resources/resource_check/__init__.py ('k') | ui/resources/ui_resources.grd » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/resources/resource_check/resource_scale_factors.py
diff --git a/ui/resources/resource_check/resource_scale_factors.py b/ui/resources/resource_check/resource_scale_factors.py
deleted file mode 100644
index 9ddc70fda60715513b8085c79ec651715544432a..0000000000000000000000000000000000000000
--- a/ui/resources/resource_check/resource_scale_factors.py
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright (c) 2012 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-"""Presubmit script for Chromium browser resources.
-
-See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
-for more details about the presubmit API built into gcl/git cl, and see
-http://www.chromium.org/developers/web-development-style-guide for the rules
-we're checking against here.
-"""
-
-
-import os
-import struct
-
-
-class InvalidPNGException(Exception):
- pass
-
-
-class ResourceScaleFactors(object):
- """Verifier of image dimensions for Chromium resources.
-
- This class verifies the image dimensions of resources in the various
- resource subdirectories.
-
- Attributes:
- paths: An array of tuples giving the folders to check and their
- relevant scale factors. For example:
-
- [(100, 'default_100_percent'), (200, 'default_200_percent')]
- """
-
- def __init__(self, input_api, output_api, paths):
- """ Initializes ResourceScaleFactors with paths."""
- self.input_api = input_api
- self.output_api = output_api
- self.paths = paths
-
- def RunChecks(self):
- """Verifies the scale factors of resources being added or modified.
-
- Returns:
- An array of presubmit errors if any images were detected not
- having the correct dimensions.
- """
- def ImageSize(filename):
- with open(filename, 'rb', buffering=0) as f:
- data = f.read(24)
- if data[:8] != '\x89PNG\r\n\x1A\n' or data[12:16] != 'IHDR':
- raise InvalidPNGException
- return struct.unpack('>ii', data[16:24])
-
- # Returns a list of valid scaled image sizes. The valid sizes are the
- # floor and ceiling of (base_size * scale_percent / 100). This is equivalent
- # to requiring that the actual scaled size is less than one pixel away from
- # the exact scaled size.
- def ValidSizes(base_size, scale_percent):
- return sorted(set([(base_size * scale_percent) / 100,
- (base_size * scale_percent + 99) / 100]))
-
- repository_path = self.input_api.os_path.relpath(
- self.input_api.PresubmitLocalPath(),
- self.input_api.change.RepositoryRoot())
- results = []
-
- # Check for affected files in any of the paths specified.
- affected_files = self.input_api.AffectedFiles(include_deletes=False)
- files = []
- for f in affected_files:
- for path_spec in self.paths:
- path_root = self.input_api.os_path.join(
- repository_path, path_spec[1])
- if (f.LocalPath().endswith('.png') and
- f.LocalPath().startswith(path_root)):
- # Only save the relative path from the resource directory.
- relative_path = self.input_api.os_path.relpath(f.LocalPath(),
- path_root)
- if relative_path not in files:
- files.append(relative_path)
-
- corrupt_png_error = ('Corrupt PNG in file %s. Note that binaries are not '
- 'correctly uploaded to the code review tool and must be directly '
- 'submitted using the dcommit command.')
- for f in files:
- base_image = self.input_api.os_path.join(self.paths[0][1], f)
- if not os.path.exists(base_image):
- results.append(self.output_api.PresubmitError(
- 'Base image %s does not exist' % self.input_api.os_path.join(
- repository_path, base_image)))
- continue
- try:
- base_dimensions = ImageSize(base_image)
- except InvalidPNGException:
- results.append(self.output_api.PresubmitError(corrupt_png_error %
- self.input_api.os_path.join(repository_path, base_image)))
- continue
- # Find all scaled versions of the base image and verify their sizes.
- for i in range(1, len(self.paths)):
- image_path = self.input_api.os_path.join(self.paths[i][1], f)
- if not os.path.exists(image_path):
- continue
- # Ensure that each image for a particular scale factor is the
- # correct scale of the base image.
- try:
- scaled_dimensions = ImageSize(image_path)
- except InvalidPNGException:
- results.append(self.output_api.PresubmitError(corrupt_png_error %
- self.input_api.os_path.join(repository_path, image_path)))
- continue
- for dimension_name, base_size, scaled_size in zip(
- ('width', 'height'), base_dimensions, scaled_dimensions):
- valid_sizes = ValidSizes(base_size, self.paths[i][0])
- if scaled_size not in valid_sizes:
- results.append(self.output_api.PresubmitError(
- 'Image %s has %s %d, expected to be %s' % (
- self.input_api.os_path.join(repository_path, image_path),
- dimension_name,
- scaled_size,
- ' or '.join(map(str, valid_sizes)))))
- return results
« no previous file with comments | « ui/resources/resource_check/__init__.py ('k') | ui/resources/ui_resources.grd » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698