2.7 is for bug fixes only. Unless there is a bug to be fixed, I would leave the code as is.
Mariatta On Tue, Aug 7, 2018 at 8:14 AM 蔡銘峯 <parkt...@gmail.com> wrote: > Hello everybody, > I am Park Tsai. I want to refactor __get_builtin_constructor on hasklib.py > of python 2.7 ( > https://github.com/python/cpython/blob/2.7/Lib/hashlib.py#L72). > This is the first time that I try to refactor code of CPython on GitHub, > so I am very excited. > > This is __get_builtin_constructor code on hasklib.py ,as follows. > > def __get_builtin_constructor(name): > try: > if name in ('SHA1', 'sha1'): > import _sha > return _sha.new > elif name in ('MD5', 'md5'): > import _md5 > return _md5.new > elif name in ('SHA256', 'sha256', 'SHA224', 'sha224'): > import _sha256 > bs = name[3:] > if bs == '256': > return _sha256.sha256 > elif bs == '224': > return _sha256.sha224 > elif name in ('SHA512', 'sha512', 'SHA384', 'sha384'): > import _sha512 > bs = name[3:] > if bs == '512': > return _sha512.sha512 > elif bs == '384': > return _sha512.sha384 > except ImportError: > pass # no extension module, this hash is unsupported. > > raise ValueError('unsupported hash type ' + name) > > > When I read this code, it looks messy, so I want to refactor it and make > it become more clearly . > > Then, it will be like this > > def get_builtin_constructor(name): > try: > if name[:3] in ('SHA','sha'): > if(name[3:]=='1'): > import _sha > return _sha.new > > elif (name[3:] == '224'): > import _sha256 > return _sha256.sha224 > > elif (name[3:] == '256'): > import _sha256 > return _sha256.sha256 > > elif (name[3:] == '384'): > import _sha512 > return _sha512.sha384 > > elif (name[3:] == '512'): > import _sha512 > return _sha512.sha512 > elif name in ('MD5', 'md5'): > import _md5 > return _md5.new > > except ImportError: > pass # no extension module, this hash is unsupported. > > raise ValueError('unsupported hash type ' + name) > > I will be grateful for any help you can provide. I really appreciate any > feedback you can offer! > > Best regards, > Park Tsai !! > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > https://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > https://mail.python.org/mailman/options/python-dev/mariatta.wijaya%40gmail.com >
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com