optional IP address argument of iparg decorator

pull/1374/head
Alexander Koeppe 2016-04-08 22:47:09 +02:00
parent 1494b14b37
commit caa4521169
1 changed files with 5 additions and 5 deletions

View File

@ -21,7 +21,7 @@
#
__author__ = "Alexander Koeppe"
__copyright__ = "Copyright (c) 2004 Cyril Jaquier"
__copyright__ = "Copyright (c) 2016 Alexander Koeppe"
__license__ = "GPL"
import inspect
@ -33,11 +33,11 @@ from functools import wraps
##
# Helper functions / decorator
#
# Thanks to Yaroslav Halchenko (yarikoptic)
#
def asip(ip):
"""A little helper to guarantee ip being an IPAddr instance"""
return ip if isinstance(ip, IPAddr) else IPAddr(ip)
return ip if isinstance(ip, IPAddr) or ip == None else IPAddr(ip)
def iparg(f):
"""A helper decorator to simplify use of asip throughout the code"""
@ -48,11 +48,11 @@ def iparg(f):
if args and args[0] == 'self':
# method -- just above simpler version
@wraps(f)
def checkip(self, ip, *argv, **kwargs):
def checkip(self, ip=None, *argv, **kwargs):
return f(self, asip(ip), *argv, **kwargs)
else:
@wraps(f)
def checkip(ip, *argv, **kwargs):
def checkip(ip=None, *argv, **kwargs):
return f(asip(ip), *argv, **kwargs)
return checkip