On Monday 19 August 2002 06:45 pm, Andrew Koenig wrote: > Jeremy> Hard to say. I can read the code and see that the current > Jeremy> implementation will always return objects of the same type. > Jeremy> In fact, it's using type(sre_compile.compile("", 0)) > Jeremy> internally to represent that type. >=20 > Jeremy> That's not a guarantee. Perhaps Fredrik wants to reserve the > Jeremy> right to change this in the future. It's not unusual for > Jeremy> Python modules to be under-specified in this way. >=20 > The real point is that this is an example of why a uniform way > of checking for such types would be nice. I shouldn't have > to read the source to figure out how to tell if something is > a compiled regular expression. In general you wouldn't care whether is was a sre_foo or an sre_bar, just= if=20 it acts like a compiled regular expression, and therefore supports that=20 interface. So, the real solution would be to have re assert that interfac= e on=20 whatever the compiler returns so that you can check for it, something lik= e:=20 if ISre.isImplementedBy(unknown_ob): # It's a regex Where ISre is the compiled regular expression interface object. If the=20 implementation varies the test would still work. Even if the interface=20 varied, the test would work (but it might break other stuff). -Casey
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4