Commit Graph

66 Commits

Author SHA1 Message Date
aaef122178 fixup array equality checking in the case where _USE_NUMPY is false but we somehow still get an ndarray
mostly happens during testing
2020-05-19 00:49:42 -07:00
55638fcde5 fix placement rotation (float modulo int was always returning 0??) 2020-05-19 00:48:22 -07:00
99283aaaf0 enable passing in str where an AString or NString is needed. 2020-05-19 00:47:17 -07:00
705926d443 Add UnfilledModalError, records.verify_modal(), and .get_*() methods.
The .get_*() methods are used to verify that we aren't reading from a
pattern with un-filled modals.

The GeometryMixin class was also added here and provides some additional
convenience methods: get_xy() to get an (x,y) tuple and
get_layer_tuple() to get a (layer, datatype) tuple.
2020-05-19 00:42:42 -07:00
e4a62a0f32 fix write_interval for bounded intervals 2020-05-19 00:22:53 -07:00
715fe7ea24 fix non-numpy write_point_list 2020-05-19 00:21:50 -07:00
d25f3f1598 enable str() casts on NString and AString 2020-05-19 00:21:23 -07:00
e909aa958d fix equality for things which may or may not be numpy arrays 2020-05-19 00:20:59 -07:00
411012079d bifurctae read_bool_byte and write_bool_byte into _np_* and _py_* variants 2020-05-19 00:20:38 -07:00
f15499030d only write the first byte -- probably no different but clearer 2020-05-19 00:17:31 -07:00
73310fe993 import repetitions at top level 2020-05-19 00:16:29 -07:00
3a2d889360 add mypy_cache to gitignore 2020-05-17 17:27:11 -07:00
3b01117329 Bump version number to v0.6 2020-04-18 15:55:20 -07:00
4c5f649eec Force mypy to ignore a bunch of simple situations it's not smart enough to reason about 2020-04-18 15:52:36 -07:00
25b2cecec9 Minor changes to satisfy type checker 2020-04-18 15:50:58 -07:00
c9adca61b6 get_pathext may return None 2020-04-18 15:44:44 -07:00
1a259a1c19 Improve ctrapezoid validity checking
width/height might be None; check them against each other only if they
aren't. Also, perform checks after dedup/adjust.
2020-04-18 15:43:25 -07:00
3af40dd1bc Use a dummy unit of -1 when reading (to satisfy type checker) 2020-04-18 15:41:44 -07:00
8fb2f2b594 fix attempted access to xname.string -> xname.bstring 2020-04-18 15:40:35 -07:00
cfb3e90d71 Fix XYmode.absolute 2020-04-18 15:39:27 -07:00
7f0c46525e improve type annotations 2020-04-18 15:38:52 -07:00
e9cf010f54 fix read_u32 2020-04-18 15:35:42 -07:00
06de10062d Additional error checking 2020-04-18 15:35:29 -07:00
62fca39a69 Modernize comments and type annotations. Ugly commit with a couple code fixes:
- modal variable name change: path_halfwidth -> path_half_width
- Fixed `hasattr(other, 'as_list')` calls in __eq__() functions
2020-04-18 03:08:08 -07:00
6f2200c5ed Faster/simpler cumsum approach in read_point_list
Reqires a special case for ndarrays in dedup_field() -- probably a good
idea anyways if user gives us an ndarray
2020-04-18 03:00:36 -07:00
e046af8ce8 Handle more error cases 2020-04-18 02:54:46 -07:00
533c85b249 Fix conditional for writing real-typed properties 2020-04-18 01:42:14 -07:00
bb9ebfc8f9 Generate a warning instead of printing 2020-04-18 01:37:53 -07:00
f4eeb50a6f Fix incorrect calls to .write() 2020-04-18 01:31:36 -07:00
58b4f4a40f Some minor docstring/readme updates 2020-04-17 13:51:43 -07:00
b5a7c9a7ad fix non-numpy read_bool_byte 2020-04-16 22:41:53 -07:00
deb0fe3bef Bump version to 0.5 2019-09-28 11:23:12 -07:00
e0c2947865 trim down classifiers 2019-09-28 11:22:43 -07:00
e514ade2b1 Use fatamorgana/VERSION file to single-source version number
`import fatamorgana` inside setup.py could break if dependencies weren't
satisfied
2019-09-28 11:22:27 -07:00
203a520770 Read type0,1 pointlist correctly 2019-09-08 11:25:42 +02:00
ab175641fe Turn <3 points polygon exception into warning 2019-09-08 11:25:04 +02:00
jan
dbe033fdb7 Bump version number (0.4) 2018-07-27 11:05:55 -07:00
jan
3db93d18ed Use version number from module in setup.py 2018-07-27 11:05:42 -07:00
jan
5f685b601b Fix type hint 2018-07-27 10:58:32 -07:00
d154ef23df Bump version number 2018-07-21 14:31:10 -07:00
ef8c5f9368 Use README.md as long_description in setup.py 2018-07-21 14:30:59 -07:00
85e122622b Ignore build directories in git 2018-07-21 14:15:50 -07:00
f147c394c7 Bump version number
And include version in __init__.py
2018-07-21 14:11:27 -07:00
9133245d49 Add debug logging for cblock read() 2018-07-21 14:04:59 -07:00
af60d73427 Add missing type hint 2018-07-21 14:03:16 -07:00
b1844d6b0d Layer names should be NStrings
Not sure about this -- maybe they're actually AStrings, in which case
the LayerName constructor also needs to change
2018-07-21 13:50:55 -07:00
6cef118534 Fix Circle reader reporting incorrect record id 2018-07-21 13:49:45 -07:00
28cdb34b08 ctrapezoid_type may be None (modal) 2018-07-21 13:49:11 -07:00
055b2b35af delta_a should be negative for a canonical Trapezoid 2018-07-21 13:48:36 -07:00
493109954b Fix variable name typo in PropString 2018-07-21 13:47:18 -07:00