Add seances
This commit is contained in:
parent
53439899e1
commit
2ca031c3f6
4 changed files with 196 additions and 133 deletions
258
cinema.xml
258
cinema.xml
|
@ -30,32 +30,32 @@
|
|||
Sa mission le projettera dans une dimension qui dépasse le temps.
|
||||
Pourtant, il ne s'agit pas d'un voyage dans le temps, mais d'un renversement temporel...
|
||||
</synopsis>
|
||||
<séances>
|
||||
<séance jour="lundi">14:00</séance>
|
||||
<séance jour="lundi">19:40</séance>
|
||||
<séance jour="lundi">22:10</séance>
|
||||
<séance jour="mardi">14:00</séance>
|
||||
<séance jour="mardi">19:40</séance>
|
||||
<séance jour="mardi">22:10</séance>
|
||||
<séance jour="mercredi">14:00</séance>
|
||||
<séance jour="mercredi">16:40</séance>
|
||||
<séance jour="mercredi">19:40</séance>
|
||||
<séance jour="mercredi">22:10</séance>
|
||||
<séance jour="jeudi">14:00</séance>
|
||||
<séance jour="jeudi">19:40</séance>
|
||||
<séance jour="jeudi">22:10</séance>
|
||||
<séance jour="vendredi">14:00</séance>
|
||||
<séance jour="vendredi">19:40</séance>
|
||||
<séance jour="vendredi">22:10</séance>
|
||||
<séance jour="samedi">14:00</séance>
|
||||
<séance jour="samedi">16:40</séance>
|
||||
<séance jour="samedi">19:40</séance>
|
||||
<séance jour="samedi">22:10</séance>
|
||||
<séance jour="dimanche">10:20</séance>
|
||||
<séance jour="dimanche">14:00</séance>
|
||||
<séance jour="dimanche">16:40</séance>
|
||||
<séance jour="dimanche">20:20</séance>
|
||||
</séances>
|
||||
<seances>
|
||||
<seance day="lundi">14:00</seance>
|
||||
<seance day="lundi">19:40</seance>
|
||||
<seance day="lundi">22:10</seance>
|
||||
<seance day="mardi">14:00</seance>
|
||||
<seance day="mardi">19:40</seance>
|
||||
<seance day="mardi">22:10</seance>
|
||||
<seance day="mercredi">14:00</seance>
|
||||
<seance day="mercredi">16:40</seance>
|
||||
<seance day="mercredi">19:40</seance>
|
||||
<seance day="mercredi">22:10</seance>
|
||||
<seance day="jeudi">14:00</seance>
|
||||
<seance day="jeudi">19:40</seance>
|
||||
<seance day="jeudi">22:10</seance>
|
||||
<seance day="vendredi">14:00</seance>
|
||||
<seance day="vendredi">19:40</seance>
|
||||
<seance day="vendredi">22:10</seance>
|
||||
<seance day="samedi">14:00</seance>
|
||||
<seance day="samedi">16:40</seance>
|
||||
<seance day="samedi">19:40</seance>
|
||||
<seance day="samedi">22:10</seance>
|
||||
<seance day="dimanche">10:20</seance>
|
||||
<seance day="dimanche">14:00</seance>
|
||||
<seance day="dimanche">16:40</seance>
|
||||
<seance day="dimanche">20:20</seance>
|
||||
</seances>
|
||||
</film>
|
||||
<film category="Action">
|
||||
<title>Drive</title>
|
||||
|
@ -85,33 +85,33 @@ C’est alors que la route du pilote croise celle d’Irene et de son jeune fils
|
|||
Lorsque le mari d’Irene sort de prison et se retrouve enrôlé de force dans un braquage pour s’acquitter d’une dette, il décide pourtant de lui venir en aide. L’expédition tourne mal…
|
||||
Doublé par ses commanditaires, et obsédé par les risques qui pèsent sur Irene, il n’a dès lors pas d’autre alternative que de les traquer un à un…
|
||||
</synopsis>
|
||||
<séances>
|
||||
<séance jour="lundi">16:00</séance>
|
||||
<séance jour="lundi">20:30</séance>
|
||||
<séance jour="lundi">22:40</séance>
|
||||
<séance jour="mardi">13:30</séance>
|
||||
<séance jour="mardi">20:30</séance>
|
||||
<séance jour="mardi">22:40</séance>
|
||||
<séance jour="mercredi">13:30</séance>
|
||||
<séance jour="mercredi">17:50</séance>
|
||||
<séance jour="mercredi">20:30</séance>
|
||||
<séance jour="mercredi">22:40</séance>
|
||||
<séance jour="jeudi">13:30</séance>
|
||||
<séance jour="jeudi">17:50</séance>
|
||||
<séance jour="jeudi">20:30</séance>
|
||||
<séance jour="vendredi">13:30</séance>
|
||||
<séance jour="vendredi">20:30</séance>
|
||||
<séance jour="vendredi">22:40</séance>
|
||||
<séance jour="samedi">13:30</séance>
|
||||
<séance jour="samedi">17:50</séance>
|
||||
<séance jour="samedi">20:30</séance>
|
||||
<séance jour="samedi">22:40</séance>
|
||||
<séance jour="dimanche">10:20</séance>
|
||||
<séance jour="dimanche">13:30</séance>
|
||||
<séance jour="dimanche">17:50</séance>
|
||||
<séance jour="dimanche">20:20</séance>
|
||||
<séance jour="dimanche">22:40</séance>
|
||||
</séances>
|
||||
<seances>
|
||||
<seance day="lundi">16:00</seance>
|
||||
<seance day="lundi">20:30</seance>
|
||||
<seance day="lundi">22:40</seance>
|
||||
<seance day="mardi">13:30</seance>
|
||||
<seance day="mardi">20:30</seance>
|
||||
<seance day="mardi">22:40</seance>
|
||||
<seance day="mercredi">13:30</seance>
|
||||
<seance day="mercredi">17:50</seance>
|
||||
<seance day="mercredi">20:30</seance>
|
||||
<seance day="mercredi">22:40</seance>
|
||||
<seance day="jeudi">13:30</seance>
|
||||
<seance day="jeudi">17:50</seance>
|
||||
<seance day="jeudi">20:30</seance>
|
||||
<seance day="vendredi">13:30</seance>
|
||||
<seance day="vendredi">20:30</seance>
|
||||
<seance day="vendredi">22:40</seance>
|
||||
<seance day="samedi">13:30</seance>
|
||||
<seance day="samedi">17:50</seance>
|
||||
<seance day="samedi">20:30</seance>
|
||||
<seance day="samedi">22:40</seance>
|
||||
<seance day="dimanche">10:20</seance>
|
||||
<seance day="dimanche">13:30</seance>
|
||||
<seance day="dimanche">17:50</seance>
|
||||
<seance day="dimanche">20:20</seance>
|
||||
<seance day="dimanche">22:40</seance>
|
||||
</seances>
|
||||
</film>
|
||||
<film category="Comédie">
|
||||
<title>Le Daim</title>
|
||||
|
@ -136,25 +136,25 @@ Doublé par ses commanditaires, et obsédé par les risques qui pèsent sur Iren
|
|||
</notes>
|
||||
<synopsis>Georges, la quarantaine, quitte du jour au lendemain sa femme et son travail pour s'offrir le blouson de ses rêves, une veste en daim à franges. Le vendeur lui cède avec un caméscope numérique. Très fier du nouveau style que lui confère son achat, Georges prend une chambre d'hôtel dans une station des Pyrénées. Dans un bar, il fait la connaissance de Denise, une serveuse cinéphile qui rêve de devenir monteuse. Il lui fait croire qu'il est un réalisateur en repérage pour un prochain tournage. L'homme développe par ailleurs une véritable obsession pour son blouson. Quentin Dupieux continue la construction de son oeuvre singulière dans un film où l'absurde le dispute au non-sens, avec une pointe de sauvagerie.
|
||||
</synopsis>
|
||||
<séances>
|
||||
<séance jour="lundi">18:35</séance>
|
||||
<séance jour="lundi">20:30</séance>
|
||||
<séance jour="mardi">18:35</séance>
|
||||
<séance jour="mardi">22:40</séance>
|
||||
<séance jour="mercredi">16:30</séance>
|
||||
<séance jour="mercredi">22:40</séance>
|
||||
<séance jour="jeudi">18:35</séance>
|
||||
<séance jour="jeudi">20:30</séance>
|
||||
<séance jour="vendredi">18:35</séance>
|
||||
<séance jour="vendredi">20:30</séance>
|
||||
<séance jour="samedi">18:35</séance>
|
||||
<séance jour="samedi">20:30</séance>
|
||||
<séance jour="samedi">22:40</séance>
|
||||
<séance jour="dimanche">9:30</séance>
|
||||
<séance jour="dimanche">18:35</séance>
|
||||
<séance jour="dimanche">20:20</séance>
|
||||
<séance jour="dimanche">22:40</séance>
|
||||
</séances>
|
||||
<seances>
|
||||
<seance day="lundi">18:35</seance>
|
||||
<seance day="lundi">20:30</seance>
|
||||
<seance day="mardi">18:35</seance>
|
||||
<seance day="mardi">22:40</seance>
|
||||
<seance day="mercredi">16:30</seance>
|
||||
<seance day="mercredi">22:40</seance>
|
||||
<seance day="jeudi">18:35</seance>
|
||||
<seance day="jeudi">20:30</seance>
|
||||
<seance day="vendredi">18:35</seance>
|
||||
<seance day="vendredi">20:30</seance>
|
||||
<seance day="samedi">18:35</seance>
|
||||
<seance day="samedi">20:30</seance>
|
||||
<seance day="samedi">22:40</seance>
|
||||
<seance day="dimanche">9:30</seance>
|
||||
<seance day="dimanche">18:35</seance>
|
||||
<seance day="dimanche">20:20</seance>
|
||||
<seance day="dimanche">22:40</seance>
|
||||
</seances>
|
||||
</film>
|
||||
<film category="Animation">
|
||||
<title>Le voyage de Chihiro</title>
|
||||
|
@ -180,37 +180,37 @@ Doublé par ses commanditaires, et obsédé par les risques qui pèsent sur Iren
|
|||
</notes>
|
||||
<synopsis>Chihiro, une fillette de 10 ans, est en route vers sa nouvelle demeure en compagnie de ses parents. Au cours du voyage, la famille fait une halte dans un parc à thème qui leur paraît délabré. Lors de la visite, les parents s’arrêtent dans un des bâtiments pour déguster quelques mets très appétissants, apparus comme par enchantement. Hélas cette nourriture les transforme en porcs. Prise de panique, Chihiro s’enfuit et se retrouve seule dans cet univers fantasmagorique ; elle rencontre alors l’énigmatique Haku, son seul allié dans cette terrible épreuve...
|
||||
</synopsis>
|
||||
<séances>
|
||||
<séance jour="lundi">14:30</séance>
|
||||
<séance jour="lundi">18:00</séance>
|
||||
<séance jour="lundi">20:30</séance>
|
||||
<séance jour="mardi">14:30</séance>
|
||||
<séance jour="mardi">18:00</séance>
|
||||
<séance jour="mardi">20:30</séance>
|
||||
<séance jour="mercredi">10:30</séance>
|
||||
<séance jour="mercredi">14:50</séance>
|
||||
<séance jour="mercredi">16:40</séance>
|
||||
<séance jour="mercredi">18:50</séance>
|
||||
<séance jour="mercredi">21:00</séance>
|
||||
<séance jour="mercredi">22:20</séance>
|
||||
<séance jour="jeudi">14:30</séance>
|
||||
<séance jour="jeudi">18:00</séance>
|
||||
<séance jour="jeudi">20:30</séance>
|
||||
<séance jour="vendredi">13:30</séance>
|
||||
<séance jour="vendredi">17:50</séance>
|
||||
<séance jour="vendredi">20:30</séance>
|
||||
<séance jour="samedi">10:30</séance>
|
||||
<séance jour="samedi">14:50</séance>
|
||||
<séance jour="samedi">16:40</séance>
|
||||
<séance jour="samedi">18:50</séance>
|
||||
<séance jour="samedi">21:00</séance>
|
||||
<séance jour="samedi">22:20</séance>
|
||||
<séance jour="dimanche">10:20</séance>
|
||||
<séance jour="dimanche">13:30</séance>
|
||||
<séance jour="dimanche">17:50</séance>
|
||||
<séance jour="dimanche">20:20</séance>
|
||||
<séance jour="dimanche">22:40</séance>
|
||||
</séances>
|
||||
<seances>
|
||||
<seance day="lundi">14:30</seance>
|
||||
<seance day="lundi">18:00</seance>
|
||||
<seance day="lundi">20:30</seance>
|
||||
<seance day="mardi">14:30</seance>
|
||||
<seance day="mardi">18:00</seance>
|
||||
<seance day="mardi">20:30</seance>
|
||||
<seance day="mercredi">10:30</seance>
|
||||
<seance day="mercredi">14:50</seance>
|
||||
<seance day="mercredi">16:40</seance>
|
||||
<seance day="mercredi">18:50</seance>
|
||||
<seance day="mercredi">21:00</seance>
|
||||
<seance day="mercredi">22:20</seance>
|
||||
<seance day="jeudi">14:30</seance>
|
||||
<seance day="jeudi">18:00</seance>
|
||||
<seance day="jeudi">20:30</seance>
|
||||
<seance day="vendredi">13:30</seance>
|
||||
<seance day="vendredi">17:50</seance>
|
||||
<seance day="vendredi">20:30</seance>
|
||||
<seance day="samedi">10:30</seance>
|
||||
<seance day="samedi">14:50</seance>
|
||||
<seance day="samedi">16:40</seance>
|
||||
<seance day="samedi">18:50</seance>
|
||||
<seance day="samedi">21:00</seance>
|
||||
<seance day="samedi">22:20</seance>
|
||||
<seance day="dimanche">10:20</seance>
|
||||
<seance day="dimanche">13:30</seance>
|
||||
<seance day="dimanche">17:50</seance>
|
||||
<seance day="dimanche">20:20</seance>
|
||||
<seance day="dimanche">22:40</seance>
|
||||
</seances>
|
||||
</film>
|
||||
<film category="Science Fiction">
|
||||
<title>Le 5e élément</title>
|
||||
|
@ -236,31 +236,31 @@ Doublé par ses commanditaires, et obsédé par les risques qui pèsent sur Iren
|
|||
</notes>
|
||||
<synopsis>Au XXIII siècle, dans un univers étrange et coloré, où tout espoir de survie est impossible sans la découverte du cinquième élément, un héros affronte le mal pour sauver l'humanité.
|
||||
</synopsis>
|
||||
<séances>
|
||||
<séance jour="lundi">14:00</séance>
|
||||
<séance jour="lundi">19:40</séance>
|
||||
<séance jour="lundi">22:10</séance>
|
||||
<séance jour="mardi">14:00</séance>
|
||||
<séance jour="mardi">19:40</séance>
|
||||
<séance jour="mardi">22:10</séance>
|
||||
<séance jour="mercredi">14:00</séance>
|
||||
<séance jour="mercredi">16:40</séance>
|
||||
<séance jour="mercredi">19:40</séance>
|
||||
<séance jour="mercredi">22:10</séance>
|
||||
<séance jour="jeudi">14:00</séance>
|
||||
<séance jour="jeudi">19:40</séance>
|
||||
<séance jour="jeudi">22:10</séance>
|
||||
<séance jour="vendredi">14:00</séance>
|
||||
<séance jour="vendredi">19:40</séance>
|
||||
<séance jour="vendredi">22:10</séance>
|
||||
<séance jour="samedi">14:00</séance>
|
||||
<séance jour="samedi">16:40</séance>
|
||||
<séance jour="samedi">19:40</séance>
|
||||
<séance jour="samedi">22:10</séance>
|
||||
<séance jour="dimanche">10:20</séance>
|
||||
<séance jour="dimanche">14:00</séance>
|
||||
<séance jour="dimanche">16:40</séance>
|
||||
<séance jour="dimanche">20:20</séance>
|
||||
</séances>
|
||||
<seances>
|
||||
<seance day="lundi">14:00</seance>
|
||||
<seance day="lundi">19:40</seance>
|
||||
<seance day="lundi">22:10</seance>
|
||||
<seance day="mardi">14:00</seance>
|
||||
<seance day="mardi">19:40</seance>
|
||||
<seance day="mardi">22:10</seance>
|
||||
<seance day="mercredi">14:00</seance>
|
||||
<seance day="mercredi">16:40</seance>
|
||||
<seance day="mercredi">19:40</seance>
|
||||
<seance day="mercredi">22:10</seance>
|
||||
<seance day="jeudi">14:00</seance>
|
||||
<seance day="jeudi">19:40</seance>
|
||||
<seance day="jeudi">22:10</seance>
|
||||
<seance day="vendredi">14:00</seance>
|
||||
<seance day="vendredi">19:40</seance>
|
||||
<seance day="vendredi">22:10</seance>
|
||||
<seance day="samedi">14:00</seance>
|
||||
<seance day="samedi">16:40</seance>
|
||||
<seance day="samedi">19:40</seance>
|
||||
<seance day="samedi">22:10</seance>
|
||||
<seance day="dimanche">10:20</seance>
|
||||
<seance day="dimanche">14:00</seance>
|
||||
<seance day="dimanche">16:40</seance>
|
||||
<seance day="dimanche">20:20</seance>
|
||||
</seances>
|
||||
</film>
|
||||
</cinéma>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="synopsis" type="xsd:string" use="required"/>
|
||||
<xsd:element name="séances" use="required">
|
||||
<xsd:element name="seances" use="required">
|
||||
<xsd:complexType>
|
||||
<xsd:simpleType name="weekday" final="restriction">
|
||||
<xsd:restriction base="xs:string">
|
||||
|
@ -61,9 +61,9 @@
|
|||
</xsd:restriction>
|
||||
</xsd:simpleType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="séance" type="xsd:cinematime" minOccurs="1"/>
|
||||
<xsd:element name="seance" type="xsd:cinematime" minOccurs="1"/>
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="jour" type="xsd:weekday" use="required"/>
|
||||
<xsd:attribute name="day" type="xsd:weekday" use="required"/>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:sequence>
|
||||
|
|
53
src/data.rs
53
src/data.rs
|
@ -16,6 +16,7 @@ pub struct Film {
|
|||
duration: Option<u32>,
|
||||
notes: Vec<Note>,
|
||||
synopsis: Option<String>,
|
||||
seances: Vec<Seance>,
|
||||
}
|
||||
|
||||
impl Film {
|
||||
|
@ -32,6 +33,7 @@ impl Film {
|
|||
duration: None,
|
||||
notes: vec![],
|
||||
synopsis: None,
|
||||
seances: vec![],
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,6 +83,10 @@ impl Film {
|
|||
pub fn set_synopsis(&mut self, synopsis: &str) {
|
||||
self.synopsis = Some(synopsis.trim().to_string());
|
||||
}
|
||||
|
||||
pub fn add_seance(&mut self, seance: Seance) {
|
||||
self.seances.push(seance);
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
|
@ -134,3 +140,50 @@ impl Note {
|
|||
self.value = Some(value);
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub enum Day {
|
||||
Monday,
|
||||
Tuesday,
|
||||
Wednesday,
|
||||
Thursday,
|
||||
Friday,
|
||||
Saturday,
|
||||
Sunday,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Seance {
|
||||
day: Option<Day>,
|
||||
time: Option<String>,
|
||||
}
|
||||
|
||||
impl Seance {
|
||||
pub fn new() -> Self {
|
||||
Self {
|
||||
day: None,
|
||||
time: None,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn set_day(&mut self, attributes: &Vec<OwnedAttribute>) {
|
||||
if let Some(attribute) = attributes.get(0) {
|
||||
assert_eq!(attribute.name.local_name, "day");
|
||||
let day: Day = match attribute.value.trim() {
|
||||
"lundi" => Day::Monday,
|
||||
"mardi" => Day::Tuesday,
|
||||
"mercredi" => Day::Wednesday,
|
||||
"jeudi" => Day::Thursday,
|
||||
"vendredi" => Day::Friday,
|
||||
"samedi" => Day::Saturday,
|
||||
"dimanche" => Day::Sunday,
|
||||
_ => panic!("Wrong day {}", attribute.value.trim()),
|
||||
};
|
||||
self.day = Some(day);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn set_time(&mut self, time: &str) {
|
||||
self.time = Some(time.trim().to_string());
|
||||
}
|
||||
}
|
||||
|
|
12
src/main.rs
12
src/main.rs
|
@ -8,7 +8,7 @@ use xml::attribute::OwnedAttribute;
|
|||
use xml::reader::{EventReader, XmlEvent};
|
||||
|
||||
mod data;
|
||||
use data::{Actor, Film, Note};
|
||||
use data::{Actor, Film, Note, Day, Seance};
|
||||
|
||||
fn main() {
|
||||
let xml_file = File::open("cinema.xml").unwrap();
|
||||
|
@ -110,6 +110,16 @@ fn main() {
|
|||
}
|
||||
}
|
||||
}
|
||||
"seance" => {
|
||||
let mut seance = Seance::new();
|
||||
seance.set_day(&attributes);
|
||||
if let Ok(XmlEvent::Characters(name)) = parser.next() {
|
||||
if let Some(curr_film) = cinema.last_mut() {
|
||||
seance.set_time(&name);
|
||||
curr_film.add_seance(seance);
|
||||
}
|
||||
}
|
||||
}
|
||||
_ => (),
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue