Use update_task_metadata in set_task_progress
Instead of duplicating logic done for updating or creating a task details metadata property we can just use the new update_task_metadata as the single function that can do this. Change-Id: I66041a157b3f37ca083f8e743ec348ca8feacac6
This commit is contained in:
		@@ -152,9 +152,9 @@ class Storage(object):
 | 
				
			|||||||
    def update_task_metadata(self, uuid, update_with):
 | 
					    def update_task_metadata(self, uuid, update_with):
 | 
				
			||||||
        if not update_with:
 | 
					        if not update_with:
 | 
				
			||||||
            return
 | 
					            return
 | 
				
			||||||
        # NOTE(harlowja): this is a read and then write, not in 1 transcation
 | 
					        # NOTE(harlowja): this is a read and then write, not in 1 transaction
 | 
				
			||||||
        # so it is entirely possible that we could write over another writes
 | 
					        # so it is entirely possible that we could write over another writes
 | 
				
			||||||
        # metadata update.
 | 
					        # metadata update. Maybe add some merging logic later?
 | 
				
			||||||
        td = self._taskdetail_by_uuid(uuid)
 | 
					        td = self._taskdetail_by_uuid(uuid)
 | 
				
			||||||
        if not td.meta:
 | 
					        if not td.meta:
 | 
				
			||||||
            td.meta = {}
 | 
					            td.meta = {}
 | 
				
			||||||
@@ -168,20 +168,21 @@ class Storage(object):
 | 
				
			|||||||
        :param progress: task progress
 | 
					        :param progress: task progress
 | 
				
			||||||
        :param details: task specific progress information
 | 
					        :param details: task specific progress information
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        td = self._taskdetail_by_uuid(uuid)
 | 
					        metadata_update = {
 | 
				
			||||||
        if not td.meta:
 | 
					            'progress': progress,
 | 
				
			||||||
            td.meta = {}
 | 
					        }
 | 
				
			||||||
        td.meta['progress'] = progress
 | 
					 | 
				
			||||||
        if details is not None:
 | 
					        if details is not None:
 | 
				
			||||||
            # NOTE(imelnikov): as we can update progress without
 | 
					            # NOTE(imelnikov): as we can update progress without
 | 
				
			||||||
            # updating details (e.g. automatically from engine)
 | 
					            # updating details (e.g. automatically from engine)
 | 
				
			||||||
            # we save progress value with details, too
 | 
					            # we save progress value with details, too
 | 
				
			||||||
            if details:
 | 
					            if details:
 | 
				
			||||||
                td.meta['progress_details'] = dict(at_progress=progress,
 | 
					                metadata_update['progress_details'] = {
 | 
				
			||||||
                                                   details=details)
 | 
					                    'at_progress': progress,
 | 
				
			||||||
 | 
					                    'details': details,
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                td.meta['progress_details'] = None
 | 
					                metadata_update['progress_details'] = None
 | 
				
			||||||
        self._with_connection(self._save_task_detail, task_detail=td)
 | 
					        self.update_task_metadata(uuid, metadata_update)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_task_progress(self, uuid):
 | 
					    def get_task_progress(self, uuid):
 | 
				
			||||||
        """Get progress of task with given uuid.
 | 
					        """Get progress of task with given uuid.
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user