jherve 1 год назад
Родитель
Сommit
73069b5727
4 измененных файлов с 4 добавлено и 92 удалено
  1. 2 24
      src/Content.purs
  2. 0 44
      src/LinkedIn/ArtDeco.purs
  3. 1 12
      src/LinkedIn/ArtDecoCard.purs
  4. 1 12
      src/LinkedIn/ArtDecoTab.purs

+ 2 - 24
src/Content.purs

@@ -12,9 +12,9 @@ import Data.Traversable (traverse)
 import Effect (Effect)
 import Effect (Effect)
 import Effect.Class.Console (logShow)
 import Effect.Class.Console (logShow)
 import Effect.Console (log)
 import Effect.Console (log)
-import LinkedIn.ArtDecoCard (parseArtDecoCard, queryArtDecoCard)
+import LinkedIn.ArtDecoCard (queryArtDecoCard)
 import LinkedIn.ArtDecoCardAlt (ArtDecoCardAltElement, queryArtDecoCardAlt)
 import LinkedIn.ArtDecoCardAlt (ArtDecoCardAltElement, queryArtDecoCardAlt)
-import LinkedIn.ArtDecoTab (parseArtDecoTab, queryArtDecoTab)
+import LinkedIn.ArtDecoTab (queryArtDecoTab)
 import LinkedIn.JobsUnifiedTopCard (parseJobsUnifiedTopCardElement)
 import LinkedIn.JobsUnifiedTopCard (parseJobsUnifiedTopCardElement)
 import LinkedIn.Profile.Project as PP
 import LinkedIn.Profile.Project as PP
 import LinkedIn.Profile.Skill as PS
 import LinkedIn.Profile.Skill as PS
@@ -39,18 +39,6 @@ main = do
   maybeShowPruned "no tabs found" artDecoTabs >>= log
   maybeShowPruned "no tabs found" artDecoTabs >>= log
   maybeShowPruned "no top card found" jobsUnifiedTopCard >>= log
   maybeShowPruned "no top card found" jobsUnifiedTopCard >>= log
 
 
-  case artDecoCards of
-    Nothing -> log "nothing"
-    Just l -> do
-      parsed <- (\(LinkedInUIElement _ n) -> parseArtDecoCard n) $ NEL.head l
-      logShow parsed
-      case parsed of
-        Left l -> logShow l
-        Right p -> do
-          logShow $ toUIElement <$> p
-          logShow $ PWE.fromUI p
-          logShow $ PP.fromUI p
-
   case artDecoCards of
   case artDecoCards of
     Nothing -> log "nothing"
     Nothing -> log "nothing"
     Just l -> do
     Just l -> do
@@ -63,16 +51,6 @@ main = do
           logShow $ PWE.fromUI detached
           logShow $ PWE.fromUI detached
           logShow $ PP.fromUI detached
           logShow $ PP.fromUI detached
 
 
-  case artDecoTabs of
-    Nothing -> log "nothing"
-    Just l -> do
-      parsed <- (\(LinkedInUIElement _ n) -> parseArtDecoTab n) $ NEL.head l
-      logShow parsed
-      case parsed of
-        Left l -> logShow l
-        Right p -> do
-          logShow $ PS.fromUI p
-
   case artDecoTabs of
   case artDecoTabs of
     Nothing -> log "nothing"
     Nothing -> log "nothing"
     Just l -> do
     Just l -> do

+ 0 - 44
src/LinkedIn/ArtDeco.purs

@@ -2,7 +2,6 @@ module LinkedIn.ArtDeco where
 
 
 import Prelude
 import Prelude
 
 
-import Data.Either (Either(..), hush)
 import Data.Foldable (class Foldable, foldMap, foldlDefault, foldrDefault)
 import Data.Foldable (class Foldable, foldMap, foldlDefault, foldrDefault)
 import Data.Generic.Rep (class Generic)
 import Data.Generic.Rep (class Generic)
 import Data.List (List)
 import Data.List (List)
@@ -11,10 +10,7 @@ import Data.List.NonEmpty as NEL
 import Data.Maybe (Maybe)
 import Data.Maybe (Maybe)
 import Data.Show.Generic (genericShow)
 import Data.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverse, traverseDefault)
 import Data.Traversable (class Traversable, sequence, traverse, traverseDefault)
-import LinkedIn (DetachedNode)
 import LinkedIn.QueryRunner (QueryRunner, ignoreNotFound, queryAll, queryOne)
 import LinkedIn.QueryRunner (QueryRunner, ignoreNotFound, queryAll, queryOne)
-import LinkedIn.Types (Parser)
-import LinkedIn.Utils (queryAndDetachMany, queryAndDetachOne, queryManyAndParse, queryOneAndParse)
 import Web.DOM (Node)
 import Web.DOM (Node)
 
 
 
 
