From 0bb1b3f73d88899c8ba1ae32b12bdb6978000763 Mon Sep 17 00:00:00 2001 From: MMGen Date: Mon, 13 May 2019 09:40:13 +0000 Subject: [PATCH] obj.py: make arg_chk a classmethod --- mmgen/altcoins/eth/obj.py | 2 +- mmgen/obj.py | 36 ++++++++++++++++++------------------ 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/mmgen/altcoins/eth/obj.py b/mmgen/altcoins/eth/obj.py index 8fbece64..9087c8c8 100755 --- a/mmgen/altcoins/eth/obj.py +++ b/mmgen/altcoins/eth/obj.py @@ -47,7 +47,7 @@ class ETHAmt(BTCAmt): class ETHNonce(int,Hilite,InitErrors): # WIP def __new__(cls,n,on_fail='die'): if type(n) == cls: return n - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) from mmgen.util import is_int try: assert is_int(n),"'{}': value is not an integer".format(n) diff --git a/mmgen/obj.py b/mmgen/obj.py index c2a359a6..91a390c8 100755 --- a/mmgen/obj.py +++ b/mmgen/obj.py @@ -116,7 +116,7 @@ class AddrListList(list,MMGenObject): pass class InitErrors(object): - @staticmethod + @classmethod def arg_chk(cls,on_fail): assert on_fail in ('die','return','silent','raise'),( "'{}': invalid value for 'on_fail' in class {}".format(on_fail,cls.__name__) ) @@ -276,7 +276,7 @@ class MMGenListItem(MMGenObject): class AddrIdx(int,InitErrors): max_digits = 7 def __new__(cls,num,on_fail='die'): - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) try: assert type(num) is not float,'is float' me = int.__new__(cls,num) @@ -290,7 +290,7 @@ class AddrIdx(int,InitErrors): class AddrIdxList(list,InitErrors,MMGenObject): max_len = 1000000 def __init__(self,fmt_str=None,idx_list=None,on_fail='die',sep=','): - self.arg_chk(type(self),on_fail) + type(self).arg_chk(on_fail) try: if idx_list: return list.__init__(self,sorted({AddrIdx(i,on_fail='raise') for i in idx_list})) @@ -323,7 +323,7 @@ class MMGenRange(tuple,InitErrors,MMGenObject): max_idx = None def __new__(cls,*args,on_fail='die'): - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) try: if len(args) == 1: s = args[0] @@ -379,7 +379,7 @@ class BTCAmt(Decimal,Hilite,InitErrors): def __new__(cls,num,from_unit=None,on_fail='die'): if type(num) == cls: return num - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) try: if from_unit: assert from_unit in cls.units,( @@ -468,7 +468,7 @@ class CoinAddr(str,Hilite,InitErrors,MMGenObject): trunc_ok = False def __new__(cls,s,on_fail='die'): if type(s) == cls: return s - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) from mmgen.globalvars import g try: assert set(s) <= set(ascii_letters+digits),'contains non-alphanumeric characters' @@ -535,7 +535,7 @@ class SeedID(str,Hilite,InitErrors): trunc_ok = False def __new__(cls,seed=None,sid=None,on_fail='die'): if type(sid) == cls: return sid - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) try: if seed: from mmgen.seed import Seed,SubSeed @@ -556,7 +556,7 @@ class SubSeedIdx(str,Hilite,InitErrors): trunc_ok = False def __new__(cls,s,on_fail='die'): if type(s) == cls: return s - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) try: assert issubclass(type(s),str),'not a string or string subclass' idx = s[:-1] if s[-1] in 'SsLl' else s @@ -580,7 +580,7 @@ class MMGenID(str,Hilite,InitErrors,MMGenObject): width = 0 trunc_ok = False def __new__(cls,s,on_fail='die'): - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) from mmgen.globalvars import g try: ss = str(s).split(':') @@ -604,7 +604,7 @@ class TwMMGenID(str,Hilite,InitErrors,MMGenObject): trunc_ok = False def __new__(cls,s,on_fail='die'): if type(s) == cls: return s - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) ret = None try: ret = MMGenID(s,on_fail='raise') @@ -631,7 +631,7 @@ class TwMMGenID(str,Hilite,InitErrors,MMGenObject): class TwLabel(str,InitErrors,MMGenObject): def __new__(cls,s,on_fail='die'): if type(s) == cls: return s - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) try: ss = s.split(None,1) mmid = TwMMGenID(ss[0],on_fail='raise') @@ -651,7 +651,7 @@ class HexStr(str,Hilite,InitErrors): def __new__(cls,s,on_fail='die',case='lower'): if type(s) == cls: return s assert case in ('upper','lower') - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) try: assert issubclass(type(s),str),'not a string or string subclass' assert set(s) <= set(getattr(hexdigits,case)()),'not {}case hexadecimal symbols'.format(case) @@ -670,7 +670,7 @@ class HexStrWithWidth(HexStr): width = None parent_cls = HexStr def __new__(cls,s,on_fail='die'): - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) try: ret = cls.parent_cls.__new__(cls,s,case=cls.hexcase,on_fail='raise') assert len(s) == cls.width,'Value is not {} characters wide'.format(cls.width) @@ -689,7 +689,7 @@ class WifKey(str,Hilite,InitErrors): color = 'blue' def __new__(cls,s,on_fail='die'): if type(s) == cls: return s - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) try: assert set(s) <= set(ascii_letters+digits),'not an ascii alphanumeric string' from mmgen.globalvars import g @@ -724,7 +724,7 @@ class PrivKey(str,Hilite,InitErrors,MMGenObject): from mmgen.globalvars import g if type(s) == cls: return s - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) if wif: try: @@ -763,7 +763,7 @@ class AddrListID(str,Hilite,InitErrors,MMGenObject): trunc_ok = False color = 'yellow' def __new__(cls,sid,mmtype,on_fail='die'): - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) try: assert type(sid) == SeedID,"{!r} not a SeedID instance".format(sid) t = MMGenAddrType,MMGenPasswordType @@ -785,7 +785,7 @@ class MMGenLabel(str,Hilite,InitErrors): desc = 'label' def __new__(cls,s,on_fail='die',msg=None): if type(s) == cls: return s - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) for k in cls.forbidden,cls.allowed: assert type(k) == list for ch in k: assert type(ch) == str and len(ch) == 1 @@ -884,7 +884,7 @@ class MMGenAddrType(str,Hilite,InitErrors,MMGenObject): } def __new__(cls,s,on_fail='die',errmsg=None): if type(s) == cls: return s - cls.arg_chk(cls,on_fail) + cls.arg_chk(on_fail) from mmgen.globalvars import g try: for k,v in list(cls.mmtypes.items()):