Fixes.
diff --git a/scripts/python-skywater-pdk/skywater_pdk/analyze.py b/scripts/python-skywater-pdk/skywater_pdk/analyze.py
index 9ac719d..44c0ce8 100644
--- a/scripts/python-skywater-pdk/skywater_pdk/analyze.py
+++ b/scripts/python-skywater-pdk/skywater_pdk/analyze.py
@@ -19,6 +19,11 @@
 
 
 def analyze(pathname):
+    if pathname.endswith('README.rst'):
+        return
+
+    sys.stdout.flush()
+    sys.stderr.flush()
     print()
     print(pathname)
 
@@ -30,21 +35,26 @@
         traceback.print_exc()
         return
 
+    sys.stdout.flush()
+
     if not extra:
         return
 
-    try:
-        corners = parse_filename_corners(extra)
-        print(corners)
-    except Exception as e:
-        traceback.print_exc()
-        return
+    if extension in ('wrap.lib', 'wrap.json', 'cell.lib', 'cell.json'):
+        try:
+            corners = parse_filename_corners(extra)
+            print(corners)
+        except Exception as e:
+            traceback.print_exc()
+            return
 
 
 def main(argv):
     for a in argv[1:]:
         if os.path.isdir(a):
-            for root, _, files in os.walk(a):
+            for root, dirs, files in os.walk(a):
+                dirs.sort()
+                files.sort()
                 for f in files:
                     pathname = os.path.join(a, root, f)
                     analyze(pathname)
diff --git a/scripts/python-skywater-pdk/skywater_pdk/corners.py b/scripts/python-skywater-pdk/skywater_pdk/corners.py
index 533edac..a464d5c 100644
--- a/scripts/python-skywater-pdk/skywater_pdk/corners.py
+++ b/scripts/python-skywater-pdk/skywater_pdk/corners.py
@@ -48,6 +48,8 @@
             for c in s:
                 o.append(cls.parse(c))
             return o
+        if not hasattr(cls, s):
+            raise TypeError("Unknown corner type: {}".format(s))
         return getattr(cls, s)
 
     def __repr__(self):
@@ -154,13 +156,10 @@
             assert b.endswith('C'), b
             kw['temps'].append(int(b[:-1].replace('n', '-')))
         else:
-            try:
+            if 'types' not in kw:
+                kw['types'] = CornerType.parse(b)
+            else:
                 kw['flags'].append(CornerFlag.parse(b))
-            except TypeError as e:
-                if 'types' not in kw:
-                    kw['types'] = CornerType.parse(b)
-                else:
-                    raise
 
     return Corner(**kw)