@@ -138,39 +134,17 @@ instance Traversable ArtDecoPvsEntity where
 
 
   traverse = \x -> traverseDefault x
   traverse = \x -> traverseDefault x
 
 
-parseArtDecoPvsEntitySubComponent ∷ Parser (ArtDecoPvsEntitySubComponent DetachedNode)
-parseArtDecoPvsEntitySubComponent n = do
-  content <- queryAndDetachOne "span[aria-hidden=true]" n
-  pure $ Right $ ArtDecoPvsEntitySubComponent $ hush content
-
 queryArtDecoPvsEntitySubComponent ∷ QueryRunner (ArtDecoPvsEntitySubComponent Node)
 queryArtDecoPvsEntitySubComponent ∷ QueryRunner (ArtDecoPvsEntitySubComponent Node)
 queryArtDecoPvsEntitySubComponent n = do
 queryArtDecoPvsEntitySubComponent n = do
   content <- ignoreNotFound $ queryOne "span[aria-hidden=true]" n
   content <- ignoreNotFound $ queryOne "span[aria-hidden=true]" n
   pure $ ArtDecoPvsEntitySubComponent content
   pure $ ArtDecoPvsEntitySubComponent content
 
 
-parseArtDecoCenterContent ∷ Parser (ArtDecoCenterContent DetachedNode)
-parseArtDecoCenterContent n = do
-  list <- queryManyAndParse ":scope > ul > li" parseArtDecoPvsEntitySubComponent n
-  pure $ ado
-    l <- list
-  in ArtDecoCenterContent l
-
 queryArtDecoCenterContent ∷ QueryRunner (ArtDecoCenterContent Node)
 queryArtDecoCenterContent ∷ QueryRunner (ArtDecoCenterContent Node)
 queryArtDecoCenterContent n = do
 queryArtDecoCenterContent n = do
   list <- queryAll ":scope > ul > li" n
   list <- queryAll ":scope > ul > li" n
   sc <- traverse queryArtDecoPvsEntitySubComponent list
   sc <- traverse queryArtDecoPvsEntitySubComponent list
   pure $ ArtDecoCenterContent sc
   pure $ ArtDecoCenterContent sc
 
 
-parseArtDecoCenterHeader :: Parser (ArtDecoCenterHeader DetachedNode)
-parseArtDecoCenterHeader n = do
-  bold <- queryAndDetachOne ":scope div.t-bold > span[aria-hidden=true]" n
-  normal <- queryAndDetachOne ":scope span.t-normal:not(t-black--light) > span[aria-hidden=true]" n
-  light <- queryAndDetachMany ":scope span.t-black--light > span[aria-hidden=true]" n
-
-  pure $ ado
-    b <- bold
-  in ArtDecoCenterHeader {bold: b, normal: hush normal, light: hush light}
-
 queryArtDecoCenterHeader ∷ QueryRunner (ArtDecoCenterHeader Node)
 queryArtDecoCenterHeader ∷ QueryRunner (ArtDecoCenterHeader Node)
 queryArtDecoCenterHeader n = do
 queryArtDecoCenterHeader n = do
   bold <- queryOne ":scope div.t-bold > span[aria-hidden=true]" n
   bold <- queryOne ":scope div.t-bold > span[aria-hidden=true]" n
@@ -183,16 +157,6 @@ queryArtDecoCenterHeader n = do
 
 
   pure $ ArtDecoCenterHeader {bold, normal, light}
   pure $ ArtDecoCenterHeader {bold, normal, light}
 
 
-parseArtDecoCenter :: Parser (ArtDecoCenter DetachedNode)
-parseArtDecoCenter n = do
-  header <- queryOneAndParse ":scope > div" parseArtDecoCenterHeader n
-  content <- queryOneAndParse ":scope > div.pvs-entity__sub-components" parseArtDecoCenterContent n
-
-  pure $ ado
-    h <- header
-    c <- content
-  in ArtDecoCenter {header: h, content: c}
-
 queryArtDecoCenter ∷ QueryRunner (ArtDecoCenter Node)
 queryArtDecoCenter ∷ QueryRunner (ArtDecoCenter Node)
 queryArtDecoCenter n = do
 queryArtDecoCenter n = do
   header <- queryOne ":scope > div" n
   header <- queryOne ":scope > div" n
@@ -202,14 +166,6 @@ queryArtDecoCenter n = do
 
 
   pure $ ArtDecoCenter {header: h, content: c}
   pure $ ArtDecoCenter {header: h, content: c}
 
 
