eafabc2cbec6eb8a8955badf7c01191c1299ac49
mmaddren
  Thu Apr 7 16:47:30 2011 -0700
first push to my new branch
diff --git python/ucscgenomics/rafile/cvValidate.py python/ucscgenomics/rafile/cvValidate.py
new file mode 100644
index 0000000..a2b8fca
--- /dev/null
+++ python/ucscgenomics/rafile/cvValidate.py
@@ -0,0 +1,62 @@
+import sys
+import re
+from RaFile import RaFile, RaEntry
+
+__ra = RaFile(RaEntry)
+__groupDict = dict()
+__filename = sys.argv[1]
+__ra.read(__filename)
+
+def EntryExists(key, matchBehavior, group):
+    if key in __ra.keys():
+        matchBehavior(key, group)
+
+
+def KeyEquals(key, matchBehavior, group):
+    for item in __ra.itervalues(): 
+        if key in item.keys():
+            matchBehavior(item.name, group)
+
+
+def KeyMatches(regex, matchBehavior, group):
+    for item in __ra.itervalues():
+        for key in item.iterkeys():
+            if re.match(regex, key):
+                matchBehavior(item.name, group)
+                break
+
+
+def ValueEquals(key, value, matchBehavior, group):
+    for item in __ra.itervalues():
+        if item[key] == value:
+            matchBehavior(item.name, group)
+
+    
+def ValueMatches(key, regex, matchBehavior, group):
+    for item in __ra.itervalues():
+        if re.match(regex, item[key]):
+            matchBehavior(item.name, group)
+
+
+def doNothing(key, group):
+    pass
+
+
+def addToGroup(key, group):
+    if group not in __groupDict:
+        __groupDict[group] = list()
+    if key not in __groupDict[group]:  
+        __groupDict[group].append(key) 
+
+
+def removeFromGroup(key, group):
+    if group in __groupDict:
+        if key in __groupDict[group]:
+            __groupDict[group].remove(key)
+
+
+def PrintResult():
+    for key in __groupDict.iterkeys():
+        print key + ':'
+        for val in __groupDict[key]:
+            print val