From 087e497ab5776d54da7ee0ae4550679c65df28e4 Mon Sep 17 00:00:00 2001
From: Nat Goodspeed <nat@lindenlab.com>
Date: Wed, 7 Jan 2015 17:11:19 -0500
Subject: [PATCH] Replace reduce(operator.or_, ...) with any(...). The any()
 builtin was introduced in Python 2.5. Not only is its intent clearer, but it
 handles the case of zero items -- which the reduce(or_) construct does not.
 Sporadically we've seen exceptions from generate_breakpad_symbols.py when
 reduce(or_, ...) is given zero items. This masks the actual error (failure to
 dump symbols? failure to read them?), masquerading as a bug in the Python
 script.

---
 indra/newview/generate_breakpad_symbols.py | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/indra/newview/generate_breakpad_symbols.py b/indra/newview/generate_breakpad_symbols.py
index 4181e4ebb30..d351c406bce 100755
--- a/indra/newview/generate_breakpad_symbols.py
+++ b/indra/newview/generate_breakpad_symbols.py
@@ -31,7 +31,6 @@
 import collections
 import fnmatch
 import itertools
-import operator
 import os
 import re
 import sys
@@ -149,7 +148,7 @@ def match_module_basename(m):
                    == os.path.splitext(os.path.basename(m))[0].lower()
         # there must be at least one .sym file in tarfile_members that matches
         # each required module (ignoring file extensions)
-        if not reduce(operator.or_, itertools.imap(match_module_basename, tarfile_members)):
+        if not any(itertools.imap(match_module_basename, tarfile_members)):
             print >> sys.stderr, "failed to find required %s in generated %s" \
                     % (required_module, viewer_symbol_file)
             os.remove(viewer_symbol_file)
-- 
GitLab