Skip to content

Commit 548161b

Browse files
committed
fix: support anything uproot supports
Signed-off-by: Henry Schreiner <[email protected]>
1 parent c0598c9 commit 548161b

File tree

4 files changed

+10
-63
lines changed

4 files changed

+10
-63
lines changed

src/uproot_browser/__main__.py

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import functools
88
import os
99
import typing
10-
from pathlib import Path
1110
from typing import Any, Callable
1211

1312
import click
@@ -25,15 +24,6 @@
2524
from click_default_group import DefaultGroup
2625

2726

28-
def _existing_path_before_colon(_ctx: object, _value: object, path: str) -> str:
29-
prefix, _, _ = path.partition(":")
30-
if not Path(prefix).is_file():
31-
msg = "{prefix!r} must be an exiting path"
32-
raise click.BadParameter(msg)
33-
34-
return path
35-
36-
3727
@click.group(context_settings=CONTEXT_SETTINGS, cls=DefaultGroup, default="browse")
3828
@click.version_option(version=VERSION)
3929
def main() -> None:
@@ -43,7 +33,7 @@ def main() -> None:
4333

4434

4535
@main.command()
46-
@click.argument("filename", callback=_existing_path_before_colon)
36+
@click.argument("filename")
4737
def tree(filename: str) -> None:
4838
"""
4939
Display a tree.
@@ -68,7 +58,7 @@ def new_func(*args: Any, **kwargs: Any) -> Any:
6858

6959

7060
@main.command()
71-
@click.argument("filename", callback=_existing_path_before_colon)
61+
@click.argument("filename")
7262
@click.option(
7363
"--iterm", is_flag=True, help="Display an iTerm plot (requires [iterm] extra)."
7464
)
@@ -87,10 +77,7 @@ def plot(filename: str, iterm: bool) -> None:
8777

8878
import uproot_browser.dirs # pylint: disable=import-outside-toplevel
8979

90-
fname = uproot_browser.dirs.filename(filename)
91-
selections = uproot_browser.dirs.selections(filename)
92-
my_tree = uproot.open(fname)
93-
*_, item = uproot_browser.dirs.apply_selection(my_tree, selections)
80+
item = uproot.open(filename)
9481

9582
if iterm:
9683
uproot_browser.plot_mpl.plot(item)
@@ -109,18 +96,15 @@ def plot(filename: str, iterm: bool) -> None:
10996

11097

11198
@main.command()
112-
@click.argument("filename", callback=_existing_path_before_colon)
99+
@click.argument("filename")
113100
def browse(filename: str) -> None:
114101
"""
115102
Display a TUI.
116103
"""
117-
import uproot_browser.dirs # pylint: disable=import-outside-toplevel
118104
import uproot_browser.tui.browser # pylint: disable=import-outside-toplevel
119105

120-
fname = uproot_browser.dirs.filename(filename)
121-
122106
app = uproot_browser.tui.browser.Browser(
123-
path=Path(fname),
107+
path=filename,
124108
)
125109

126110
app.run()

src/uproot_browser/dirs.py

Lines changed: 0 additions & 31 deletions
This file was deleted.

src/uproot_browser/tui/browser.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
import contextlib
77
import sys
8-
from pathlib import Path
98
from typing import Any, ClassVar
109

1110
import plotext as plt
@@ -66,7 +65,7 @@ class Browser(textual.app.App[object]):
6665

6766
show_tree = var(True)
6867

69-
def __init__(self, path: Path, **kwargs: Any) -> None:
68+
def __init__(self, path: str, **kwargs: Any) -> None:
7069
self.path = path
7170
super().__init__(**kwargs)
7271

@@ -161,10 +160,6 @@ def on_uproot_selected(self, message: UprootSelected) -> None:
161160

162161

163162
if __name__ in {"<run_path>", "__main__"}:
164-
import uproot_browser.dirs
165-
166-
fname = uproot_browser.dirs.filename(
167-
"../scikit-hep-testdata/src/skhep_testdata/data/uproot-Event.root"
168-
)
169-
app = Browser(path=Path(fname))
163+
fname = "../scikit-hep-testdata/src/skhep_testdata/data/uproot-Event.root"
164+
app = Browser(path=fname)
170165
app.run()

src/uproot_browser/tui/left_panel.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from __future__ import annotations
22

3-
from pathlib import Path
43
from typing import Any, ClassVar
54

65
import rich.panel
@@ -37,10 +36,10 @@ class UprootTree(textual.widgets.Tree[UprootEntry]):
3736
textual.binding.Binding("l", "cursor_in", "Cursor in", show=False),
3837
]
3938

40-
def __init__(self, path: Path, **args: Any) -> None:
39+
def __init__(self, path: str, **args: Any) -> None:
4140
self.upfile = uproot.open(path)
4241
data = UprootEntry("/", self.upfile)
43-
super().__init__(name=path.name, data=data, label=path.stem, **args)
42+
super().__init__(name=path, data=data, label=path, **args)
4443

4544
def render_label(
4645
self,

0 commit comments

Comments
 (0)