From 0a4c6057b7ed234c24c9b8082ceadc2e60f7bd92 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 6 Sep 2007 17:41:01 +0000 Subject: Bug #190406 - Filter the myheaders list so that it doesn't include binary blobs added to cvs with the -kb option. (trunk r7705) svn path=/main/branches/2.1.2/; revision=7736 --- pym/cvstree.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'pym') diff --git a/pym/cvstree.py b/pym/cvstree.py index ca94d3512..f74ecd4ac 100644 --- a/pym/cvstree.py +++ b/pym/cvstree.py @@ -72,7 +72,24 @@ def findnew(entries,recursive=0,basedir=""): for mydir in entries["dirs"]: mylist+=findnew(entries["dirs"][mydir],recursive,basedir+mydir) return mylist - + +def findoption(entries, pattern, recursive=0, basedir=""): + """(entries, pattern, recursive=0, basedir="") + Iterate over paths of cvs entries for which the pattern.search() method + finds a match. Returns a list of paths, optionally prepended with a + basedir.""" + if not basedir.endswith("/"): + basedir += "/" + for myfile, mydata in entries["files"].iteritems(): + if "cvs" in mydata["status"]: + if pattern.search(mydata["flags"]): + yield basedir+myfile + if recursive: + for mydir, mydata in entries["dirs"].iteritems(): + for x in findoption(mydata, pattern, + recursive, basedir+mydir): + yield x + def findchanged(entries,recursive=0,basedir=""): """(entries,recursive=0,basedir="") Recurses the entries tree to find all elements that exist in the cvs tree -- cgit v1.2.3-1-g7c22