Browse Source

Paving the way to saving the content

master
Julio Biason 6 years ago
parent
commit
664899436c
  1. 23
      src/main.rs

23
src/main.rs

@ -74,8 +74,20 @@ fn open_tag(current_state: State, tag: &str) -> State {
} }
} }
fn close_tag(current_state: State, _tag: &str) -> State { fn dump_resource(current_state: State) -> State {
current_state.remove_tag() let unnamed = String::from("content");
Path::new("data")
.join(current_state.title.as_ref().unwrap())
.join(current_state.filename.as_ref().unwrap_or(&unnamed));
current_state
}
fn close_tag(current_state: State, tag: &str) -> State {
match tag {
"resource" => dump_resource(current_state),
_ => current_state
}
} }
fn main() { fn main() {
@ -109,7 +121,12 @@ fn main() {
match state.tag { match state.tag {
Some(CurrentTag::Title) => state.with_title(create_note_storage(&data)), Some(CurrentTag::Title) => state.with_title(create_note_storage(&data)),
Some(CurrentTag::ResourceData) => state.with_data( Some(CurrentTag::ResourceData) => state.with_data(
data.into_bytes().iter().filter(|&x| *x != 13 && *x != 10).map(|&x| x).collect() data
.into_bytes()
.iter()
.filter(|&x| *x != 13 && *x != 10) // remove new lines, it is base 64, after all
.map(|&x| x)
.collect()
), ),
Some(CurrentTag::ResourceAttributesFilename) => state.with_filename(data), Some(CurrentTag::ResourceAttributesFilename) => state.with_filename(data),
_ => state _ => state

Loading…
Cancel
Save