code: def get_object(self, g=None):
      if g is None:
          g = {}
      if self.buffers:
          # reconstitute buffers
          for canned_arg, buf_count in zip(
              self.args, self.arg_buffer_counts
          ):
              if not buf_count:
                  continue
              canned_arg.buffers = self.buffers[:buf_count]
              self.buffers = self.buffers[buf_count:]
          for key in sorted(self.keyword_buffer_counts):
              buf_count = self.keyword_buffer_counts[key]
              canned_kwarg = self.keywords[key]
              canned_kwarg.buffers = self.buffers[:buf_count]
              self.buffers = self.buffers[buf_count:]
          assert len(self.buffers) == 0
  
      args = [uncan(a, g) for a in self.args]
      keywords = {k: uncan(v, g) for k, v in self.keywords.items()}
      func = uncan(self.func, g)
      return functools.partial(func, *args, **keywords)
  
imports: import copy
  import functools
  import sys
  from types import FunctionType
  from traitlets import import_item
  from traitlets.log import get_logger
  from .None import codeutil
label_desc: Use image node_id 3 for calling the CannedPartial obj's underlying member method code with example usage: obj.get_object(g) and returns: functools