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

Unified Diff: presubmit_support.py

Issue 115923: Remove SVN-specific function InputApi.FilterTextFiles(). (Closed)
Patch Set: Dead code cleanup Created 11 years, 7 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 | « no previous file | tests/presubmit_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: presubmit_support.py
diff --git a/presubmit_support.py b/presubmit_support.py
index 6cbdfed14d43d8323d679ca3a6c27206da253565..a95d8557f2b1611dd1871d8f055a4852c428aa34 100755
--- a/presubmit_support.py
+++ b/presubmit_support.py
@@ -222,41 +222,16 @@ class InputApi(object):
if depot_path:
return depot_path
- @staticmethod
- def FilterTextFiles(affected_files, include_deletes=True):
- """Filters out all except text files and optionally also filters out
- deleted files.
-
- Args:
- affected_files: List of AffectedFiles objects.
- include_deletes: If false, deleted files will be filtered out.
-
- Returns:
- Filtered list of AffectedFiles objects.
- """
- output_files = []
- for af in affected_files:
- if include_deletes or af.Action() != 'D':
- path = af.AbsoluteLocalPath()
- mime_type = gcl.GetSVNFileProperty(path, 'svn:mime-type')
- if not mime_type or mime_type.startswith('text/'):
- output_files.append(af)
- return output_files
-
def AffectedFiles(self, include_dirs=False, include_deletes=True):
"""Same as input_api.change.AffectedFiles() except only lists files
(and optionally directories) in the same directory as the current presubmit
script, or subdirectories thereof.
"""
- output_files = []
dir_with_slash = normpath("%s/" % self.PresubmitLocalPath())
if len(dir_with_slash) == 1:
dir_with_slash = ''
- for af in self.change.AffectedFiles(include_dirs, include_deletes):
- af_path = normpath(af.LocalPath())
- if af_path.startswith(dir_with_slash):
- output_files.append(af)
- return output_files
+ return filter(lambda x: normpath(x.LocalPath()).startswith(dir_with_slash),
+ self.change.AffectedFiles(include_dirs, include_deletes))
def LocalPaths(self, include_dirs=False):
"""Returns local paths of input_api.AffectedFiles()."""
@@ -270,17 +245,18 @@ class InputApi(object):
"""Returns server paths of input_api.AffectedFiles()."""
return [af.ServerPath() for af in self.AffectedFiles(include_dirs)]
- @deprecated
- def AffectedTextFiles(self, include_deletes=True):
+ def AffectedTextFiles(self, include_deletes=None):
"""Same as input_api.change.AffectedTextFiles() except only lists files
in the same directory as the current presubmit script, or subdirectories
thereof.
-
- Warning: This function retrieves the svn property on each file so it can be
- slow for large change lists.
"""
- return InputApi.FilterTextFiles(self.AffectedFiles(include_dirs=False),
- include_deletes)
+ if include_deletes is not None:
+ warnings.warn("AffectedTextFiles(include_deletes=%s)"
+ " is deprecated and ignored" % str(include_deletes),
+ category=DeprecationWarning,
+ stacklevel=2)
+ return filter(lambda x: x.IsTextFile(),
+ self.AffectedFiles(include_dirs=False, include_deletes=False))
def RightHandSideLines(self):
"""An iterator over all text lines in "new" version of changed files.
@@ -360,7 +336,9 @@ class AffectedFile(object):
return self._properties.get(property_name, None)
def IsTextFile(self):
- """Returns True if the file is a text file and not a binary file."""
+ """Returns True if the file is a text file and not a binary file.
+
+ Deleted files are not text file."""
raise NotImplementedError() # Implement when needed
def NewContents(self):
@@ -529,18 +507,15 @@ class GclChange(object):
else:
return filter(lambda x: x.Action() != 'D', affected)
- @deprecated
- def AffectedTextFiles(self, include_deletes=True):
- """Return a list of the text files in a change.
-
- It's common to want to iterate over only the text files.
-
- Args:
- include_deletes: Controls whether to return files with "delete" actions,
- which commonly aren't relevant to presubmit scripts.
- """
- return InputApi.FilterTextFiles(self.AffectedFiles(include_dirs=False),
- include_deletes)
+ def AffectedTextFiles(self, include_deletes=None):
+ """Return a list of the existing text files in a change."""
+ if include_deletes is not None:
+ warnings.warn("AffectedTextFiles(include_deletes=%s)"
+ " is deprecated and ignored" % str(include_deletes),
+ category=DeprecationWarning,
+ stacklevel=2)
+ return filter(lambda x: x.IsTextFile(),
+ self.AffectedFiles(include_dirs=False, include_deletes=False))
def LocalPaths(self, include_dirs=False):
"""Convenience function."""
« no previous file with comments | « no previous file | tests/presubmit_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698