filter branches (incomplete)
Promosing work toward metadata driven filter branches. A few methods to construct them are stubbed out; all the data types and pure code seems good. This commit was sponsored by Walter Somerville.
This commit is contained in:
parent
2825f2e41d
commit
9633c67842
5 changed files with 246 additions and 0 deletions
|
@ -277,3 +277,18 @@ sanitizeFilePath = map sanitize
|
|||
| c == '.' = c
|
||||
| isSpace c || isPunctuation c || isSymbol c || isControl c || c == '/' = '_'
|
||||
| otherwise = c
|
||||
|
||||
{- Similar to splitExtensions, but knows that some things in FilePaths
|
||||
- after a dot are too long to be extensions. -}
|
||||
splitShortExtensions :: FilePath -> (FilePath, [String])
|
||||
splitShortExtensions = splitShortExtensions' 5 -- enough for ".jpeg"
|
||||
splitShortExtensions' :: Int -> FilePath -> (FilePath, [String])
|
||||
splitShortExtensions' maxextension = go []
|
||||
where
|
||||
go c f
|
||||
| len > 0 && len <= maxextension && not (null base) =
|
||||
go (ext:c) base
|
||||
| otherwise = (f, c)
|
||||
where
|
||||
(base, ext) = splitExtension f
|
||||
len = length ext
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue