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)