Commit Diff


commit - fa3ca37ff9b9e995cf8dd43e6c2aea9d3c7c0f34
commit + 4563b43dc46cf12d4ea4e82321a75a037e81d5c9
blob - 2b17d016d325384df22aeedde464d4682028a58c
blob + de9cd82ed7dea22d3523df97e9c74e45021c1c24
--- eur-lex-scraper/src/models/articles.rs
+++ eur-lex-scraper/src/models/articles.rs
@@ -2,9 +2,9 @@ use crate::models::enacting_terms::Item;
 
 #[derive(Clone, Debug, Default, PartialEq, Eq)]
 pub struct Article {
-    pub title: String,
-    pub number: u32,
-    pub text: String,
+    title: String,
+    number: u32,
+    text: String,
 }
 
 impl Into<Item> for Article {
@@ -12,3 +12,24 @@ impl Into<Item> for Article {
         Item::Article(self)
     }
 }
+
+impl Article {
+    pub fn set_title(&mut self, title: String) {
+        self.title = title
+    }
+    pub fn get_title(&self) -> &str {
+        &self.title
+    }
+    pub fn set_number(&mut self, number: u32) {
+        self.number = number
+    }
+    pub fn get_number(&self) -> u32 {
+        self.number
+    }
+    pub fn set_text(&mut self, text: String) {
+        self.text = text
+    }
+    pub fn get_text(&self) -> &str {
+        &self.text
+    }
+}
blob - d433b9cd088a8ce5c945d648a1da87d176b28850
blob + f88578d44278fb36d2970b50c7bf419fa2786329
--- eur-lex-scraper/src/parsers/article.rs
+++ eur-lex-scraper/src/parsers/article.rs
@@ -32,11 +32,10 @@ impl ArticleParser {
             None => return Err(ArticleParserError::TitleError),
         };
         let text = html2text(&element.inner_html());
-        let article = Article {
-            title,
-            number,
-            text,
-        };
+        let mut article = Article::default();
+        article.set_title(title);
+        article.set_number(number);
+        article.set_text(text);
         Ok(article)
     }
 }
@@ -71,11 +70,10 @@ mod tests {
         let selector = Selector::parse("[id^=art_]").unwrap();
         let element_ref = html.select(&selector).next().unwrap();
         let article_left = ArticleParser::parse(element_ref).unwrap();
-        let article_right = Article {
-            title: "AI literacy".to_string(),
-            number: 4,
-            text: html2text(&element_ref.inner_html()),
-        };
+        let mut article_right = Article::default();
+        article_right.set_title("AI literacy".to_string());
+        article_right.set_number(4);
+        article_right.set_text(html2text(&element_ref.inner_html()));
         assert_eq!(article_left, article_right)
     }
     #[test]
@@ -99,8 +97,7 @@ mod tests {
     #[test]
     fn parsing_article_no_id_return_no_id_attribute_error() {
         let html = Html::parse_fragment(&get_test_article_4());
-        // Change the selector for tests pruposes since we cannot
-        // use id
+        // Change the selector for test pruposes since we cannot use id
         let selector = Selector::parse(".eli-subdivision").unwrap();
         let element_ref = html.select(&selector).next().unwrap();
         let article_left = ArticleParser::parse(element_ref).unwrap_err();
blob - 1c7c1d21b0adfecb2a355453f4306ac9ba4ebea0
blob + 25e44521de570bdb68bc955a0b7f188a2b149e4c
--- eur-lex-scraper/src/parsers/section.rs
+++ eur-lex-scraper/src/parsers/section.rs
@@ -432,15 +432,15 @@ mod tests {
         let element_ref = html.select(&selector).next().unwrap();
         let section_left = SectionParser::parse(element_ref).unwrap();
         assert_eq!(section_left.items.len(), 2);
-        assert_eq!(section_left.items.get(0).unwrap().number, 6);
+        assert_eq!(section_left.items.get(0).unwrap().get_number(), 6);
         assert_eq!(
-            section_left.items.get(0).unwrap().title,
-            "Classification rules for high-risk AI systems".to_string()
+            section_left.items.get(0).unwrap().get_title(),
+            "Classification rules for high-risk AI systems"
         );
-        assert_eq!(section_left.items.get(1).unwrap().number, 7);
+        assert_eq!(section_left.items.get(1).unwrap().get_number(), 7);
         assert_eq!(
-            section_left.items.get(1).unwrap().title,
-            "Amendments to Annex&nbsp;III".to_string()
+            section_left.items.get(1).unwrap().get_title(),
+            "Amendments to Annex&nbsp;III"
         );
     }
 }