Skip to content

Commit 19c0be8

Browse files
committed
rimport: Don't hard-code stage root owner name.
1 parent f70440e commit 19c0be8

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

rimport

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ from typing import Iterable, List
1919
DEFAULT_STAGING_ROOT = Path(
2020
"/glade/campaign/collections/gdex/data/d651077/cesmdata/inputdata"
2121
)
22+
STAGE_OWNER = "cesmdata"
2223

2324

2425
def build_parser() -> argparse.ArgumentParser:
@@ -48,6 +49,7 @@ def build_parser() -> argparse.ArgumentParser:
4849
"-inputdata",
4950
dest="inputdata",
5051
metavar="inputdata_dir",
52+
# TODO: This should be a module-level variable
5153
default=os.path.join(
5254
"/glade", "campaign", "cesm", "cesmdata", "cseg", "inputdata"
5355
),
@@ -130,10 +132,9 @@ def ensure_running_as(target_user: str, argv: list[str]) -> None:
130132

131133
if os.geteuid() != target_uid:
132134
if not sys.stdin.isatty():
133-
# TODO: Do not hard-code "cesmdata" here
134135
print(
135-
"rimport: need interactive TTY to authenticate as 'cesmdata' (2FA).\n"
136-
" Try: sudo -u cesmdata rimport …",
136+
f"rimport: need interactive TTY to authenticate as '{target_user}' (2FA).\n"
137+
f" Try: sudo -u {target_user} rimport …",
137138
file=sys.stderr,
138139
)
139140
# TODO: Raise Python error instead of SystemExit
@@ -166,11 +167,11 @@ def main(argv: List[str] | None = None) -> int:
166167
parser = build_parser()
167168
args = parser.parse_args(argv)
168169

169-
# Ensure we are running as the cesmdata account before touching the tree
170-
# Set env var RIMPORT_SKIP_USER_CHECK=1 if you prefer to run `sudox -u cesmdata rimport …`
170+
# Ensure we are running as the STAGE_OWNER account before touching the tree
171+
# Set env var RIMPORT_SKIP_USER_CHECK=1 if you prefer to run `sudox -u STAGE_OWNER rimport …`
171172
# explicitly (or for testing).
172173
if os.getenv("RIMPORT_SKIP_USER_CHECK") != "1":
173-
ensure_running_as("cesmdata", sys.argv)
174+
ensure_running_as(STAGE_OWNER, sys.argv)
174175

175176
root = Path(args.inputdata).expanduser().resolve()
176177
if not root.exists():

0 commit comments

Comments
 (0)