Fix libimagdiary::{diaryid, diary, is_in_diary}::* for new StoreId interface

This commit is contained in:
Matthias Beyer 2016-08-25 20:00:17 +02:00
parent 63aa16de4e
commit ff89111d47
3 changed files with 7 additions and 7 deletions

View file

@ -45,8 +45,8 @@ impl<'a> Diary<'a> {
}
pub fn retrieve(&self, id: DiaryId) -> Result<Entry> {
self.store
.retrieve(id.into_storeid())
id.into_storeid()
.and_then(|id| self.store.retrieve(id))
.map(|fle| Entry::new(fle))
.map_err(|e| DE::new(DEK::StoreWriteError, Some(Box::new(e))))
}

View file

@ -9,6 +9,7 @@ use chrono::Timelike;
use libimagstore::storeid::StoreId;
use libimagstore::storeid::IntoStoreId;
use libimagstore::store::Result as StoreResult;
use module_path::ModuleEntryPath;
@ -118,7 +119,7 @@ impl Default for DiaryId {
impl IntoStoreId for DiaryId {
fn into_storeid(self) -> StoreId {
fn into_storeid(self) -> StoreResult<StoreId> {
let s : String = self.into();
ModuleEntryPath::new(s).into_storeid()
}

View file

@ -1,6 +1,5 @@
use std::path::PathBuf;
use libimagstore::store::Entry;
use libimagstore::storeid::StoreId;
pub trait IsInDiary {
@ -11,12 +10,12 @@ pub trait IsInDiary {
impl IsInDiary for Entry {
fn is_in_diary(&self, name: &str) -> bool {
self.get_location().is_in_diary(name)
self.get_location().clone().is_in_diary(name)
}
}
impl IsInDiary for PathBuf {
impl IsInDiary for StoreId {
fn is_in_diary(&self, name: &str) -> bool {
self.to_str().map(|s| s.contains(name)).unwrap_or(false)