Make OldFoo.__classcall_private__, then it is not inherited.

Best,
Travis


On Thursday, September 26, 2019 at 8:22:23 AM UTC+10, Salvatore Stella 
wrote:
>
> Dear All, 
> I would like to make a new class inheriting from a class based on 
> UniqueRepresentation. My goal, among other things, is to preparse the 
> arguments a little before calling the class I am inheriting from.     
> Unfortunately this class also does some preparsing via __classcall__ to 
> make 
> the input hashable. Could you point me to the correct way of setting this 
> up? 
>
> Sketch of the situation: 
>
> class OldFoo(UniqueRepresentation): 
>     
>     @staticmethod 
>     def __classcall__(self, data): 
>        # make data hashable 
>        return super(oldFoo, self).__classcall__(self, hashable_data) 
>
>     def __init__(self, hashable_data): 
>         # do something 
>
> class NewFoo(OldFoo): 
>     
>     # First neutralize OldFoo __classcall__ 
>     __classcall__ = None 
>
>     def __init__(self, data): 
>         # preparse data then initialize OldFoo 
>
>
> If __classcall__ were not there I would call OldFoo.__init__ but this does 
> not seem to work with OldFoo.__classcall__ 
>
>
> Thanks 
> S. 
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/7837bd22-0339-4502-b941-fbe1f0c4a77d%40googlegroups.com.

Reply via email to