python - How to extend a static base constructor? -
i'm using python bitmap package.
it need, don't work hexadecimal values, needed application, extended this:
import bitmap class bitmap(bitmap.bitmap):     def tohexstring(self):         val = self.tostring()         st = "{0:0x}".format(int(val,2))         return st.zfill(self.sz/4)   the base class has static constructor string:
bitmap.bitmap.fromstring("01010101")   i can make 1 hexadecimal converting hex value bin:
bitmap.bitmap.fromstring(format(int("aa",16),"08b"))   but returned class original bitmap class , not extended one.
how can use constructor still return extended class?
bitmap.bitmap.fromstring class method, not static method, has been implemented incorrectly author. line:
bm = bitmap(nbits)   should be
bm = cls(nbits)   in case call fromstring on subclass , an instance of subclass. fork repo, implement , make pull request have included in package (or use fork in package). raise issue on repo see how they'd prefer proceed.
alternatively, implement fromstring correctly in own subclass , shadow broken base class implementation.
Comments
Post a Comment