diff --git a/hammond-data/src/index_feed.rs b/hammond-data/src/index_feed.rs index 077aaf4..52b3283 100644 --- a/hammond-data/src/index_feed.rs +++ b/hammond-data/src/index_feed.rs @@ -45,7 +45,7 @@ fn index_episode(con: &SqliteConnection, ep: &NewEpisode) -> Result<()> { { foo.set_title(ep.title); foo.set_description(ep.description); - foo.set_published_date(ep.published_date.clone()); + foo.set_published_date(ep.published_date.as_ref().map(|x| x.as_str())); foo.set_guid(ep.guid); foo.set_length(ep.length); foo.set_epoch(ep.epoch); @@ -150,7 +150,6 @@ fn index_channel_items( } // TODO: maybe refactor into an Iterator for lazy evaluation. -// TODO: After fixing etag/lmod, add sent_etag:bool arg and logic to bypass it. pub fn fetch_feeds( connection: Arc>, force: bool, diff --git a/hammond-data/src/models.rs b/hammond-data/src/models.rs index c2b1125..8355128 100644 --- a/hammond-data/src/models.rs +++ b/hammond-data/src/models.rs @@ -65,10 +65,8 @@ impl Episode { self.published_date.as_ref().map(|s| s.as_str()) } - // FIXME: make the setter accept &str again - pub fn set_published_date(&mut self, value: Option) { - // self.published_date = value.map(|x| x.to_string()); - self.published_date = value; + pub fn set_published_date(&mut self, value: Option<&str>) { + self.published_date = value.map(|x| x.to_string().to_owned()); } pub fn guid(&self) -> Option<&str> { @@ -228,7 +226,6 @@ pub struct NewEpisode<'a> { pub uri: Option<&'a str>, pub local_uri: Option<&'a str>, pub description: Option<&'a str>, - // FIXME: make it &str again pub published_date: Option, pub length: Option, pub guid: Option<&'a str>,