diff --git a/chandlr.cabal b/chandlr.cabal index 3fc33a4..ef6fc39 100644 --- a/chandlr.cabal +++ b/chandlr.cabal @@ -84,7 +84,7 @@ executable chandlr Common.AttachmentType Parsing.BodyParser Common.Parsing.QuoteLinkParser - Parsing.EmbedParser + Common.Parsing.EmbedParser Common.Parsing.PostPartType Common.Component.TimeControl Component.Search diff --git a/src/Common b/src/Common index 0e5547e..c33593e 160000 --- a/src/Common +++ b/src/Common @@ -1 +1 @@ -Subproject commit 0e5547e7475679cd5a3a449b6f09f0f6d063244e +Subproject commit c33593ec634d42eeead0dbbad90c36efc2f5fe54 diff --git a/src/Component/CatalogGrid.hs b/src/Component/CatalogGrid.hs index 72890fd..1bd3f80 100644 --- a/src/Component/CatalogGrid.hs +++ b/src/Component/CatalogGrid.hs @@ -25,7 +25,7 @@ import Miso.String (toMisoString, MisoString) import Common.Network.CatalogPostType (CatalogPost) import qualified Common.Network.CatalogPostType as CatalogPost -import Parsing.EmbedParser (extractVideoId) +import Common.Parsing.EmbedParser (extractVideoId) data Model = Model { display_items :: [ CatalogPost ] diff --git a/src/Parsing/EmbedParser.hs b/src/Parsing/EmbedParser.hs deleted file mode 100644 index 3a79c6d..0000000 --- a/src/Parsing/EmbedParser.hs +++ /dev/null @@ -1,21 +0,0 @@ -module Parsing.EmbedParser - ( extractVideoId - ) - where - -import Text.Parsec -import Text.Parsec.String - --- Parser to extract the video ID -videoIdParser :: Parser String -videoIdParser = do - -- Look for the data-video attribute - _ <- manyTill anyChar (try (string "data-video=\"") <|> string "href=\"https://youtu.be/") - -- Capture the video ID - videoId <- manyTill anyChar (try (char '\"') <|> (char '"' >> char ' ')) - -- Return the captured ID - return videoId - --- Function to apply the parser and extract the video ID -extractVideoId :: String -> Either ParseError String -extractVideoId input = parse videoIdParser "" input