parameters: (original, modified)
return_statement: return patch
docstring: Create a patch object.
  
    Some methods support PATCH, an efficient way to send updates to a resource.
    This method allows the easy construction of patch bodies by looking at the
    differences between a resource before and after it was modified.
  
    Args:
      original: object, the original deserialized resource
      modified: object, the modified deserialized resource
    Returns:
      An object that contains only the changes from original to modified, in a
      form suitable to pass to a PATCH method.
  
    Example usage:
      item = service.activities().get(postid=postid, userid=userid).execute()
      original = copy.deepcopy(item)
      item['object']['content'] = 'This is updated.'
      service.activities.patch(postid=postid, userid=userid,
        body=makepatch(original, item)).execute()
docstring_summary: Create a patch object.
docstring_tokens: Create a patch object .
function: def makepatch(original, modified):
    """Create a patch object.
  
    Some methods support PATCH, an efficient way to send updates to a resource.
    This method allows the easy construction of patch bodies by looking at the
    differences between a resource before and after it was modified.
  
    Args:
      original: object, the original deserialized resource
      modified: object, the modified deserialized resource
    Returns:
      An object that contains only the changes from original to modified, in a
      form suitable to pass to a PATCH method.
  
    Example usage:
      item = service.activities().get(postid=postid, userid=userid).execute()
      original = copy.deepcopy(item)
      item['object']['content'] = 'This is updated.'
      service.activities.patch(postid=postid, userid=userid,
        body=makepatch(original, item)).execute()
    """
    patch = {}
    for key, original_value in original.iteritems():
      modified_value = modified.get(key, None)
      if modified_value is None:
        # Use None to signal that the element is deleted
        patch[key] = None
      elif original_value != modified_value:
        if type(original_value) == type({}):
          # Recursively descend objects
          patch[key] = makepatch(original_value, modified_value)
        else:
          # In the case of simple types or arrays we just replace
          patch[key] = modified_value
      else:
        # Don't add anything to patch if there's no change
        pass
    for key in modified:
      if key not in original:
        patch[key] = modified[key]
  
    return patch
function_tokens: def makepatch ( original , modified ) : patch = { } for key , original_value in original . iteritems ( ) : modified_value = modified . get ( key , None ) if modified_value is None : # Use None to signal that the element is deleted patch [ key ] = None elif original_value != modified_value : if type ( original_value ) == type ( { } ) : # Recursively descend objects patch [ key ] = makepatch ( original_value , modified_value ) else : # In the case of simple types or arrays we just replace patch [ key ] = modified_value else : # Don't add anything to patch if there's no change pass for key in modified : if key not in original : patch [ key ] = modified [ key ] return patch