From a5f20f40840a0cbc1580261bff3d3a7fd2cdc29b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sat, 24 May 2025 09:37:52 +0200 Subject: Parse parentheses in job reference --- src/Command/Extract.hs | 7 ++++--- src/Command/JobId.hs | 2 +- src/Command/Log.hs | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) (limited to 'src/Command') diff --git a/src/Command/Extract.hs b/src/Command/Extract.hs index b24a1af..4336b29 100644 --- a/src/Command/Extract.hs +++ b/src/Command/Extract.hs @@ -31,9 +31,10 @@ instance CommandArgumentsType ExtractArguments where extractDestination <- return (last args) return ExtractArguments {..} where - toArtifactRef tref = case T.splitOn "." (T.pack tref) of - parts@(_:_:_) -> return ( JobRef (init parts), ArtifactName (last parts) ) - _ -> throwError $ "too few parts in artifact ref ‘" <> tref <> "’" + toArtifactRef tref = case T.breakOnEnd "." (T.pack tref) of + (jobref', aref) | Just ( jobref, '.' ) <- T.unsnoc jobref' + -> return ( parseJobRef jobref, ArtifactName aref ) + _ -> throwError $ "too few parts in artifact ref ‘" <> tref <> "’" _ -> throwError "too few arguments" data ExtractOptions = ExtractOptions diff --git a/src/Command/JobId.hs b/src/Command/JobId.hs index 1cfd18c..429e2a0 100644 --- a/src/Command/JobId.hs +++ b/src/Command/JobId.hs @@ -44,7 +44,7 @@ instance Command JobIdCommand where "show detals of the ID" ] - commandInit _ opts = JobIdCommand opts . JobRef . T.splitOn "." + commandInit _ opts = JobIdCommand opts . parseJobRef commandExec = cmdJobId diff --git a/src/Command/Log.hs b/src/Command/Log.hs index 92866d4..5d8c9d4 100644 --- a/src/Command/Log.hs +++ b/src/Command/Log.hs @@ -30,7 +30,7 @@ instance Command LogCommand where [ "Usage: minici log " ] - commandInit _ _ = LogCommand . JobRef . T.splitOn "." + commandInit _ _ = LogCommand . parseJobRef commandExec = cmdLog -- cgit v1.2.3