-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAddPILink.hs
More file actions
42 lines (32 loc) · 1.61 KB
/
AddPILink.hs
File metadata and controls
42 lines (32 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
-- Copyright 2010 Leonid Movshovich <event.riga@gmail.com>
-- This file is part of SPIM.
-- SPIM is free software: you can redistribute it and/or modify
-- it under the terms of the GNU Affero General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
-- SPIM is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU Affero General Public License for more details.
-- You should have received a copy of the GNU Affero General Public License
-- along with SPIM. If not, see <http://www.gnu.org/licenses/>.
module Main where
import IO
import qualified System.Environment as SysEnv
import qualified System.Directory as SysDir
import qualified System.Exit as Exit
import qualified SpimCommon as Spim
import qualified MIMEDir as MD
import qualified Data.List as List
main :: IO()
main = do repoDir:linkType:fromUID:toUIDs <- SysEnv.getArgs
isRepo <- Spim.isSpimRepo repoDir
if not isRepo
then do putStr ("Error: '" ++ repoDir ++ "' is not a spim repository")
Exit.exitWith (Exit.ExitFailure Spim.badRepoEC)
else do oldDir <- SysDir.getCurrentDirectory
SysDir.setCurrentDirectory repoDir
link <- Spim.loadLink linkType
let newLink = MD.add fromUID (List.intercalate "," toUIDs) link
Spim.saveLink newLink
SysDir.setCurrentDirectory oldDir