mirror of
https://github.com/browser-use/browser-use.git
synced 2026-09-14 19:59:47 +08:00
39698e58e4
Remove all cloud API paths from the CLI while leaving core library cloud support (BrowserSession(use_cloud=True), browser/cloud/) untouched. Deleted: api_key.py, cloud_task.py, cloud_session.py Removed: --browser remote, cloud-only run flags, task/session subcommands, cloud profile ops (create/update/delete/sync), remote mode validation Kept: tunnel (just Cloudflare), all local commands, install_config.py Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
787 B
Python
32 lines
787 B
Python
"""Shared utilities for CLI command handlers."""
|
|
|
|
from datetime import datetime, timezone
|
|
|
|
|
|
def format_duration(started_at: datetime | None, finished_at: datetime | None) -> str:
|
|
"""Format duration between two timestamps, or elapsed time if still running."""
|
|
if not started_at:
|
|
return ''
|
|
|
|
try:
|
|
if finished_at:
|
|
end = finished_at
|
|
else:
|
|
end = datetime.now(timezone.utc)
|
|
|
|
delta = end - started_at
|
|
total_seconds = int(delta.total_seconds())
|
|
|
|
if total_seconds < 60:
|
|
return f'{total_seconds}s'
|
|
elif total_seconds < 3600:
|
|
minutes = total_seconds // 60
|
|
seconds = total_seconds % 60
|
|
return f'{minutes}m {seconds}s'
|
|
else:
|
|
hours = total_seconds // 3600
|
|
minutes = (total_seconds % 3600) // 60
|
|
return f'{hours}h {minutes}m'
|
|
except Exception:
|
|
return ''
|