def set_to_object(obj, attribute, value): # Search the list index in path to value list_index = re.search('\d+', attribute) if list_index: list_index = list_index.group(0) parent, child = attribute.split('[' + list_index + '].')[:2] # Split attribute to path to lits (parent) and path to value in list element (child) try: # Get list from parent listing = get_from_object(obj, parent) # Create object with list_index if he don`t exist if len(listing) < int(list_index) + 1: listing.append({}) except AttributeError: # Create list if he don`t exist listing = [{}] # Update list in parent xpathnew(obj, parent, listing, separator='.') # Set value in obj xpathnew(obj, '.'.join([parent, list_index, child]), value, separator='.') else: xpathnew(obj, attribute, value, separator='.') return munchify(obj)
def set_to_object(obj, attribute, value): # Search the list index in path to value list_index = re.search('\d+', attribute) if list_index and attribute != 'stage2TenderID': list_index = list_index.group(0) parent, child = attribute.split('[' + list_index + '].')[:2] # Split attribute to path to lits (parent) and path to value in list element (child) try: # Get list from parent listing = get_from_object(obj, parent) # Create object with list_index if he don`t exist if len(listing) < int(list_index) + 1: listing.append({}) except AttributeError: # Create list if he don`t exist listing = [{}] # Update list in parent xpathnew(obj, parent, listing, separator='.') # Set value in obj xpathnew(obj, '.'.join([parent, list_index, child]), value, separator='.') else: xpathnew(obj, attribute, value, separator='.') return munchify(obj)
def set_to_object(obj, attribute, value): xpathnew(obj, attribute, value, separator='.') return obj