def get_module_and_class(full_class_name):
	try:
		module = full_class_name[:full_class_name.rindex('.')]
		cls_name = full_class_name[full_class_name.rindex('.')+1:len(full_class_name)]
		return module, cls_name
	except ValueError, e:
		exceptions.raise_app_exception(e.message)
		
Example #2
0
def check_params(args, params):
    if args is None or not isinstance(args, dict):
        exceptions.raise_exception(
            invalid_args_error % dict(key="arg", value="some_value"),
            exceptions.WEBIKEN_EXCEPTIONS["management_command_exception"],
        )
    if params is None or not isinstance(params, tuple):
        exceptions.raise_app_exception(exceptions.WEBIKEN_APP_ERROR)
    for param in params:
        check_param(args, param)
Example #3
0
def make_options(params=None):
    keys = []
    t = tuple()
    if params is None:
        exceptions.raise_app_exception(exceptions.WEBIKEN_APP_ERROR)
    for k, v in params.items():
        keys.append(k)
        if not isinstance(v, dict):
            exceptions.raise_app_exception(exceptions.WEBIKEN_APP_ERROR)
        t += make_option(k, v)
    return t
Example #4
0
def process_args(args=None, params=None, keys=None, description=""):
    keys = []
    parser = argparse.ArgumentParser(description=description)
    if params is None:
        exceptions.raise_app_exception(exceptions.WEBIKEN_APP_ERROR)
    for k, v in params.iteritems():
        keys.append(k)
        if not isinstance(v, dict):
            exceptions.raise_app_exception(exceptions.WEBIKEN_APP_ERROR)
        add_argument(parser, k, v)
    try:
        arguments = parser.parse_args()
    except BaseException, e:
        arg_list = []
        some_value = "some_value"
        for k in keys:
            arg_list.append("%(key)s %(value)s" % dict(key=k, value=some_value))

        args_error = "%(error_msg)s %(arg_list)s " % dict(
            error_msg=invalid_args_error, arg_list=" ".join([kv for kv in arg_list])
        )
        exceptions.raise_exception(args_error, exceptions.WEBIKEN_EXCEPTIONS["missing_argument_exception"])
def dynamic_import(module,cls):
	try:
		module = __import__(module, globals(), locals(), [cls])
		return module.__dict__[cls]
	except ImportError, e:
		exceptions.raise_app_exception(e.message)