Skip to content

Provide complete() hook on RemoteProgress #1018

Open
@pzelnip

Description

@pzelnip

It'd be nice to have a method or hook where one could define clean-up actions on a RemoteProgress indicator. The update() method allows one to update progress info, but there's no way to know when a RemoteProgress indicator completes. I'm envisioning a complete() method on a RemoteProgress instance that would be implemented by childclasses that GitPython would call once an action that takes a progress indicator completes.

Think for example a progress indicator that after the operation has completed spits out a "progress complete" message. Right now I do that by passing the RemoteProgress instance to clone_from and then after the clone_from call comes back I do a separate update to indicate operation complete. This is fine for basic sequential (ie multiple line) output to stdout, but say if you want to use a library that does progress bars (ex: Enlighten or alive-progress) that updates the same line in the terminal window, suddenly it gets a bit awkward as "ownership" of that line on screen is shared between the caller of clone_from and the RemoteProgress instance.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions