diff options
Diffstat (limited to 'src/metadata.rs')
-rw-r--r-- | src/metadata.rs | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/src/metadata.rs b/src/metadata.rs index 7130517..7692434 100644 --- a/src/metadata.rs +++ b/src/metadata.rs @@ -28,12 +28,9 @@ impl<'a> MetadataParser<'a> { return None; } - let (name, version) = split_string(self.string(self.double(0x10))); + let (name, version) = split_name_version(self.string(self.double(0x10))); let authors = self.string(self.double(0x12)).map(|string| { - string.lines().map(|line| { - let (name, year) = split_string(Some(line.to_string())); - Author { name: name.unwrap(), year } - }).collect() + string.lines().map(|line| line.to_string()).collect() }); Some( ProgramMetadata { @@ -89,9 +86,9 @@ impl<'a> MetadataParser<'a> { } } -fn split_string(string: Option<String>) -> (Option<String>, Option<String>) { +fn split_name_version(string: Option<String>) -> (Option<String>, Option<String>) { if let Some(string) = string { - match string.split_once(", ") { + match string.split_once('/') { Some((left, right)) => (Some(left.to_string()), Some(right.to_string())), None => (Some(string), None), } @@ -120,7 +117,7 @@ pub struct ProgramMetadata { pub required_devices: u16, pub name: Option<String>, pub version: Option<String>, - pub authors: Option<Vec<Author>>, + pub authors: Option<Vec<String>>, pub description: Option<String>, pub path_buffer: Option<usize>, pub small_icon: Option<[u8; 72]>, @@ -128,9 +125,3 @@ pub struct ProgramMetadata { pub bg_colour: Option<Colour>, pub fg_colour: Option<Colour>, } - - -pub struct Author { - pub name: String, - pub year: Option<String>, -} |