minor cleanup to be more verbose when there are errors; most of the time when we...
authorMarc Fiuczynski <mef@cs.princeton.edu>
Tue, 17 Mar 2009 14:53:31 +0000 (14:53 +0000)
committerMarc Fiuczynski <mef@cs.princeton.edu>
Tue, 17 Mar 2009 14:53:31 +0000 (14:53 +0000)
doc/DocBookLocal.py

index 1eef1a2..1290610 100755 (executable)
@@ -1,11 +1,25 @@
 #!/usr/bin/env python
 
 from PLC.API import PLCAPI
+from PLC.Faults import PLCInvalidAPIMethod
 from DocBook import DocBook
+import sys
 
-def api_methods():
-    api = PLCAPI(None)
-    methods = api.all_methods
-    return [api.callable(method) for method in methods]
+api = PLCAPI(None)
+methods = api.all_methods
+good_apis = []
+bad_apis = []
+for method in methods:
+    try:
+        good_api = api.callable(method)
+        good_apis.append(good_api)
+    except PLCInvalidAPIMethod, e:
+        bad_apis.append((method,e))
 
-DocBook(api_methods ()).Process()
+DocBook(good_apis).Process()
+
+if len(bad_apis):
+    sys.stderr.write("UNEXPECTED: There are %d non-callable methods:\n")
+    for bad_api,e in bad_apis:
+        sys.stderr.write("\t%s:%s\n" % (bad_api,e))
+    sys.exit(-1)