relocate variable and function validator

This commit is contained in:
debugtalk
2018-08-08 00:01:54 +08:00
parent 4c89bb5077
commit d85f85446e
4 changed files with 60 additions and 47 deletions

View File

@@ -1,4 +1,5 @@
# encoding: utf-8
import types
""" validate data format
TODO: refactor with JSON schema validate
@@ -43,3 +44,35 @@ def is_testcases(data_structure):
return False
return True
###############################################################################
## validate varibles and functions
###############################################################################
def is_function(tup):
""" Takes (name, object) tuple, returns True if it is a function.
"""
name, item = tup
return isinstance(item, types.FunctionType)
def is_variable(tup):
""" Takes (name, object) tuple, returns True if it is a variable.
"""
name, item = tup
if callable(item):
# function or class
return False
if isinstance(item, types.ModuleType):
# imported module
return False
if name.startswith("_"):
# private property
return False
return True