aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/Input.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/src/Input.hs')
-rw-r--r--compiler/src/Input.hs10
1 files changed, 3 insertions, 7 deletions
diff --git a/compiler/src/Input.hs b/compiler/src/Input.hs
index 48931ec..7990571 100644
--- a/compiler/src/Input.hs
+++ b/compiler/src/Input.hs
@@ -1,7 +1,7 @@
1-- ldgallery - A static generator which turns a collection of tagged 1-- ldgallery - A static generator which turns a collection of tagged
2-- pictures into a searchable web gallery. 2-- pictures into a searchable web gallery.
3-- 3--
4-- Copyright (C) 2019-2020 Pacien TRAN-GIRARD 4-- Copyright (C) 2019-2022 Pacien TRAN-GIRARD
5-- 5--
6-- This program is free software: you can redistribute it and/or modify 6-- This program is free software: you can redistribute it and/or modify
7-- it under the terms of the GNU Affero General Public License as 7-- it under the terms of the GNU Affero General Public License as
@@ -100,9 +100,7 @@ readSidecarFile filepath =
100 100
101 101
102readInputTree :: AnchoredFSNode -> IO InputTree 102readInputTree :: AnchoredFSNode -> IO InputTree
103readInputTree (AnchoredFSNode _ File{}) = 103readInputTree (AnchoredFSNode anchor root) = mkDirNode root
104 throw $ AssertionFailed "Input directory is a file"
105readInputTree (AnchoredFSNode anchor root@Dir{}) = mkDirNode root
106 where 104 where
107 mkInputNode :: Map.Map FileName FSNode -> FSNode -> IO (Maybe InputTree) 105 mkInputNode :: Map.Map FileName FSNode -> FSNode -> IO (Maybe InputTree)
108 mkInputNode dir file@File{path} | not (isSidecar file) && not (isThumbnail file) = 106 mkInputNode dir file@File{path} | not (isSidecar file) && not (isThumbnail file) =
@@ -155,6 +153,4 @@ filterInputTree cond = filterNode
155 filterNode :: InputTree -> InputTree 153 filterNode :: InputTree -> InputTree
156 filterNode inputFile@InputFile{} = inputFile 154 filterNode inputFile@InputFile{} = inputFile
157 filterNode inputDir@InputDir{items} = 155 filterNode inputDir@InputDir{items} =
158 filter cond items 156 inputDir { Input.items = filter cond items & map filterNode }
159 & map filterNode
160 & \curatedItems -> inputDir { items = curatedItems } :: InputTree