OLD | NEW |
1 # Copyright (C) 2012 Balazs Ankes (bank@inf.u-szeged.hu) University of Szeged | 1 # Copyright (C) 2012 Balazs Ankes (bank@inf.u-szeged.hu) University of Szeged |
2 # | 2 # |
3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
4 # modification, are permitted provided that the following conditions | 4 # modification, are permitted provided that the following conditions |
5 # are met: | 5 # are met: |
6 # 1. Redistributions of source code must retain the above copyright | 6 # 1. Redistributions of source code must retain the above copyright |
7 # notice, this list of conditions and the following disclaimer. | 7 # notice, this list of conditions and the following disclaimer. |
8 # 2. Redistributions in binary form must reproduce the above copyright | 8 # 2. Redistributions in binary form must reproduce the above copyright |
9 # notice, this list of conditions and the following disclaimer in the | 9 # notice, this list of conditions and the following disclaimer in the |
10 # documentation and/or other materials provided with the distribution. | 10 # documentation and/or other materials provided with the distribution. |
11 # | 11 # |
12 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 12 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
13 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 13 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
14 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | 14 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
15 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 15 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
16 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 16 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
17 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 17 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
18 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 18 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
19 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 19 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
20 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 20 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
21 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 21 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
22 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 22 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
23 | 23 |
24 """Supports checking WebKit style in png files.""" | 24 """Supports checking WebKit style in png files.""" |
25 | 25 |
26 from webkitpy.common import read_checksum_from_png | 26 from webkitpy.common import read_checksum_from_png |
27 from webkitpy.common.system.systemhost import SystemHost | 27 from webkitpy.common.system.system_host import SystemHost |
28 | 28 |
29 | 29 |
30 class PNGChecker(object): | 30 class PNGChecker(object): |
31 """Check svn:mime-type for checking style""" | 31 """Check svn:mime-type for checking style""" |
32 | 32 |
33 categories = set(['image/png']) | 33 categories = set(['image/png']) |
34 | 34 |
35 def __init__(self, file_path, handle_style_error, host=None): | 35 def __init__(self, file_path, handle_style_error, host=None): |
36 self._file_path = file_path | 36 self._file_path = file_path |
37 self._handle_style_error = handle_style_error | 37 self._handle_style_error = handle_style_error |
38 self._host = host or SystemHost() | 38 self._host = host or SystemHost() |
39 self._fs = self._host.filesystem | 39 self._fs = self._host.filesystem |
40 | 40 |
41 def check(self, inline=None): | 41 def check(self, inline=None): |
42 if self._fs.exists(self._file_path) and self._file_path.endswith("-expec
ted.png"): | 42 if self._fs.exists(self._file_path) and self._file_path.endswith("-expec
ted.png"): |
43 with self._fs.open_binary_file_for_reading(self._file_path) as fileh
andle: | 43 with self._fs.open_binary_file_for_reading(self._file_path) as fileh
andle: |
44 if not read_checksum_from_png.read_checksum(filehandle): | 44 if not read_checksum_from_png.read_checksum(filehandle): |
45 self._handle_style_error( | 45 self._handle_style_error( |
46 0, 'image/png', 5, | 46 0, 'image/png', 5, |
47 "Image lacks a checksum. Generate pngs using run-webkit-
tests to ensure they have a checksum.") | 47 "Image lacks a checksum. Generate pngs using run-webkit-
tests to ensure they have a checksum.") |
OLD | NEW |