Add stylish-haskell config
This commit is contained in:
+8
-8
@@ -1,6 +1,6 @@
|
||||
{-# LANGUAGE DeriveAnyClass #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE DeriveAnyClass #-}
|
||||
{-# LANGUAGE DuplicateRecordFields #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Yore.DB
|
||||
( DayIndex (..)
|
||||
@@ -23,21 +23,21 @@ import qualified Database.PostgreSQL.Opium as Opium
|
||||
|
||||
data Table = Table
|
||||
{ schema :: String
|
||||
, name :: String
|
||||
, name :: String
|
||||
} deriving (Show, Generic, Opium.FromRow)
|
||||
|
||||
getTables :: Opium.Connection -> IO (Either Opium.Error [Table])
|
||||
getTables = Opium.fetch_ "SELECT table_schema AS schema, table_name AS name FROM information_schema.tables"
|
||||
|
||||
data DayIndex = DayIndex
|
||||
{ day_index_id :: Int
|
||||
, day :: Day
|
||||
{ day_index_id :: Int
|
||||
, day :: Day
|
||||
} deriving (Show, Generic, Opium.FromRow)
|
||||
|
||||
data DayFile = DayFile
|
||||
{ day_file_id :: Int
|
||||
, day_index_id :: Int
|
||||
, label :: Text
|
||||
{ day_file_id :: Int
|
||||
, day_index_id :: Int
|
||||
, label :: Text
|
||||
, relative_path :: FilePath
|
||||
} deriving (Show, Generic, Opium.FromRow)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ import Data.Maybe (fromJust)
|
||||
import Data.Text (Text)
|
||||
import Network.HTTP.Req hiding (queryParam)
|
||||
import System.Directory (createDirectoryIfMissing)
|
||||
import System.FilePath (makeRelative, takeExtension, (</>), (<.>))
|
||||
import System.FilePath (makeRelative, takeExtension, (<.>), (</>))
|
||||
|
||||
import qualified Data.ByteString.Lazy as LBS
|
||||
import qualified Data.Text as Text
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE OverloadedRecordDot #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Yore.Index (createEntries) where
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
{-# LANGUAGE OverloadedRecordDot #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
|
||||
module Yore.Repl (connect, exec, getToday, indexDay, addYears) where
|
||||
|
||||
|
||||
+29
-29
@@ -1,38 +1,38 @@
|
||||
{-# LANGUAGE DataKinds #-}
|
||||
{-# LANGUAGE DataKinds #-}
|
||||
{-# LANGUAGE DuplicateRecordFields #-}
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
{-# LANGUAGE OverloadedRecordDot #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE QuasiQuotes #-}
|
||||
{-# LANGUAGE ViewPatterns #-}
|
||||
{-# LANGUAGE LambdaCase #-}
|
||||
{-# LANGUAGE OverloadedRecordDot #-}
|
||||
{-# LANGUAGE OverloadedStrings #-}
|
||||
{-# LANGUAGE QuasiQuotes #-}
|
||||
{-# LANGUAGE ViewPatterns #-}
|
||||
|
||||
module Yore.Scrape (Issue (..), getIssuesByDay) where
|
||||
|
||||
import Control.Lens (each, (^?), (^..))
|
||||
import Control.Lens (each, (^..), (^?))
|
||||
import Control.Monad (guard)
|
||||
import Data.Char (chr, isDigit, ord)
|
||||
import Data.Maybe (listToMaybe, mapMaybe)
|
||||
import Data.Text (Text)
|
||||
import Data.Time (Year, MonthOfYear, Day, fromGregorian, toGregorian)
|
||||
import Data.Time (Day, MonthOfYear, Year, fromGregorian, toGregorian)
|
||||
import Network.HTTP.Req
|
||||
( GET (..)
|
||||
, BsResponse
|
||||
, NoReqBody (..)
|
||||
, Req
|
||||
, bsResponse
|
||||
, defaultHttpConfig
|
||||
, formToQuery
|
||||
, https
|
||||
, req
|
||||
, responseBody
|
||||
, responseStatusCode
|
||||
, runReq
|
||||
, (/:)
|
||||
)
|
||||
import Text.HTML.Parser (Token (..), Attr (..), parseTokens)
|
||||
( BsResponse
|
||||
, GET (..)
|
||||
, NoReqBody (..)
|
||||
, Req
|
||||
, bsResponse
|
||||
, defaultHttpConfig
|
||||
, formToQuery
|
||||
, https
|
||||
, req
|
||||
, responseBody
|
||||
, responseStatusCode
|
||||
, runReq
|
||||
, (/:)
|
||||
)
|
||||
import Text.HTML.Parser (Attr (..), Token (..), parseTokens)
|
||||
import Text.Printf (printf)
|
||||
import Text.URI (URI)
|
||||
import Text.URI.Lens (queryParam, uriPath, uriQuery, unRText)
|
||||
import Text.URI.Lens (queryParam, unRText, uriPath, uriQuery)
|
||||
import Text.URI.QQ (queryKey)
|
||||
|
||||
import qualified Data.Text as Text
|
||||
@@ -41,7 +41,7 @@ import qualified Text.URI as URI
|
||||
|
||||
-- | A single issue of a newspaper. There may be multiple isses per day.
|
||||
data Issue = Issue
|
||||
{ day :: Day
|
||||
{ day :: Day
|
||||
, label :: Text
|
||||
-- ^ A human-readable label for the issue, e.g. @1. Blatt@, @Sportblatt@ or @Handelsblatt@.
|
||||
, url :: Text
|
||||
@@ -147,7 +147,7 @@ getShowday t = do
|
||||
|
||||
getAHref :: Token -> Maybe Text
|
||||
getAHref (TagOpen "a" attrs) = getAttr "href" attrs
|
||||
getAHref _ = Nothing
|
||||
getAHref _ = Nothing
|
||||
|
||||
getRefreshTarget :: Token -> Maybe Text
|
||||
getRefreshTarget (TagOpen "meta" attrs) = do
|
||||
@@ -180,14 +180,14 @@ getParam param uri =
|
||||
decodeDecimalEntities :: Text -> Text
|
||||
decodeDecimalEntities = Text.pack . q0 . Text.unpack
|
||||
where
|
||||
q0 "" = ""
|
||||
q0 "" = ""
|
||||
q0 ('&' : '#' : r) = q1 0 r
|
||||
q0 (c : r) = c : q0 r
|
||||
q0 (c : r) = c : q0 r
|
||||
|
||||
-- Silently swallows broken entities at the end of the string...
|
||||
q1 _ "" = ""
|
||||
q1 acc (';' : r) = chr acc : q0 r
|
||||
q1 acc (c : r)
|
||||
q1 acc (c : r)
|
||||
| isDigit c = q1 (10 * acc + ord c - ord '0') r
|
||||
-- Or if they end unexpectedly.
|
||||
| otherwise = c : q0 r
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
module Yore.Time (addYears, getCurrentDay) where
|
||||
|
||||
import Data.Time (Day, addGregorianYearsClip, isLeapYear, toGregorian)
|
||||
import Data.Time.LocalTime (localDay, zonedTimeToLocalTime, getZonedTime)
|
||||
import Data.Time.LocalTime (getZonedTime, localDay, zonedTimeToLocalTime)
|
||||
|
||||
addYears :: Integer -> Day -> Maybe Day
|
||||
addYears yearOffset date
|
||||
@@ -9,7 +9,7 @@ addYears yearOffset date
|
||||
Nothing
|
||||
| otherwise =
|
||||
Just $ addGregorianYearsClip yearOffset date
|
||||
|
||||
|
||||
where
|
||||
(year, month, day) = toGregorian date
|
||||
year' = year + yearOffset
|
||||
|
||||
Reference in New Issue
Block a user