spdx 0.1.1.0 → 0.1.2.0
raw patch · 3 files changed
+2/−70 lines, 3 filesdep −xmlPVP ok
version bump matches the API change (PVP)
Dependencies removed: xml
API changes (from Hackage documentation)
Files
- README.md +1/−0
- dev/Main.hs +0/−55
- spdx.cabal +1/−15
README.md view
@@ -1,6 +1,7 @@ # sdpx [](https://travis-ci.org/phadej/spdx)+[](http://hackage.haskell.org/package/spdx) SPDX license expression language
− dev/Main.hs
@@ -1,55 +0,0 @@-module Main (main) where--import Control.Applicative-import Data.List-import Data.Maybe-import Data.Traversable-import Text.XML.Light--simplify :: Element -> [[[String]]]-simplify el = - let worksheets = filter isWorksheetElement $ childrenElements el- Just tables = traverse tableFromWorksheet worksheets- in map tableElements tables--toElem :: Content -> Maybe Element-toElem (Elem e) = Just e-toElem _ = Nothing--isElement :: String -> Element -> Bool-isElement name = (name ==) . qName . elName--isWorksheetElement :: Element -> Bool-isWorksheetElement = isElement "Worksheet"--childrenElements :: Element -> [Element]-childrenElements = mapMaybe toElem . elContent--tableFromWorksheet :: Element -> Maybe Element-tableFromWorksheet = listToMaybe . filter (isElement "Table") . childrenElements--textContent :: Content -> Maybe String-textContent (Text t) = Just $ cdData t-textContent _ = Nothing--extractData :: Element -> String-extractData el = maybe "" id $ do dataEl <- listToMaybe . filter (isElement "Data") . childrenElements $ el- textEl <- listToMaybe $ elContent dataEl- text <- textContent textEl- return text--tableElements :: Element -> [[String]] -tableElements = map cells . filter (isElement "Row") . childrenElements- where cells = map extractData . filter (isElement "Cell") . childrenElements--extractLicense :: [String] -> (String, String, Bool)-extractLicense row = (row !! 1, row !! 0, (row !! 4) == "YES")--main :: IO ()-main = do- contents <- readFile "data/spdx_licenselist.xml"- let Just el = parseXMLDoc contents- let parsed = simplify el- let licenses = filter (not . null) $ parsed !! 0- f `mapM_` (sort $ map extractLicense licenses)- where f (l, n, osi) = putStrLn $ " , (LicenseId " ++ show l ++ ", " ++ show n ++ ", " ++ show osi ++ ")"
spdx.cabal view
@@ -1,5 +1,5 @@ name: spdx-version: 0.1.1.0+version: 0.1.2.0 synopsis: SPDX license expression language description: Implementation of <http://spdx.org/sites/spdx/files/SPDX-2.0.pdf SPDX> related functionality. homepage: https://github.com/phadej/spdx@@ -13,11 +13,6 @@ extra-source-files: README.md cabal-version: >=1.10 -flag developer- description: Whether to build development tools- default: False- manual: True- library default-language: Haskell2010 exposed-modules: Data.SPDX,@@ -50,12 +45,3 @@ tasty >=0.10 && <0.11, tasty-quickcheck >=0.8 && <0.9, spdx--executable spdx-data- if !flag(developer)- buildable: False- main-is: Main.hs- default-language: Haskell2010- hs-source-dirs: dev- build-depends: base >=4.5 && <4.9,- xml >=1.3 && <1.4