diff options
| author | 2025-01-31 02:32:19 -0600 | |
|---|---|---|
| committer | 2025-01-31 02:32:19 -0600 | |
| commit | cdeee17c2be5b8b9a333b977b3e2d373b94dfe0a (patch) | |
| tree | 58ec48b5bfa9afe03ebbd9716f1f90841af914e9 /src/launcher/version.rs | |
| parent | Remove some unused imports but not all of them (diff) | |
do clippy stuff and change line endings
Diffstat (limited to 'src/launcher/version.rs')
| -rw-r--r-- | src/launcher/version.rs | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/src/launcher/version.rs b/src/launcher/version.rs index 328f0a9..49525b0 100644 --- a/src/launcher/version.rs +++ b/src/launcher/version.rs @@ -40,14 +40,9 @@ impl RemoteVersionList { async fn download_version(&self, ver: &VersionManifestVersion, path: &Path) -> Result<CompleteVersion, Box<dyn Error>> { // ensure parent directory exists info!("Downloading version {}.", ver.id); - match tokio::fs::create_dir_all(path.parent().expect("version .json has no parent (impossible)")).await { - Err(e) => { - if e.kind() != ErrorKind::AlreadyExists { - warn!("failed to create {} parent dirs: {e}", path.display()); - return Err(e.into()); - } - }, - Ok(()) => {} + if let Err(e) = tokio::fs::create_dir_all(path.parent().expect("version .json has no parent (impossible)")).await { + warn!("failed to create {} parent dirs: {e}", path.display()); + return Err(e.into()); } // download it @@ -254,7 +249,7 @@ impl VersionList { Self::create_dir_for(home).await?; let remote = RemoteVersionList::new().await?; - let local = LocalVersionList::load_versions(home.as_ref(), |s| remote.versions.contains_key(s)).await?; + let local = LocalVersionList::load_versions(home, |s| remote.versions.contains_key(s)).await?; Ok(VersionList { remote: Some(remote), @@ -280,16 +275,15 @@ impl VersionList { } pub fn get_version_lazy(&self, id: &str) -> VersionResult { - self.remote.as_ref() - .map_or(None, |r| r.versions.get(id).map(VersionResult::from)) + self.remote.as_ref().and_then(|r| r.versions.get(id).map(VersionResult::from)) .or_else(|| self.local.versions.get(id).map(VersionResult::from)) .unwrap_or(VersionResult::None) } pub fn get_profile_version_id<'v>(&self, ver: &'v ProfileVersion) -> Option<Cow<'v, str>> { match ver { - ProfileVersion::LatestRelease => self.remote.as_ref().map_or(None, |r| Some(Cow::Owned(r.latest.release.clone()))), - ProfileVersion::LatestSnapshot => self.remote.as_ref().map_or(None, |r| Some(Cow::Owned(r.latest.snapshot.clone()))), + ProfileVersion::LatestRelease => self.remote.as_ref().map(|r| Cow::Owned(r.latest.release.clone())), + ProfileVersion::LatestSnapshot => self.remote.as_ref().map(|r| Cow::Owned(r.latest.snapshot.clone())), ProfileVersion::Specific(ver) => Some(Cow::Borrowed(ver)) } } @@ -346,7 +340,7 @@ impl VersionList { let inherited_ver = match self.get_version_lazy(inherit.as_str()) { VersionResult::Complete(v) => Cow::Borrowed(v), VersionResult::Remote(v) => - Cow::Owned(self.load_remote_version(v).await.map_err(|e| VersionResolveError::Unknown(e))?), + Cow::Owned(self.load_remote_version(v).await.map_err(VersionResolveError::Unknown)?), VersionResult::None => { warn!("Cannot resolve version {}, it inherits an unknown version {inherit}", ver.id); return Err(VersionResolveError::MissingVersion(inherit)); |
