Rename DirectoryConfig to DirectorySettings

This commit is contained in:
Tom Sydney Kerckhove 2023-03-21 19:10:04 +01:00
parent 144cd1eebc
commit d25c3273b2
64 changed files with 160 additions and 160 deletions

View File

@ -47,11 +47,11 @@ combineToInstructions c Flags {..} Environment {..} mc = do
pure $ DispatchExport ExportSettings {..}
settings <- do
setDirectorySettings <-
combineToDirectoryConfig
defaultDirectoryConfig
combineToDirectorySettings
defaultDirectorySettings
flagDirectoryFlags
envDirectoryEnvironment
(confDirectoryConfiguration <$> mc)
(confDirectorySettingsuration <$> mc)
let setLogLevel = fromMaybe LevelWarn $ flagLogLevel <|> envLogLevel <|> (mc >>= confLogLevel)
pure $ Settings {..}
pure $ Instructions dispatch settings

View File

@ -44,7 +44,7 @@ data Environment = Environment
deriving (Show, Eq)
data Configuration = Configuration
{ confDirectoryConfiguration :: !DirectoryConfiguration,
{ confDirectorySettingsuration :: !DirectorySettingsuration,
confLogLevel :: !(Maybe LogLevel)
}
deriving (Show, Eq)
@ -53,7 +53,7 @@ instance HasCodec Configuration where
codec =
object "Configuration" $
Configuration
<$> objectCodec .= confDirectoryConfiguration
<$> objectCodec .= confDirectorySettingsuration
<*> optionalFieldOrNullWith
"log-level"
(bimapCodec parseLogLevel renderLogLevel codec)
@ -77,7 +77,7 @@ data ExportSettings = ExportSettings
deriving (Show, Eq)
data Settings = Settings
{ setDirectorySettings :: !DirectoryConfig,
{ setDirectorySettings :: !DirectorySettings,
setLogLevel :: !LogLevel
}
deriving (Show, Eq)

View File

@ -39,7 +39,7 @@ spec = modifyMaxShrinks (const 0) $
let settings =
Settings
{ setDirectorySettings =
defaultDirectoryConfig
defaultDirectorySettings
{ directoryConfigWorkflowFileSpec = AbsoluteWorkflow workflowDir
},
setLogLevel = LevelWarn
@ -66,7 +66,7 @@ spec = modifyMaxShrinks (const 0) $
-- Empty smos file because then there is definitely no prompt about not-done entries
writeSmosFile exampleProjectFile emptySmosFile
let dc =
defaultDirectoryConfig
defaultDirectorySettings
{ directoryConfigWorkflowFileSpec = AbsoluteWorkflow workflowDir
}
settings =
@ -102,7 +102,7 @@ spec = modifyMaxShrinks (const 0) $
let settings =
Settings
{ setDirectorySettings =
defaultDirectoryConfig
defaultDirectorySettings
{ directoryConfigWorkflowFileSpec = AbsoluteWorkflow workflowDir
},
setLogLevel = LevelWarn

View File

@ -44,11 +44,11 @@ deriveSettings Flags {..} Environment {..} mConf = do
let mc :: (CalendarImportConfiguration -> Maybe a) -> Maybe a
mc func = mConf >>= confCalendarImportConfiguration >>= func
setDirectorySettings <-
combineToDirectoryConfig
defaultDirectoryConfig
combineToDirectorySettings
defaultDirectorySettings
flagDirectoryFlags
envDirectoryEnvironment
(confDirectoryConfiguration <$> mConf)
(confDirectorySettingsuration <$> mConf)
setSources <- fmap catMaybes $
forM (maybe [] calendarImportConfSources (mConf >>= confCalendarImportConfiguration)) $ \SourceConfiguration {..} -> do
mOriginURIString <- case sourceConfOrigin of

View File

@ -25,7 +25,7 @@ data Environment = Environment
deriving (Show, Eq)
data Configuration = Configuration
{ confDirectoryConfiguration :: !DirectoryConfiguration,
{ confDirectorySettingsuration :: !DirectorySettingsuration,
confCalendarImportConfiguration :: !(Maybe CalendarImportConfiguration)
}
deriving (Show, Eq)
@ -34,7 +34,7 @@ instance HasCodec Configuration where
codec =
object "Configuration" $
Configuration
<$> objectCodec .= confDirectoryConfiguration
<$> objectCodec .= confDirectorySettingsuration
<*> optionalFieldOrNull "calendar" "Calendar configuration" .= confCalendarImportConfiguration
data CalendarImportConfiguration = CalendarImportConfiguration
@ -87,7 +87,7 @@ instance HasCodec SourceConfiguration where
<*> requiredField "destination" "The destination path within the workflow directory" .= sourceConfDestinationFile
data Settings = Settings
{ setDirectorySettings :: !DirectoryConfig,
{ setDirectorySettings :: !DirectorySettings,
setLogLevel :: !LogLevel,
setSources :: ![Source],
setDebug :: Bool

View File

@ -6,12 +6,12 @@ import Smos.Directory.InterestingStore
import Test.QuickCheck
import Test.Syd.Validity
withInterestingStore :: (DirectoryConfig -> IO ()) -> Property
withInterestingStore func = forAllValid $ \is -> withDirectoryConfig is func
withInterestingStore :: (DirectorySettings -> IO ()) -> Property
withInterestingStore func = forAllValid $ \is -> withDirectorySettings is func
withDirectoryConfig :: InterestingStore -> (DirectoryConfig -> IO a) -> IO a
withDirectoryConfig is func =
withDirectorySettings :: InterestingStore -> (DirectorySettings -> IO a) -> IO a
withDirectorySettings is func =
withSystemTempDir "smos-report-test" $ \tempDir -> do
writeInterestingStore tempDir is
let dc = defaultDirectoryConfig {directoryConfigWorkflowFileSpec = AbsoluteWorkflow tempDir}
let dc = defaultDirectorySettings {directoryConfigWorkflowFileSpec = AbsoluteWorkflow tempDir}
func dc

View File

@ -5,8 +5,8 @@
{-# LANGUAGE RecordWildCards #-}
module Smos.Directory.Config
( DirectoryConfig (..),
defaultDirectoryConfig,
( DirectorySettings (..),
defaultDirectorySettings,
WorkflowDirSpec (..),
defaultWorkflowDirSpec,
resolveWorkflowDir,
@ -30,7 +30,7 @@ import GHC.Generics (Generic)
import Path
import Path.IO
data DirectoryConfig = DirectoryConfig
data DirectorySettings = DirectorySettings
{ directoryConfigWorkflowFileSpec :: !WorkflowDirSpec,
directoryConfigArchiveFileSpec :: !ArchiveDirSpec,
directoryConfigProjectsFileSpec :: !ProjectsDirSpec,
@ -38,9 +38,9 @@ data DirectoryConfig = DirectoryConfig
}
deriving (Show, Eq, Generic)
defaultDirectoryConfig :: DirectoryConfig
defaultDirectoryConfig =
DirectoryConfig
defaultDirectorySettings :: DirectorySettings
defaultDirectorySettings =
DirectorySettings
{ directoryConfigWorkflowFileSpec = defaultWorkflowDirSpec,
directoryConfigArchiveFileSpec = defaultArchiveDirSpec,
directoryConfigProjectsFileSpec = defaultProjectsDirSpec,
@ -109,21 +109,21 @@ resolveArchivedProjectsDir ad as =
ArchivedProjectsInHome ard -> (</> ard) <$> getHomeDir
ArchivedProjectsAbsolute aad -> pure aad
resolveDirWorkflowDir :: DirectoryConfig -> IO (Path Abs Dir)
resolveDirWorkflowDir DirectoryConfig {..} = resolveWorkflowDir directoryConfigWorkflowFileSpec
resolveDirWorkflowDir :: DirectorySettings -> IO (Path Abs Dir)
resolveDirWorkflowDir DirectorySettings {..} = resolveWorkflowDir directoryConfigWorkflowFileSpec
resolveDirArchiveDir :: DirectoryConfig -> IO (Path Abs Dir)
resolveDirArchiveDir DirectoryConfig {..} = do
resolveDirArchiveDir :: DirectorySettings -> IO (Path Abs Dir)
resolveDirArchiveDir DirectorySettings {..} = do
wd <- resolveWorkflowDir directoryConfigWorkflowFileSpec
resolveArchiveDir wd directoryConfigArchiveFileSpec
resolveDirProjectsDir :: DirectoryConfig -> IO (Path Abs Dir)
resolveDirProjectsDir DirectoryConfig {..} = do
resolveDirProjectsDir :: DirectorySettings -> IO (Path Abs Dir)
resolveDirProjectsDir DirectorySettings {..} = do
wd <- resolveWorkflowDir directoryConfigWorkflowFileSpec
resolveProjectsDir wd directoryConfigProjectsFileSpec
resolveDirArchivedProjectsDir :: DirectoryConfig -> IO (Path Abs Dir)
resolveDirArchivedProjectsDir DirectoryConfig {..} = do
resolveDirArchivedProjectsDir :: DirectorySettings -> IO (Path Abs Dir)
resolveDirArchivedProjectsDir DirectorySettings {..} = do
wd <- resolveWorkflowDir directoryConfigWorkflowFileSpec
ad <- resolveArchiveDir wd directoryConfigArchiveFileSpec
resolveArchivedProjectsDir ad directoryConfigArchivedProjectsFileSpec

View File

@ -17,8 +17,8 @@ import Path.IO
import Smos.Directory.Config
import Smos.Directory.OptParse.Types
combineToDirectoryConfig :: DirectoryConfig -> DirectoryFlags -> DirectoryEnvironment -> Maybe DirectoryConfiguration -> IO DirectoryConfig
combineToDirectoryConfig dc DirectoryFlags {..} DirectoryEnvironment {..} mc = do
combineToDirectorySettings :: DirectorySettings -> DirectoryFlags -> DirectoryEnvironment -> Maybe DirectorySettingsuration -> IO DirectorySettings
combineToDirectorySettings dc DirectoryFlags {..} DirectoryEnvironment {..} mc = do
wfs <-
case msum [dirFlagWorkflowDir, dirEnvWorkflowDir, mc >>= (fmap T.unpack . directoryConfWorkflowDir)] of
Nothing -> pure $ directoryConfigWorkflowFileSpec dc

View File

@ -40,40 +40,40 @@ data DirectoryEnvironment = DirectoryEnvironment
}
deriving (Show, Eq, Generic)
data DirectoryConfiguration = DirectoryConfiguration
data DirectorySettingsuration = DirectorySettingsuration
{ directoryConfWorkflowDir :: !(Maybe Text),
directoryConfArchiveDir :: !(Maybe Text),
directoryConfProjectsDir :: !(Maybe Text),
directoryConfArchivedProjectsDir :: !(Maybe Text)
}
deriving stock (Show, Eq, Generic)
deriving (ToJSON, FromJSON) via (Autodocodec DirectoryConfiguration)
deriving (ToJSON, FromJSON) via (Autodocodec DirectorySettingsuration)
instance Validity DirectoryConfiguration
instance Validity DirectorySettingsuration
instance HasCodec DirectoryConfiguration where
codec = object "DirectoryConfiguration" objectCodec
instance HasCodec DirectorySettingsuration where
codec = object "DirectorySettingsuration" objectCodec
instance HasObjectCodec DirectoryConfiguration where
instance HasObjectCodec DirectorySettingsuration where
objectCodec =
DirectoryConfiguration
DirectorySettingsuration
<$> optionalFieldOrNull "workflow-dir" "The workflow directory" .= directoryConfWorkflowDir
<*> optionalFieldOrNull "archive-dir" "The archive directory" .= directoryConfArchiveDir
<*> optionalFieldOrNull "projects-dir" "The projects directory" .= directoryConfProjectsDir
<*> optionalFieldOrNull "archived-projects-dir" "The archived projects directory" .= directoryConfArchivedProjectsDir
defaultDirectoryConfiguration :: DirectoryConfiguration
defaultDirectoryConfiguration =
DirectoryConfiguration
defaultDirectorySettingsuration :: DirectorySettingsuration
defaultDirectorySettingsuration =
DirectorySettingsuration
{ directoryConfWorkflowDir = Nothing,
directoryConfArchiveDir = Nothing,
directoryConfProjectsDir = Nothing,
directoryConfArchivedProjectsDir = Nothing
}
backToDirectoryConfiguration :: DirectoryConfig -> DirectoryConfiguration
backToDirectoryConfiguration DirectoryConfig {..} =
DirectoryConfiguration
backToDirectorySettingsuration :: DirectorySettings -> DirectorySettingsuration
backToDirectorySettingsuration DirectorySettings {..} =
DirectorySettingsuration
{ directoryConfWorkflowDir =
if directoryConfigWorkflowFileSpec == defaultWorkflowDirSpec
then Nothing

View File

@ -55,11 +55,11 @@ combineToInstructions cmd Flags {..} Environment {..} mc = do
let importSetDestination = ImportDestination {..}
pure $ DispatchImport ImportSettings {..}
setDirectorySettings <-
combineToDirectoryConfig
defaultDirectoryConfig
combineToDirectorySettings
defaultDirectorySettings
flagDirectoryFlags
envDirectoryEnvironment
(confDirectoryConfiguration <$> mc)
(confDirectorySettingsuration <$> mc)
let setColourConfig = getColourSettings (mc >>= confColourConfiguration)
let mTok mToken mTokenFile = case mToken of
Just token -> pure $ Just token

View File

@ -39,7 +39,7 @@ data Flags = Flags
deriving (Show, Eq)
data Configuration = Configuration
{ confDirectoryConfiguration :: !DirectoryConfiguration,
{ confDirectorySettingsuration :: !DirectorySettingsuration,
confColourConfiguration :: !(Maybe ColourConfiguration),
confGitHubConfiguration :: !(Maybe GitHubConfiguration)
}
@ -49,7 +49,7 @@ instance HasCodec Configuration where
codec =
object "Configuration" $
Configuration
<$> objectCodec .= confDirectoryConfiguration
<$> objectCodec .= confDirectorySettingsuration
<*> colourConfigurationTopLevelObjectCodec .= confColourConfiguration
<*> optionalFieldOrNull "github" "The github tool configuration" .= confGitHubConfiguration
@ -98,7 +98,7 @@ data ImportDestination = ImportDestination
deriving (Show, Eq)
data Settings = Settings
{ setDirectorySettings :: !DirectoryConfig,
{ setDirectorySettings :: !DirectorySettings,
setColourConfig :: !ColourSettings,
setGitHubOauthToken :: !(Maybe Text)
}

View File

@ -41,11 +41,11 @@ combineToInstructions cmd Flags {..} Environment {..} mc = do
jhMC = (mC confJobHuntConfiguration >>=)
let setLogLevel = fromMaybe LevelInfo $ flagLogLevel <|> envLogLevel <|> jhMC jobHuntConfLogLevel
setDirectorySettings <-
combineToDirectoryConfig
defaultDirectoryConfig
combineToDirectorySettings
defaultDirectorySettings
flagDirectoryFlags
envDirectoryEnvironment
(confDirectoryConfiguration <$> mc)
(confDirectorySettingsuration <$> mc)
pd <- resolveDirProjectsDir setDirectorySettings
setJobHuntDirectory <- resolveDir pd $ fromMaybe "jobhunt" $ flagJobHuntDirectory <|> envJobHuntDirectory <|> jhMC jobHuntConfJobHuntDirectory
let setGoal = flagGoal <|> envGoal <|> jhMC jobHuntConfGoal

View File

@ -72,7 +72,7 @@ data Flags = Flags
deriving (Show, Eq)
data Configuration = Configuration
{ confDirectoryConfiguration :: !DirectoryConfiguration,
{ confDirectorySettingsuration :: !DirectorySettingsuration,
confEmailConfiguration :: !(Maybe EmailConfiguration),
confJobHuntConfiguration :: !(Maybe JobHuntConfiguration)
}
@ -82,7 +82,7 @@ instance HasCodec Configuration where
codec =
object "Configuration" $
Configuration
<$> objectCodec .= confDirectoryConfiguration
<$> objectCodec .= confDirectorySettingsuration
<*> optionalFieldOrNull emailConfigurationKey "The email configuration" .= confEmailConfiguration
<*> optionalFieldOrNull "jobhunt" "The jobhunt tool configuration" .= confJobHuntConfiguration

View File

@ -38,11 +38,11 @@ deriveSettings Flags {..} Environment {..} mConf = do
let mc :: (NotifyConfiguration -> Maybe a) -> Maybe a
mc func = mConf >>= confNotifyConfiguration >>= func
setDirectorySettings <-
combineToDirectoryConfig
defaultDirectoryConfig
combineToDirectorySettings
defaultDirectorySettings
flagDirectoryFlags
envDirectoryEnvironment
(confDirectoryConfiguration <$> mConf)
(confDirectorySettingsuration <$> mConf)
setDatabase <- case flagDatabase <|> envDatabase <|> mc notifyConfDatabase of
Just fp -> resolveFile' fp
Nothing -> defaultDatabaseFile

View File

@ -26,7 +26,7 @@ data Environment = Environment
deriving (Show, Eq)
data Configuration = Configuration
{ confDirectoryConfiguration :: !DirectoryConfiguration,
{ confDirectorySettingsuration :: !DirectorySettingsuration,
confNotifyConfiguration :: !(Maybe NotifyConfiguration)
}
deriving (Show, Eq)
@ -35,7 +35,7 @@ instance HasCodec Configuration where
codec =
object "Configuration" $
Configuration
<$> objectCodec .= confDirectoryConfiguration
<$> objectCodec .= confDirectorySettingsuration
<*> optionalFieldOrNull "notify" "Notification Configuration" .= confNotifyConfiguration
data NotifyConfiguration = NotifyConfiguration
@ -54,7 +54,7 @@ instance HasCodec NotifyConfiguration where
<*> optionalFieldOrNullWith "log-level" (bimapCodec parseLogLevel renderLogLevel codec) "Log level" .= notifyConfLogLevel
data Settings = Settings
{ setDirectorySettings :: !DirectoryConfig,
{ setDirectorySettings :: !DirectorySettings,
setDatabase :: !(Path Abs File),
setNotifySend :: !(Path Abs File),
setLogLevel :: !LogLevel

View File

@ -27,7 +27,7 @@ makeEnvFromSettings Settings {..} =
envOutputHandle = stdout,
envErrorHandle = stderr,
envColourSettings = settingColourSettings,
envDirectoryConfig = settingDirectoryConfig
envDirectorySettings = settingDirectorySettings
}
execute :: Dispatch -> Q ()

View File

@ -25,7 +25,7 @@ smosQueryAgenda AgendaSettings {..} = do
zone <- liftIO loadLocalTZ
now <- liftIO getCurrentTime
let today = localDay (utcToLocalTimeTZ zone now)
dc <- asks envDirectoryConfig
dc <- asks envDirectorySettings
sp <- getShouldPrint
report <-
produceAgendaReport

View File

@ -14,7 +14,7 @@ import Smos.Query.Commands.Import
smosQueryEntry :: EntrySettings -> Q ()
smosQueryEntry EntrySettings {..} = do
dc <- asks envDirectoryConfig
dc <- asks envDirectorySettings
sp <- getShouldPrint
report <- produceEntryReport entrySetFilter entrySetHideArchive sp entrySetProjection entrySetSorter dc
out <- asks envOutputHandle

View File

@ -11,7 +11,7 @@ import Smos.Report.Next
smosQueryNext :: NextSettings -> Q ()
smosQueryNext NextSettings {..} = do
dc <- asks envDirectoryConfig
dc <- asks envDirectorySettings
sp <- getShouldPrint
report <- liftIO $ produceNextActionReport nextSetFilter nextSetHideArchive sp dc
colourSettings <- asks envColourSettings

View File

@ -13,7 +13,7 @@ import Smos.Report.Waiting
smosQueryWaiting :: WaitingSettings -> Q ()
smosQueryWaiting WaitingSettings {..} = do
dc <- asks envDirectoryConfig
dc <- asks envDirectorySettings
sp <- getShouldPrint
report <- produceWaitingReport waitingSetFilter waitingSetHideArchive sp dc

View File

@ -21,7 +21,7 @@ smosQueryWork WorkSettings {..} = do
case M.lookup cn workSetContexts of
Nothing -> dieQ $ unwords ["Context not found:", T.unpack $ contextNameText cn]
Just cf -> pure cf
dc <- asks envDirectoryConfig
dc <- asks envDirectorySettings
wd <- liftIO $ resolveDirWorkflowDir dc
pd <- liftIO $ resolveDirProjectsDir dc
let mpd = stripProperPrefix wd pd

View File

@ -18,7 +18,7 @@ data Env = Env
envOutputHandle :: !Handle,
envErrorHandle :: !Handle,
envColourSettings :: !ColourSettings,
envDirectoryConfig :: !DirectoryConfig
envDirectorySettings :: !DirectorySettings
}
deriving (Show, Eq, Generic)
@ -26,22 +26,22 @@ type Q = ReaderT Env IO
askWorkflowDir :: Q (Path Abs Dir)
askWorkflowDir = do
func <- asks (resolveDirWorkflowDir . envDirectoryConfig)
func <- asks (resolveDirWorkflowDir . envDirectorySettings)
liftIO func
askArchiveDir :: Q (Path Abs Dir)
askArchiveDir = do
func <- asks (resolveDirArchiveDir . envDirectoryConfig)
func <- asks (resolveDirArchiveDir . envDirectorySettings)
liftIO func
askProjectsDir :: Q (Path Abs Dir)
askProjectsDir = do
func <- asks (resolveDirProjectsDir . envDirectoryConfig)
func <- asks (resolveDirProjectsDir . envDirectorySettings)
liftIO func
askArchivedProjectsDir :: Q (Path Abs Dir)
askArchivedProjectsDir = do
func <- asks (resolveDirArchivedProjectsDir . envDirectoryConfig)
func <- asks (resolveDirArchivedProjectsDir . envDirectorySettings)
liftIO func
outputChunks :: [Chunk] -> Q ()

View File

@ -55,7 +55,7 @@ combineToInstructions c Flags {..} Environment {..} mc = do
let settings =
Settings
{ settingColourSettings = colourSettings,
settingDirectoryConfig = smosReportConfigDirectoryConfig src
settingDirectorySettings = smosReportConfigDirectorySettings src
}
dispatch <-

View File

@ -331,7 +331,7 @@ data OutputFormat
deriving (Show, Eq, Generic)
data Settings = Settings
{ settingDirectoryConfig :: !DirectoryConfig,
{ settingDirectorySettings :: !DirectorySettings,
settingColourSettings :: !ColourSettings
}
deriving (Show, Eq, Generic)

View File

@ -11,28 +11,28 @@ import Smos.Report.Streaming
streamSmosProjectsQ :: ConduitT i (Path Rel File, SmosFile) Q ()
streamSmosProjectsQ = do
dc <- lift $ asks envDirectoryConfig
dc <- lift $ asks envDirectorySettings
streamSmosProjectsFiles dc .| streamParseSmosProjects
streamSmosFiles :: HideArchive -> ConduitT i (Path Rel File) Q ()
streamSmosFiles ha = do
dc <- lift $ asks envDirectoryConfig
dc <- lift $ asks envDirectorySettings
streamSmosFilesFromWorkflowRel ha dc
streamAllSmosFiles :: ConduitT i (Path Rel File) Q ()
streamAllSmosFiles = do
dc <- lift $ asks envDirectoryConfig
dc <- lift $ asks envDirectorySettings
streamSmosFilesFromWorkflowRel Don'tHideArchive dc
streamParseSmosProjects :: ConduitT (Path Rel File) (Path Rel File, SmosFile) Q ()
streamParseSmosProjects = do
dc <- lift $ asks envDirectoryConfig
dc <- lift $ asks envDirectorySettings
pd <- liftIO $ resolveDirProjectsDir dc
parseSmosFilesRel pd .| shouldPrintC
streamParseSmosFiles :: ConduitT (Path Rel File) (Path Rel File, SmosFile) Q ()
streamParseSmosFiles = do
dc <- lift $ asks envDirectoryConfig
dc <- lift $ asks envDirectorySettings
wd <- liftIO $ resolveDirWorkflowDir dc
parseSmosFilesRel wd .| shouldPrintC

View File

@ -68,7 +68,7 @@ produceEntryReportCursor ::
Maybe EntryFilter ->
HideArchive ->
ShouldPrint ->
DirectoryConfig ->
DirectorySettings ->
m (EntryReportCursor a)
produceEntryReportCursor func finalise mf ha sp dc = produceReport ha sp dc (entryReportCursorConduit func finalise mf)

View File

@ -21,7 +21,7 @@ import Smos.Report.Filter
import Smos.Report.Next
import Smos.Report.ShouldPrint
produceNextActionReportCursor :: Maybe EntryFilter -> HideArchive -> ShouldPrint -> DirectoryConfig -> IO NextActionReportCursor
produceNextActionReportCursor :: Maybe EntryFilter -> HideArchive -> ShouldPrint -> DirectorySettings -> IO NextActionReportCursor
produceNextActionReportCursor mf ha sp dc =
NextActionReportCursor <$> produceEntryReportCursor makeNextActionEntryCursor' id mf ha sp dc

View File

@ -8,7 +8,7 @@ import Smos.Report.Archive
import Smos.Report.ShouldPrint
import Smos.Report.Streaming
produceReportCursorEntries :: MonadIO m => ConduitT (Path Rel File, SmosFile) a m () -> DirectoryConfig -> m [a]
produceReportCursorEntries :: MonadIO m => ConduitT (Path Rel File, SmosFile) a m () -> DirectorySettings -> m [a]
produceReportCursorEntries func dc = do
wd <- liftIO $ resolveDirWorkflowDir dc
runConduit $

View File

@ -20,7 +20,7 @@ import Smos.Report.ShouldPrint
import Smos.Report.Streaming
import Smos.Report.Stuck
produceStuckReportCursor :: TZ -> ShouldPrint -> DirectoryConfig -> IO StuckReportCursor
produceStuckReportCursor :: TZ -> ShouldPrint -> DirectorySettings -> IO StuckReportCursor
produceStuckReportCursor zone sp dc = runConduit $ streamSmosProjects sp dc .| stuckReportCursorConduit zone
stuckReportCursorConduit :: Monad m => TZ -> ConduitT (Path Rel File, SmosFile) void m StuckReportCursor

View File

@ -24,7 +24,7 @@ import Smos.Report.Filter
import Smos.Report.Period
import Smos.Report.ShouldPrint
produceTimestampsReportCursor :: Day -> Period -> Maybe EntryFilter -> HideArchive -> ShouldPrint -> DirectoryConfig -> IO TimestampsReportCursor
produceTimestampsReportCursor :: Day -> Period -> Maybe EntryFilter -> HideArchive -> ShouldPrint -> DirectorySettings -> IO TimestampsReportCursor
produceTimestampsReportCursor today period mf ha sp dc =
TimestampsReportCursor <$> produceEntryReportCursor (makeTimestampsEntryCursorAndFilterByPeriod today period) sortTimestampEntryCursors mf ha sp dc

View File

@ -23,7 +23,7 @@ import Smos.Report.ShouldPrint
import Smos.Report.Time
import Smos.Report.Waiting
produceWaitingReportCursor :: Maybe EntryFilter -> HideArchive -> ShouldPrint -> DirectoryConfig -> IO WaitingReportCursor
produceWaitingReportCursor :: Maybe EntryFilter -> HideArchive -> ShouldPrint -> DirectorySettings -> IO WaitingReportCursor
produceWaitingReportCursor mf ha sp dc =
WaitingReportCursor
<$> produceEntryReportCursor makeWaitingEntryCursor' sortWaitingReport mf ha sp dc

View File

@ -30,7 +30,7 @@ import Smos.Report.Sorter
import Smos.Report.Streaming
import Smos.Report.Work
produceWorkReportCursor :: HideArchive -> ShouldPrint -> DirectoryConfig -> WorkReportContext -> IO WorkReportCursor
produceWorkReportCursor :: HideArchive -> ShouldPrint -> DirectorySettings -> WorkReportContext -> IO WorkReportCursor
produceWorkReportCursor ha sp dc wrc =
produceReport ha sp dc $
intermediateWorkReportToWorkReportCursor wrc

View File

@ -15,7 +15,7 @@ instance GenValid Configuration where
genValid = genValidStructurallyWithoutExtraChecking
shrinkValid = shrinkValidStructurallyWithoutExtraFiltering
instance GenValid DirectoryConfiguration where
instance GenValid DirectorySettingsuration where
genValid = genValidStructurallyWithoutExtraChecking
shrinkValid = shrinkValidStructurallyWithoutExtraFiltering

View File

@ -70,7 +70,7 @@ spec = do
emptyInterestingStore
{ workflowFiles = DF.singletonFile rf (makeSmosFile [Node e []])
}
in withDirectoryConfig is $ \dc -> do
in withDirectorySettings is $ \dc -> do
let ctx =
WorkReportContext
{ workReportContextTimeZone = zone,
@ -113,7 +113,7 @@ spec = do
emptyInterestingStore
{ workflowFiles = DF.singletonFile rf (makeSmosFile [Node e1 [], Node e2 []])
}
in withDirectoryConfig is $ \dc -> do
in withDirectorySettings is $ \dc -> do
let ctx =
WorkReportContext
{ workReportContextTimeZone = zone,
@ -157,7 +157,7 @@ spec = do
checkFilterString = "property:timewindow"
in case parseEntryFilter checkFilterString of
Left err -> expectationFailure $ show err
Right checkFilter -> withDirectoryConfig is $ \dc -> do
Right checkFilter -> withDirectorySettings is $ \dc -> do
let ctx =
WorkReportContext
{ workReportContextTimeZone = zone,

View File

@ -39,7 +39,7 @@ produceAgendaReport ::
ShouldPrint ->
AgendaHistoricity ->
Maybe EntryFilter ->
DirectoryConfig ->
DirectorySettings ->
m AgendaReport
produceAgendaReport today period timeBlock ha sp h f dc = do
wd <- liftIO $ resolveDirWorkflowDir dc

View File

@ -5,8 +5,8 @@
module Smos.Report.Config
( SmosReportConfig (..),
defaultReportConfig,
DirectoryConfig (..),
defaultDirectoryConfig,
DirectorySettings (..),
defaultDirectorySettings,
WaitingReportConfig (..),
defaultWaitingReportConfig,
defaultWaitingThreshold,
@ -43,7 +43,7 @@ import Smos.Report.Sorter
import Smos.Report.Time
data SmosReportConfig = SmosReportConfig
{ smosReportConfigDirectoryConfig :: !DirectoryConfig,
{ smosReportConfigDirectorySettings :: !DirectorySettings,
smosReportConfigWaitingConfig :: !WaitingReportConfig,
smosReportConfigStuckConfig :: !StuckReportConfig,
smosReportConfigWorkConfig :: !WorkReportConfig
@ -53,7 +53,7 @@ data SmosReportConfig = SmosReportConfig
defaultReportConfig :: SmosReportConfig
defaultReportConfig =
SmosReportConfig
{ smosReportConfigDirectoryConfig = defaultDirectoryConfig,
{ smosReportConfigDirectorySettings = defaultDirectorySettings,
smosReportConfigWaitingConfig = defaultWaitingReportConfig,
smosReportConfigStuckConfig = defaultStuckReportConfig,
smosReportConfigWorkConfig = defaultWorkReportConfig
@ -120,16 +120,16 @@ defaultStuckThreshold :: Time
defaultStuckThreshold = Weeks 3
resolveReportWorkflowDir :: SmosReportConfig -> IO (Path Abs Dir)
resolveReportWorkflowDir = resolveDirWorkflowDir . smosReportConfigDirectoryConfig
resolveReportWorkflowDir = resolveDirWorkflowDir . smosReportConfigDirectorySettings
resolveReportArchiveDir :: SmosReportConfig -> IO (Path Abs Dir)
resolveReportArchiveDir = resolveDirArchiveDir . smosReportConfigDirectoryConfig
resolveReportArchiveDir = resolveDirArchiveDir . smosReportConfigDirectorySettings
resolveReportProjectsDir :: SmosReportConfig -> IO (Path Abs Dir)
resolveReportProjectsDir = resolveDirProjectsDir . smosReportConfigDirectoryConfig
resolveReportProjectsDir = resolveDirProjectsDir . smosReportConfigDirectorySettings
resolveReportArchivedProjectsDir :: SmosReportConfig -> IO (Path Abs Dir)
resolveReportArchivedProjectsDir = resolveDirArchivedProjectsDir . smosReportConfigDirectoryConfig
resolveReportArchivedProjectsDir = resolveDirArchivedProjectsDir . smosReportConfigDirectorySettings
newtype ContextName = ContextName
{ contextNameText :: Text

View File

@ -28,7 +28,7 @@ produceEntryReport ::
ShouldPrint ->
NonEmpty Projection ->
Maybe Sorter ->
DirectoryConfig ->
DirectorySettings ->
m EntryReport
produceEntryReport ef ha sp p s dc = produceReport ha sp dc (entryReportConduit ef p s)

View File

@ -23,7 +23,7 @@ import Smos.Report.Filter
import Smos.Report.ShouldPrint
import Smos.Report.Streaming
produceNextActionReport :: MonadIO m => Maybe EntryFilter -> HideArchive -> ShouldPrint -> DirectoryConfig -> m NextActionReport
produceNextActionReport :: MonadIO m => Maybe EntryFilter -> HideArchive -> ShouldPrint -> DirectorySettings -> m NextActionReport
produceNextActionReport ef ha sp dc = produceReport ha sp dc (nextActionReportConduit ef)
nextActionReportConduit :: Monad m => Maybe EntryFilter -> ConduitT (Path Rel File, SmosFile) void m NextActionReport

View File

@ -34,7 +34,7 @@ import Smos.Report.TimeBlock
combineToConfig ::
SmosReportConfig -> Flags -> Environment -> Maybe Configuration -> IO SmosReportConfig
combineToConfig src Flags {..} Environment {..} mc = do
smosReportConfigDirectoryConfig <- combineToDirectoryConfig (smosReportConfigDirectoryConfig src) flagDirectoryFlags envDirectoryEnvironment (confDirectoryConf <$> mc)
smosReportConfigDirectorySettings <- combineToDirectorySettings (smosReportConfigDirectorySettings src) flagDirectoryFlags envDirectoryEnvironment (confDirectoryConf <$> mc)
smosReportConfigWaitingConfig <- combineToWaitingReportConfig (smosReportConfigWaitingConfig src) (mc >>= confWaitingReportConf)
smosReportConfigStuckConfig <- combineToStuckReportConfig (smosReportConfigStuckConfig src) (mc >>= confStuckReportConf)
smosReportConfigWorkConfig <- combineToWorkReportConfig (smosReportConfigWorkConfig src) (mc >>= confWorkReportConf)

View File

@ -37,7 +37,7 @@ emptyEnvironment =
}
data Configuration = Configuration
{ confDirectoryConf :: !DirectoryConfiguration,
{ confDirectoryConf :: !DirectorySettingsuration,
confWaitingReportConf :: !(Maybe WaitingReportConfiguration),
confStuckReportConf :: !(Maybe StuckReportConfiguration),
confWorkReportConf :: !(Maybe WorkReportConfiguration)
@ -61,7 +61,7 @@ instance HasObjectCodec Configuration where
defaultConfiguration :: Configuration
defaultConfiguration =
Configuration
{ confDirectoryConf = defaultDirectoryConfiguration,
{ confDirectoryConf = defaultDirectorySettingsuration,
confWorkReportConf = Nothing,
confStuckReportConf = Nothing,
confWaitingReportConf = Nothing
@ -70,7 +70,7 @@ defaultConfiguration =
backToConfiguration :: SmosReportConfig -> Configuration
backToConfiguration SmosReportConfig {..} =
Configuration
{ confDirectoryConf = backToDirectoryConfiguration smosReportConfigDirectoryConfig,
{ confDirectoryConf = backToDirectorySettingsuration smosReportConfigDirectorySettings,
confWaitingReportConf =
if smosReportConfigWaitingConfig == defaultWaitingReportConfig
then Nothing

View File

@ -21,23 +21,23 @@ import Smos.Report.Archive
import Smos.Report.Filter
import Smos.Report.ShouldPrint
streamSmosArchiveFiles :: MonadIO m => DirectoryConfig -> ConduitT i (Path Rel File) m ()
streamSmosArchiveFiles :: MonadIO m => DirectorySettings -> ConduitT i (Path Rel File) m ()
streamSmosArchiveFiles dc = do
ad <- liftIO $ resolveDirArchiveDir dc
sourceFilesInNonHiddenDirsRecursivelyRel ad .| filterSmosFilesRel
streamSmosProjectsFiles :: MonadIO m => DirectoryConfig -> ConduitT i (Path Rel File) m ()
streamSmosProjectsFiles :: MonadIO m => DirectorySettings -> ConduitT i (Path Rel File) m ()
streamSmosProjectsFiles dc = do
pd <- liftIO $ resolveDirProjectsDir dc
sourceFilesInNonHiddenDirsRecursivelyRel pd .| filterSmosFilesRel
streamSmosProjects :: MonadIO m => ShouldPrint -> DirectoryConfig -> ConduitT i (Path Rel File, SmosFile) m ()
streamSmosProjects :: MonadIO m => ShouldPrint -> DirectorySettings -> ConduitT i (Path Rel File, SmosFile) m ()
streamSmosProjects sp dc = do
pd <- liftIO $ resolveDirProjectsDir dc
streamSmosProjectsFiles dc .| parseSmosFilesRel pd .| printShouldPrint sp
streamSmosFilesFromWorkflowRel ::
MonadIO m => HideArchive -> DirectoryConfig -> ConduitT i (Path Rel File) m ()
MonadIO m => HideArchive -> DirectorySettings -> ConduitT i (Path Rel File) m ()
streamSmosFilesFromWorkflowRel ha dc = do
wd <- liftIO $ resolveDirWorkflowDir dc
case directoryConfigArchiveFileSpec dc of
@ -213,7 +213,7 @@ forestCursors ts =
Just fc' -> go fc'
)
produceReport :: MonadIO m => HideArchive -> ShouldPrint -> DirectoryConfig -> ConduitM (Path Rel File, SmosFile) Void m b -> m b
produceReport :: MonadIO m => HideArchive -> ShouldPrint -> DirectorySettings -> ConduitM (Path Rel File, SmosFile) Void m b -> m b
produceReport ha sp dc rc = do
wd <- liftIO $ resolveDirWorkflowDir dc
runConduit $ streamSmosFilesFromWorkflowRel ha dc .| produceReportFromFiles sp wd .| rc

View File

@ -42,7 +42,7 @@ instance Validity WaitingReport where
instance HasCodec WaitingReport where
codec = dimapCodec WaitingReport waitingReportEntries codec
produceWaitingReport :: MonadIO m => Maybe EntryFilter -> HideArchive -> ShouldPrint -> DirectoryConfig -> m WaitingReport
produceWaitingReport :: MonadIO m => Maybe EntryFilter -> HideArchive -> ShouldPrint -> DirectorySettings -> m WaitingReport
produceWaitingReport ef ha sp dc = produceReport ha sp dc (waitingReportConduit ef)
waitingReportConduit :: Monad m => Maybe EntryFilter -> ConduitT (Path Rel File, SmosFile) void m WaitingReport

View File

@ -35,7 +35,7 @@ import Smos.Report.Stuck
import Smos.Report.Time
import Smos.Report.Waiting
produceWorkReport :: MonadIO m => HideArchive -> ShouldPrint -> DirectoryConfig -> WorkReportContext -> m WorkReport
produceWorkReport :: MonadIO m => HideArchive -> ShouldPrint -> DirectorySettings -> WorkReportContext -> m WorkReport
produceWorkReport ha sp dc wrc = produceReport ha sp dc $ workReportConduit wrc
workReportConduit :: Monad m => WorkReportContext -> ConduitT (Path Rel File, SmosFile) void m WorkReport

View File

@ -25,11 +25,11 @@ schedule Settings {..} = do
rh <- readReccurrenceHistory setDirectorySettings
handleSchedule setDirectorySettings rh now setSchedule
handleSchedule :: DirectoryConfig -> RecurrenceHistory -> UTCTime -> Schedule -> IO ()
handleSchedule :: DirectorySettings -> RecurrenceHistory -> UTCTime -> Schedule -> IO ()
handleSchedule dc rh now sched =
mapM_ (handleScheduleItem dc rh now) (scheduleItems sched)
handleScheduleItem :: DirectoryConfig -> RecurrenceHistory -> UTCTime -> ScheduleItem -> IO (Maybe LocalTime)
handleScheduleItem :: DirectorySettings -> RecurrenceHistory -> UTCTime -> ScheduleItem -> IO (Maybe LocalTime)
handleScheduleItem dc rh now si = do
zone <- loadLocalTZ
let activateImmediately :: IO (Maybe LocalTime)
@ -101,7 +101,7 @@ scheduleItemDisplayName si@ScheduleItem {..} =
show
scheduleItemDescription
performScheduleItem :: DirectoryConfig -> LocalTime -> ScheduleItem -> IO ScheduleItemResult
performScheduleItem :: DirectorySettings -> LocalTime -> ScheduleItem -> IO ScheduleItemResult
performScheduleItem dc pretendTime si@ScheduleItem {..} = do
wdir <- resolveDirWorkflowDir dc
from <- resolveFile wdir scheduleItemTemplate

View File

@ -38,11 +38,11 @@ combineToInstructions cmd Flags {..} Environment {..} mc = do
CommandSample fp mdpt -> DispatchSample <$> resolveFile' fp <*> mapM (fmap DestinationPathTemplate . parseRelFile) mdpt
CommandSchedule -> pure DispatchSchedule
setDirectorySettings <-
combineToDirectoryConfig
defaultDirectoryConfig
combineToDirectorySettings
defaultDirectorySettings
flagDirectoryFlags
envDirectoryEnvironment
(confDirectoryConfiguration <$> mc)
(confDirectorySettingsuration <$> mc)
let setSchedule = fromMaybe (Schedule []) $ cM schedulerConfSchedule
let setColourSettings = getColourSettings (mc >>= confColourConfiguration)
pure (Instructions d Settings {..})

View File

@ -55,7 +55,7 @@ data Flags = Flags
deriving (Show, Eq)
data Configuration = Configuration
{ confDirectoryConfiguration :: !DirectoryConfiguration,
{ confDirectorySettingsuration :: !DirectorySettingsuration,
confColourConfiguration :: !(Maybe ColourConfiguration),
confSchedulerConfiguration :: !(Maybe SchedulerConfiguration)
}
@ -66,7 +66,7 @@ instance HasCodec Configuration where
codec =
object "Configuration" $
Configuration
<$> objectCodec .= confDirectoryConfiguration
<$> objectCodec .= confDirectorySettingsuration
<*> colourConfigurationTopLevelObjectCodec .= confColourConfiguration
<*> optionalFieldOrNull "scheduler" "The scheduler configuration" .= confSchedulerConfiguration
@ -147,7 +147,7 @@ data Dispatch
deriving (Show, Eq)
data Settings = Settings
{ setDirectorySettings :: !DirectoryConfig,
{ setDirectorySettings :: !DirectorySettings,
setSchedule :: !Schedule,
setColourSettings :: !ColourSettings
}

View File

@ -58,7 +58,7 @@ instance Semigroup LatestActivation where
then la1
else la2
readReccurrenceHistory :: DirectoryConfig -> IO RecurrenceHistory
readReccurrenceHistory :: DirectorySettings -> IO RecurrenceHistory
readReccurrenceHistory dc = do
workflowDir <- resolveDirWorkflowDir dc
archiveDir <- resolveDirArchiveDir dc

View File

@ -63,7 +63,7 @@ spec = do
{ workflowFiles = workflowDF,
archiveFiles = archiveDF
}
in withDirectoryConfig is $ \dc -> do
in withDirectorySettings is $ \dc -> do
rh <- readReccurrenceHistory dc
rh
`shouldBe` M.fromList

View File

@ -37,11 +37,11 @@ deriveSettings Flags {..} Environment {..} mc = do
Left err -> die $ "Failed to parse header: " <> err
Right h -> pure h
setDirectorySettings <-
combineToDirectoryConfig
defaultDirectoryConfig
combineToDirectorySettings
defaultDirectorySettings
flagDirectoryFlags
envDirectoryEnvironment
(confDirectoryConfiguration <$> mc)
(confDirectorySettingsuration <$> mc)
setTaskFile <- forM flagTaskFile parseRelFile
pure Settings {..}

View File

@ -14,12 +14,12 @@ data Flags = Flags
deriving (Show, Eq)
data Configuration = Configuration
{ confDirectoryConfiguration :: !DirectoryConfiguration
{ confDirectorySettingsuration :: !DirectorySettingsuration
}
deriving (Show, Eq)
instance HasCodec Configuration where
codec = dimapCodec Configuration confDirectoryConfiguration codec
codec = dimapCodec Configuration confDirectorySettingsuration codec
data Environment = Environment
{ envDirectoryEnvironment :: !DirectoryEnvironment
@ -29,6 +29,6 @@ data Environment = Environment
data Settings = Settings
{ setTask :: !Header,
setTaskFile :: !(Maybe (Path Rel File)),
setDirectorySettings :: !DirectoryConfig
setDirectorySettings :: !DirectorySettings
}
deriving (Show, Eq)

View File

@ -41,8 +41,8 @@ getInstructions = do
combineToInstructions :: Command -> Flags -> Environment -> Maybe Configuration -> IO Instructions
combineToInstructions c Flags {..} Environment {..} mc = do
dc <-
combineToDirectoryConfig
defaultDirectoryConfig
combineToDirectorySettings
defaultDirectorySettings
flagDirectoryFlags
envDirectoryEnvironment
(confDirectoryConf <$> mc)

View File

@ -77,7 +77,7 @@ data Environment = Environment
deriving (Show, Generic)
data Configuration = Configuration
{ confDirectoryConf :: !DirectoryConfiguration,
{ confDirectoryConf :: !DirectorySettingsuration,
confSyncConf :: !(Maybe SyncConfiguration)
}
deriving (Show, Generic)

View File

@ -70,13 +70,13 @@ reportConfigFor ::
Path Abs Dir -> SmosReportConfig
reportConfigFor workflowDir =
defaultReportConfig
{ smosReportConfigDirectoryConfig = directoryConfigFor workflowDir
{ smosReportConfigDirectorySettings = directoryConfigFor workflowDir
}
directoryConfigFor ::
Path Abs Dir -> DirectoryConfig
Path Abs Dir -> DirectorySettings
directoryConfigFor workflowDir =
defaultDirectoryConfig
defaultDirectorySettings
{ directoryConfigWorkflowFileSpec = AbsoluteWorkflow workflowDir
}

View File

@ -181,7 +181,7 @@ convArchiveFile =
modifyMSmosFileEditorCursorMS $ \case
Nothing -> pure Nothing
Just sfec -> do
dc <- asks $ smosReportConfigDirectoryConfig . configReportConfig
dc <- asks $ smosReportConfigDirectorySettings . configReportConfig
let runArchiveM =
liftIO
. flip

View File

@ -366,7 +366,7 @@ forestClockOutEverywhereInAllFilesAndClockInHere =
clockOutInAllAgendaFiles :: UTCTime -> SmosM ()
clockOutInAllAgendaFiles now = do
dirConfig <- asks $ smosReportConfigDirectoryConfig . configReportConfig
dirConfig <- asks $ smosReportConfigDirectorySettings . configReportConfig
mCurFile <- gets $ fmap smosFileEditorPath . editorCursorFileCursor . smosStateCursor
-- We won't clock out in the current file asynchronously because this produces a race condition.
let isCurrent af =

View File

@ -36,7 +36,7 @@ reportNextActions =
{ actionName = "reportNextActions",
actionFunc = modifyEditorCursorS $ \ec -> do
saveCurrentSmosFile
dc <- asks $ smosReportConfigDirectoryConfig . configReportConfig
dc <- asks $ smosReportConfigDirectorySettings . configReportConfig
narc <- liftIO $ produceNextActionReportCursor Nothing HideArchive DontPrint dc
pure $
ec
@ -87,7 +87,7 @@ enterNextActionFile =
case editorCursorReportCursor $ smosStateCursor ss of
Just rc -> case rc of
ReportNextActions narc -> do
dc <- asks $ smosReportConfigDirectoryConfig . configReportConfig
dc <- asks $ smosReportConfigDirectorySettings . configReportConfig
wd <- liftIO $ resolveDirWorkflowDir dc
case nextActionReportCursorBuildSmosFileCursor wd narc of
Nothing -> pure ()

View File

@ -31,7 +31,7 @@ reportStuck =
{ actionName = "reportStuck",
actionFunc = modifyEditorCursorS $ \ec -> do
saveCurrentSmosFile
dc <- asks $ smosReportConfigDirectoryConfig . configReportConfig
dc <- asks $ smosReportConfigDirectorySettings . configReportConfig
zone <- liftIO loadLocalTZ
narc <- liftIO $ produceStuckReportCursor zone DontPrint dc
pure $
@ -83,7 +83,7 @@ enterStuckFile =
case editorCursorReportCursor $ smosStateCursor ss of
Just rc -> case rc of
ReportStuck src -> do
dc <- asks $ smosReportConfigDirectoryConfig . configReportConfig
dc <- asks $ smosReportConfigDirectorySettings . configReportConfig
pd <- liftIO $ resolveDirProjectsDir dc
case stuckReportCursorSelectedFile src of
Nothing -> pure ()

View File

@ -39,7 +39,7 @@ reportTimestamps =
{ actionName = "reportTimestamps",
actionFunc = modifyEditorCursorS $ \ec -> do
saveCurrentSmosFile
dc <- asks $ smosReportConfigDirectoryConfig . configReportConfig
dc <- asks $ smosReportConfigDirectorySettings . configReportConfig
zone <- liftIO loadLocalTZ
now <- liftIO getCurrentTime
let today = localDay $ utcToLocalTimeTZ zone now
@ -93,7 +93,7 @@ enterTimestampsFile =
case editorCursorReportCursor $ smosStateCursor ss of
Just rc -> case rc of
ReportTimestamps wrc -> do
dc <- asks $ smosReportConfigDirectoryConfig . configReportConfig
dc <- asks $ smosReportConfigDirectorySettings . configReportConfig
wd <- liftIO $ resolveDirWorkflowDir dc
case timestampsReportCursorBuildSmosFileCursor wd wrc of
Nothing -> pure ()

View File

@ -36,7 +36,7 @@ reportWaiting =
{ actionName = "reportWaiting",
actionFunc = modifyEditorCursorS $ \ec -> do
saveCurrentSmosFile
dc <- asks $ smosReportConfigDirectoryConfig . configReportConfig
dc <- asks $ smosReportConfigDirectorySettings . configReportConfig
narc <- liftIO $ produceWaitingReportCursor Nothing HideArchive DontPrint dc
pure $
ec
@ -87,7 +87,7 @@ enterWaitingFile =
case editorCursorReportCursor $ smosStateCursor ss of
Just rc -> case rc of
ReportWaiting wrc -> do
dc <- asks $ smosReportConfigDirectoryConfig . configReportConfig
dc <- asks $ smosReportConfigDirectorySettings . configReportConfig
wd <- liftIO $ resolveDirWorkflowDir dc
case waitingReportCursorBuildSmosFileCursor wd wrc of
Nothing -> pure ()

View File

@ -51,7 +51,7 @@ reportWork =
wd <- liftIO $ resolveReportWorkflowDir src
pd <- liftIO $ resolveReportProjectsDir src
let mpd = stripProperPrefix wd pd
let dc = smosReportConfigDirectoryConfig src
let dc = smosReportConfigDirectorySettings src
let wc = smosReportConfigWorkConfig src
let wac = smosReportConfigWaitingConfig src
let sc = smosReportConfigStuckConfig src
@ -124,7 +124,7 @@ enterWorkFile =
case editorCursorReportCursor $ smosStateCursor ss of
Just rc -> case rc of
ReportWork wrc -> do
dc <- asks $ smosReportConfigDirectoryConfig . configReportConfig
dc <- asks $ smosReportConfigDirectorySettings . configReportConfig
wd <- liftIO $ resolveDirWorkflowDir dc
let switchToEntryReportEntryCursor ad EntryReportEntryCursor {..} = switchToCursor (ad </> entryReportEntryCursorFilePath) $ Just $ makeSmosFileCursorFromSimpleForestCursor entryReportEntryCursorForestCursor
switchToSelectedInEntryReportCursor ad erc =

View File

@ -99,8 +99,8 @@ runCommandsOn startingFilePath start commands =
defaultConfig
{ configReportConfig =
defaultReportConfig
{ smosReportConfigDirectoryConfig =
defaultDirectoryConfig
{ smosReportConfigDirectorySettings =
defaultDirectorySettings
{ directoryConfigWorkflowFileSpec = AbsoluteWorkflow workflowDir
}
}

View File

@ -110,8 +110,8 @@ startupSpec workflowDirSpec startupFile = do
defaultConfig
{ configReportConfig =
defaultReportConfig
{ smosReportConfigDirectoryConfig =
defaultDirectoryConfig
{ smosReportConfigDirectorySettings =
defaultDirectorySettings
{ directoryConfigWorkflowFileSpec = workflowDirSpec
}
}

View File

@ -60,8 +60,8 @@ lockSpec workflowDir startupFile = do
defaultConfig
{ configReportConfig =
defaultReportConfig
{ smosReportConfigDirectoryConfig =
defaultDirectoryConfig
{ smosReportConfigDirectorySettings =
defaultDirectorySettings
{ directoryConfigWorkflowFileSpec = AbsoluteWorkflow workflowDir
}
}

View File

@ -45,8 +45,8 @@ spec = modifyMaxSuccess (`div` 50) $
defaultConfig
{ configReportConfig =
defaultReportConfig
{ smosReportConfigDirectoryConfig =
defaultDirectoryConfig
{ smosReportConfigDirectorySettings =
defaultDirectorySettings
{ directoryConfigWorkflowFileSpec = AbsoluteWorkflow tdir
}
}