Coverage for src/crawler/by_source/episciences_crawlers/episciences_rdm_crawler.py: 43%
19 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-09-23 14:47 +0000
« prev ^ index » next coverage.py v7.15.4, created at 2026-09-23 14:47 +0000
1import logging
3from crawler.by_source.episciences_crawlers.episciences_crawler import EpisciencesCrawler
4from crawler.utils import regex_to_dict
6# TODO : Find another system to save the title information with
7# Maybe a toggle attribute on collection ?
9HAS_TITLES = {"COMPOSIT": False, "ARIMA": True}
11logger = logging.getLogger(__name__)
14# We could improve our data further by augmenting the articles using arxiv
15# (references)
16class EpisciencesRdmCrawler(EpisciencesCrawler):
17 source_domain = "EPISCIENCES_RDM"
18 volume_title_re = r"(?P<volume>\d+)\s*\((?P<number>\d+)\)"
19 article_volume_match_re = r"(?P<volume>\d+)\s*\((?P<number>\d+)\)"
21 def process_issue_title(self, xissue: dict, issue_title: str):
22 title_dict = regex_to_dict(
23 self.volume_title_re,
24 issue_title,
25 error_msg="Couldn't parse issue title",
26 )
28 xissue.volume = title_dict["volume"]
29 xissue.number = title_dict["number"]
30 xissue.title_tex = f"Volume {xissue.volume}"
31 if xissue.title_tex == "Synthesis and perspectives in didactics of mathematics":
32 print()
33 if not title_dict["volume"].isdigit():
34 xissue.title_tex = f"{xissue.volume}"
36 return xissue