diff --git a/src/appstate.rs b/src/appstate.rs index bff8d96..6ea5a25 100644 --- a/src/appstate.rs +++ b/src/appstate.rs @@ -108,10 +108,7 @@ impl AppState { self.touch_progressbar(); - let uploading = self - .inner - .get_uploading(&self.http)? - .expect("we just checked!"); + let uploading = self.inner.expect_uploading(); debug!("{uploading:?}"); let chunk = uploading.read(buffer)?; diff --git a/src/cachefile.rs b/src/cachefile.rs index 897dfd7..8266f41 100644 --- a/src/cachefile.rs +++ b/src/cachefile.rs @@ -87,6 +87,12 @@ impl CacheFile { } } + pub fn expect_uploading(&mut self) -> &mut file::Uploading { + self.uploading + .as_mut() + .expect("expect_uploading called while not uploading") + } + pub fn peek_uploading(&self) -> Option<&file::Uploading> { self.uploading.as_ref() } @@ -103,21 +109,23 @@ impl CacheFile { } pub fn rewind_chunk(mut self) -> Option { - let Some(upl) = self.uploading.take() else { - panic!("rewind_chunk called while not uploading"); - }; - - self.uploading = Some(upl.rewind()?); + self.uploading = Some( + self.uploading + .take() + .expect("rewind_chunk called while not uploading") + .rewind()?, + ); Some(self) } pub fn abort_upload(&mut self) { - let Some(upl) = self.uploading.take() else { - panic!("abort_upload called while not uploading"); - }; - - self.files.push_front(upl.abort()); + self.files.push_front( + self.uploading + .take() + .expect("abort_upload called while not uploading") + .abort(), + ); } pub fn share_notify(&self, client: &impl Client) -> sharry::Result<()> {