podojo-cli 0.4.4__tar.gz → 0.4.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/CHANGELOG.md +5 -0
  2. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/PKG-INFO +1 -1
  3. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/pyproject.toml +1 -1
  4. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/commands/transcripts.py +12 -1
  5. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/commands/videos.py +14 -0
  6. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/.github/workflows/publish.yml +0 -0
  7. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/.gitignore +0 -0
  8. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/CLAUDE.md +0 -0
  9. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/README.md +0 -0
  10. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/__init__.py +0 -0
  11. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/client.py +0 -0
  12. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/commands/__init__.py +0 -0
  13. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/commands/auth.py +0 -0
  14. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/commands/gdrive.py +0 -0
  15. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/commands/projects.py +0 -0
  16. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/commands/showreel.py +0 -0
  17. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/commands/usertests.py +0 -0
  18. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/config.py +0 -0
  19. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/gdrive/__init__.py +0 -0
  20. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/gdrive/list.py +0 -0
  21. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/gdrive/upload.py +0 -0
  22. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/main.py +0 -0
  23. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/video/__init__.py +0 -0
  24. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/src/podojo_cli/video/showreel.py +0 -0
  25. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/tests/conftest.py +0 -0
  26. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/tests/test_auth.py +0 -0
  27. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/tests/test_gdrive.py +0 -0
  28. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/tests/test_projects.py +0 -0
  29. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/tests/test_showreel.py +0 -0
  30. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/tests/test_usertests.py +0 -0
  31. {podojo_cli-0.4.4 → podojo_cli-0.4.5}/uv.lock +0 -0
@@ -5,6 +5,11 @@ All notable changes to the Podojo CLI will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org).
7
7
 
8
+ ## [0.4.5] - 2026-04-25
9
+
10
+ ### Added
11
+ - Show interview date/time in `transcripts list` and `videos list` tables
12
+
8
13
  ## [0.4.4] - 2026-04-19
9
14
 
10
15
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: podojo-cli
3
- Version: 0.4.4
3
+ Version: 0.4.5
4
4
  Summary: CLI for the Podojo user research platform
5
5
  Project-URL: Homepage, https://github.com/podojo/cli-podojo
6
6
  Project-URL: Source, https://github.com/podojo/cli-podojo
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "podojo-cli"
3
- version = "0.4.4"
3
+ version = "0.4.5"
4
4
  description = "CLI for the Podojo user research platform"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -1,3 +1,4 @@
1
+ from datetime import datetime
1
2
  from pathlib import Path
2
3
 
3
4
  import typer
@@ -10,6 +11,15 @@ app = typer.Typer(help="Manage transcripts")
10
11
  console = Console()
11
12
 
12
13
 
14
+ def _format_date(value) -> str:
15
+ if not value:
16
+ return ""
17
+ try:
18
+ return datetime.fromisoformat(value.replace("Z", "+00:00")).strftime("%Y-%m-%d %H:%M")
19
+ except (ValueError, AttributeError):
20
+ return str(value)
21
+
22
+
13
23
  @app.command("list")
14
24
  def list_transcripts(project: str = typer.Argument(help="Project name")):
15
25
  """List transcripts for a project."""
@@ -17,11 +27,12 @@ def list_transcripts(project: str = typer.Argument(help="Project name")):
17
27
  data = client.list_transcripts(project)
18
28
 
19
29
  table = Table(title=f"Transcripts — {project} ({data['total']} total)")
30
+ table.add_column("Date")
20
31
  table.add_column("Batch ID")
21
32
  table.add_column("Name")
22
33
 
23
34
  for t in data["interviews"]:
24
- table.add_row(t.get("batch_id", ""), t.get("batch_name", ""))
35
+ table.add_row(_format_date(t.get("date")), t.get("batch_id", ""), t.get("batch_name", ""))
25
36
 
26
37
  console.print(table)
27
38
 
@@ -1,3 +1,4 @@
1
+ from datetime import datetime
1
2
  from pathlib import Path
2
3
 
3
4
  import httpx
@@ -12,6 +13,17 @@ app = typer.Typer(help="Manage videos")
12
13
  console = Console()
13
14
 
14
15
 
16
+ def _format_date(value) -> str:
17
+ if not value:
18
+ return ""
19
+ if isinstance(value, datetime):
20
+ return value.strftime("%Y-%m-%d %H:%M")
21
+ try:
22
+ return datetime.fromisoformat(str(value).replace("Z", "+00:00")).strftime("%Y-%m-%d %H:%M")
23
+ except ValueError:
24
+ return str(value)
25
+
26
+
15
27
  @app.command("list")
16
28
  def list_videos(project: str = typer.Argument(help="Project name")):
17
29
  """List videos for a project."""
@@ -19,12 +31,14 @@ def list_videos(project: str = typer.Argument(help="Project name")):
19
31
  data = client.list_videos(project)
20
32
 
21
33
  table = Table(title=f"Videos — {project} ({data['total']} total)")
34
+ table.add_column("Date")
22
35
  table.add_column("Batch ID")
23
36
  table.add_column("Name")
24
37
  table.add_column("Duration (min)")
25
38
 
26
39
  for v in data["videos"]:
27
40
  table.add_row(
41
+ _format_date(v.get("batch_timestamp")),
28
42
  v.get("batch_id", ""),
29
43
  v.get("batch_name", ""),
30
44
  str(v.get("duration_minutes", "")),
File without changes
File without changes
File without changes
File without changes
File without changes