Browse Source

added replace()

Darren Ranalli 23 years ago
parent
commit
03924815d2
1 changed files with 21 additions and 0 deletions
  1. 21 0
      direct/src/showbase/PythonUtil.py

+ 21 - 0
direct/src/showbase/PythonUtil.py

@@ -359,6 +359,27 @@ def contains(whole, sub):
     # If you got here, whole must contain sub
     return 1
 
+def replace(list, old, new, all=0):
+    """
+    replace 'old' with 'new' in 'list'
+    if all == 0, replace first occurrence
+    otherwise replace all occurrences
+    returns the number of items replaced
+    """
+    if old not in list:
+        return 0
+
+    if not all:
+        i = list.index(old)
+        list[i] = new
+        return 1
+    else:
+        numReplaced = list.count(old)
+        for i in xrange(numReplaced):
+            ind = list.index(old)
+            list[ind] = new
+        return numReplaced
+
 def reduceAngle(deg):
     """
     Reduces an angle (in degrees) to a value between -180. and 180.