-parseArtDecoPvsEntity :: Parser (ArtDecoPvsEntity DetachedNode)
-parseArtDecoPvsEntity n = do
-  center <- queryOneAndParse ":scope > div.display-flex" parseArtDecoCenter n
-
-  pure $ ado
-    c <- center
-  in ArtDecoPvsEntity {side: unit, center: c}
-
 queryArtDecoPvsEntity ∷ QueryRunner (ArtDecoPvsEntity Node)
 queryArtDecoPvsEntity ∷ QueryRunner (ArtDecoPvsEntity Node)
 queryArtDecoPvsEntity n = do
 queryArtDecoPvsEntity n = do
   center <- queryOne ":scope > div.display-flex" n
   center <- queryOne ":scope > div.display-flex" n

+ 1 - 12
src/LinkedIn/ArtDecoCard.purs

@@ -9,12 +9,9 @@ import Data.List.Types (NonEmptyList)
 import Data.Maybe (Maybe)
 import Data.Maybe (Maybe)
 import Data.Show.Generic (genericShow)
 import Data.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
-import LinkedIn (DetachedNode)
-import LinkedIn.ArtDeco (ArtDecoPvsEntity, parseArtDecoPvsEntity, queryArtDecoPvsEntity)
+import LinkedIn.ArtDeco (ArtDecoPvsEntity, queryArtDecoPvsEntity)
 import LinkedIn.ArtDeco as AD
 import LinkedIn.ArtDeco as AD
 import LinkedIn.QueryRunner (QueryRunner, queryOne)
 import LinkedIn.QueryRunner (QueryRunner, queryOne)
-import LinkedIn.Types (Parser)
-import LinkedIn.Utils (queryOneAndParse)
 import Web.DOM (Node)
 import Web.DOM (Node)
 
 
 
 
@@ -41,14 +38,6 @@ instance Traversable ArtDecoCardElement where
 
 
   traverse = \x -> traverseDefault x
   traverse = \x -> traverseDefault x
 
 
-parseArtDecoCard :: Parser (ArtDecoCardElement DetachedNode)
-parseArtDecoCard n = do
-  pvs <- queryOneAndParse ":scope div.pvs-entity--padded" parseArtDecoPvsEntity n
-
-  pure $ ado
-    p <- pvs
-  in ArtDecoCardElement {pvs_entity: p}
-
 queryArtDecoCard :: QueryRunner (ArtDecoCardElement Node)
 queryArtDecoCard :: QueryRunner (ArtDecoCardElement Node)
 queryArtDecoCard n = do
 queryArtDecoCard n = do
   pvs <- queryOne ":scope div.pvs-entity--padded" n
   pvs <- queryOne ":scope div.pvs-entity--padded" n

+ 1 - 12
src/LinkedIn/ArtDecoTab.purs

@@ -9,12 +9,9 @@ import Data.List.Types (NonEmptyList)
 import Data.Maybe (Maybe)
 import Data.Maybe (Maybe)
 import Data.Show.Generic (genericShow)
 import Data.Show.Generic (genericShow)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
 import Data.Traversable (class Traversable, sequence, traverseDefault)
-import LinkedIn (DetachedNode)
-import LinkedIn.ArtDeco (ArtDecoPvsEntity, parseArtDecoPvsEntity, queryArtDecoPvsEntity)
+import LinkedIn.ArtDeco (ArtDecoPvsEntity, queryArtDecoPvsEntity)
 import LinkedIn.ArtDeco as AD
 import LinkedIn.ArtDeco as AD
 import LinkedIn.QueryRunner (QueryRunner, queryOne)
 import LinkedIn.QueryRunner (QueryRunner, queryOne)
-import LinkedIn.Types (Parser)
-import LinkedIn.Utils (queryOneAndParse)
 import Web.DOM (Node)
 import Web.DOM (Node)
 
 
 
 
@@ -41,14 +38,6 @@ instance Traversable ArtDecoTabElement where
 
 
   traverse = \x -> traverseDefault x
   traverse = \x -> traverseDefault x
 
 
-parseArtDecoTab :: Parser (ArtDecoTabElement DetachedNode)
-parseArtDecoTab n = do
-  pvs <- queryOneAndParse ":scope div.pvs-entity--padded" parseArtDecoPvsEntity n
-
-  pure $ ado
-    p <- pvs
-  in ArtDecoTabElement {pvs_entity: p}
-
 queryArtDecoTab :: QueryRunner (ArtDecoTabElement Node)
 queryArtDecoTab :: QueryRunner (ArtDecoTabElement Node)
 queryArtDecoTab n = do
 queryArtDecoTab n = do
   pvs <- queryOne ":scope div.pvs-entity--padded" n
   pvs <- queryOne ":scope div.pvs-entity--padded" n