Method: rich.progress.Progress.update
Calls: 10, Exceptions: 0, Paths: 3Back
Path 1: 6 calls (0.6)
0 (6)
None (6)
None (6)
None (6)
'tick 0' (1) 'tick 1' (1) 'tick 2' (1) 'tick 3' (1) 'tick 4' (1) 'tick 5' (1)
None (6)
False (6)
{} (6)
1def update(
2 self,
3 task_id: TaskID,
4 *,
5 total: Optional[float] = None,
6 completed: Optional[float] = None,
7 advance: Optional[float] = None,
8 description: Optional[str] = None,
9 visible: Optional[bool] = None,
10 refresh: bool = False,
11 **fields: Any,
12 ) -> None:
13 """Update information associated with a task.
14
15 Args:
16 task_id (TaskID): Task id (returned by add_task).
17 total (float, optional): Updates task.total if not None.
18 completed (float, optional): Updates task.completed if not None.
19 advance (float, optional): Add a value to task.completed if not None.
20 description (str, optional): Change task description if not None.
21 visible (bool, optional): Set visible flag if not None.
22 refresh (bool): Force a refresh of progress information. Default is False.
23 **fields (Any): Additional data fields required for rendering.
24 """
25 with self._lock:
26 task = self._tasks[task_id]
27 completed_start = task.completed
28
29 if total is not None and total != task.total:
30 task.total = total
31 task._reset()
32 if advance is not None:
33 task.completed += advance
34 if completed is not None:
35 task.completed = completed
36 if description is not None:
37 task.description = description
38 if visible is not None:
39 task.visible = visible
40 task.fields.update(fields)
41 update_completed = task.completed - completed_start
42
43 current_time = self.get_time()
44 old_sample_time = current_time - self.speed_estimate_period
45 _progress = task._progress
46
47 popleft = _progress.popleft
48 while _progress and _progress[0].timestamp < old_sample_time:
49 popleft()
50 if update_completed > 0:
51 _progress.append(ProgressSample(current_time, update_completed))
52 if (
53 task.total is not None
54 and task.completed >= task.total
55 and task.finished_time is None
56 ):
57 task.finished_time = task.elapsed
58
59 if refresh:
60 self.refresh()
Path 2: 3 calls (0.3)
4 (3)
200 (3)
200 (3)
50 (3)
None (3)
True (3)
True (3)
{} (3)
1def update(
2 self,
3 task_id: TaskID,
4 *,
5 total: Optional[float] = None,
6 completed: Optional[float] = None,
7 advance: Optional[float] = None,
8 description: Optional[str] = None,
9 visible: Optional[bool] = None,
10 refresh: bool = False,
11 **fields: Any,
12 ) -> None:
13 """Update information associated with a task.
14
15 Args:
16 task_id (TaskID): Task id (returned by add_task).
17 total (float, optional): Updates task.total if not None.
18 completed (float, optional): Updates task.completed if not None.
19 advance (float, optional): Add a value to task.completed if not None.
20 description (str, optional): Change task description if not None.
21 visible (bool, optional): Set visible flag if not None.
22 refresh (bool): Force a refresh of progress information. Default is False.
23 **fields (Any): Additional data fields required for rendering.
24 """
25 with self._lock:
26 task = self._tasks[task_id]
27 completed_start = task.completed
28
29 if total is not None and total != task.total:
30 task.total = total
31 task._reset()
32 if advance is not None:
33 task.completed += advance
34 if completed is not None:
35 task.completed = completed
36 if description is not None:
37 task.description = description
38 if visible is not None:
39 task.visible = visible
40 task.fields.update(fields)
41 update_completed = task.completed - completed_start
42
43 current_time = self.get_time()
44 old_sample_time = current_time - self.speed_estimate_period
45 _progress = task._progress
46
47 popleft = _progress.popleft
48 while _progress and _progress[0].timestamp < old_sample_time:
49 popleft()
50 if update_completed > 0:
51 _progress.append(ProgressSample(current_time, update_completed))
52 if (
53 task.total is not None
54 and task.completed >= task.total
55 and task.finished_time is None
56 ):
57 task.finished_time = task.elapsed
58
59 if refresh:
60 self.refresh()
Path 3: 1 calls (0.1)
0 (1)
13 (1)
None (1)
None (1)
None (1)
None (1)
False (1)
{} (1)
1def update(
2 self,
3 task_id: TaskID,
4 *,
5 total: Optional[float] = None,
6 completed: Optional[float] = None,
7 advance: Optional[float] = None,
8 description: Optional[str] = None,
9 visible: Optional[bool] = None,
10 refresh: bool = False,
11 **fields: Any,
12 ) -> None:
13 """Update information associated with a task.
14
15 Args:
16 task_id (TaskID): Task id (returned by add_task).
17 total (float, optional): Updates task.total if not None.
18 completed (float, optional): Updates task.completed if not None.
19 advance (float, optional): Add a value to task.completed if not None.
20 description (str, optional): Change task description if not None.
21 visible (bool, optional): Set visible flag if not None.
22 refresh (bool): Force a refresh of progress information. Default is False.
23 **fields (Any): Additional data fields required for rendering.
24 """
25 with self._lock:
26 task = self._tasks[task_id]
27 completed_start = task.completed
28
29 if total is not None and total != task.total:
30 task.total = total
31 task._reset()
32 if advance is not None:
33 task.completed += advance
34 if completed is not None:
35 task.completed = completed
36 if description is not None:
37 task.description = description
38 if visible is not None:
39 task.visible = visible
40 task.fields.update(fields)
41 update_completed = task.completed - completed_start
42
43 current_time = self.get_time()
44 old_sample_time = current_time - self.speed_estimate_period
45 _progress = task._progress
46
47 popleft = _progress.popleft
48 while _progress and _progress[0].timestamp < old_sample_time:
49 popleft()
50 if update_completed > 0:
51 _progress.append(ProgressSample(current_time, update_completed))
52 if (
53 task.total is not None
54 and task.completed >= task.total
55 and task.finished_time is None
56 ):
57 task.finished_time = task.elapsed
58
59 if refresh:
60 self.refresh()