summaryrefslogtreecommitdiff
path: root/parser
diff options
context:
space:
mode:
authorunwox <me@unwox.com>2024-10-31 16:42:53 +0600
committerunwox <me@unwox.com>2024-10-31 16:42:53 +0600
commite48032674a8d0d9f28afdb3ef1d36add5096f043 (patch)
treef0e9e8719f552aa9880f098ad15ffaa9b4b76336 /parser
parentb1e6651b7e409dcbc644084f9f4a051bd97087e0 (diff)
fix parsing of ipuer products without descriptions
Diffstat (limited to 'parser')
-rw-r--r--parser/ipuer.fnl24
1 files changed, 16 insertions, 8 deletions
diff --git a/parser/ipuer.fnl b/parser/ipuer.fnl
index 9a244e2..b501a35 100644
--- a/parser/ipuer.fnl
+++ b/parser/ipuer.fnl
@@ -25,17 +25,25 @@
(parser.tag :a {:href "*"}
(parser.tag :span {} (peg.Cg (parser.till "</span>") :title)))))
;; description
- (parser.anywhere
- (parser.tag :div {:class "card-product_description"}
- (peg.Cg (parser.till "</div>") :description)))
- ;; price
- (parser.anywhere
+ (+
+ (parser.anywhere
(parser.tag :span {:class "card-price_new"}
(* (peg.Cg
- (* parser.pegs.number
+ (* parser.pegs.number
(parser.maybe (* " " parser.pegs.number)))
- :price)
- " р.")))
+ :price)
+ " р.")))
+ (*
+ (parser.anywhere
+ (parser.tag :div {:class "card-product_description"}
+ (peg.Cg (parser.till "</div>") :description)))
+ (parser.anywhere
+ (parser.tag :span {:class "card-price_new"}
+ (* (peg.Cg
+ (* parser.pegs.number
+ (parser.maybe (* " " parser.pegs.number)))
+ :price)
+ " р.")))))
(parser.anywhere
(+ (parser.tag :a {:data-url "*" :class "*" :data-add-text "*"} "В корзину")
(parser.tag :a {:data-url "*" :class "*"} "В корзину")))))