code: def __new__(cls, *args, **kwargs):
      args = list(args)
      parameters = []
      for i, key in enumerate(cls.template_keys):
          if args:
              parameters.append(args.pop(0))
          elif key in kwargs:
              parameters.append(kwargs.pop(key))
          else:
              value = cls.template_values[i]
              if value is None:
                  raise TypeError(
                      "Required argument `%s` (pos %d) not found"
                      % (key, i)
                  )
              else:
                  parameters.append(value)
  
      full_name = signature(cls.name, *parameters)
      if hasattr(cls.module, full_name):
          return getattr(cls.module, full_name)(*args, **kwargs)
      else:
          strings = [
              "%s=%s" % (k, v)
              for k, v in zip(cls.template_keys, parameters)
          ]
          raise AttributeError(
              "Can't find an instantiation of %s with %s"
              % (cls.name, ", ".join(strings))
          )
  
file_path: graphvite/python/graphvite/helper.py
imports: from __future__ import absolute_import, print_function
  import re
  from .None import lib
label_desc: Use image node_id 1 for calling the TemplateHelper obj's underlying member method code with example usage: obj.__new__(cls) and returns: getattr