mirror of
https://github.com/rustic-rs/rustic.git
synced 2025-10-26 11:18:51 +00:00
from_backend for IndexFile
This commit is contained in:
parent
58f1948c60
commit
66e8649d5d
16
src/main.rs
16
src/main.rs
@ -18,25 +18,13 @@ fn main() -> Result<()> {
|
||||
let args: Vec<String> = env::args().collect();
|
||||
|
||||
let be = LocalBackend::new(&args[1]);
|
||||
|
||||
// let key = find_key_in_backend(&be, "test", Some(Id::from_hex(&args[2])?))?;
|
||||
let key = repo::find_key_in_backend(&be, &args[2], None)?;
|
||||
|
||||
let be = DecryptBackend::new(be, key);
|
||||
|
||||
let id = Id::from_hex(&args[3])?;
|
||||
let dec = be
|
||||
.read_full(FileType::Index, id)
|
||||
.with_context(|| format!("Error reading {}", id.to_hex()))?;
|
||||
println!("{}", String::from_utf8_lossy(&dec));
|
||||
let index = IndexFile::from_backend(&be, id)?;
|
||||
|
||||
let de = serde_json::from_slice::<IndexFile>(&dec).unwrap();
|
||||
|
||||
for bi in de.iter() {
|
||||
println!("{:?}", bi);
|
||||
}
|
||||
|
||||
let blob = de
|
||||
let blob = index
|
||||
.get_blob(Blob {
|
||||
tpe: BlobType::Tree,
|
||||
id: Id::from_hex("72e8cb97b980f840cd2fe0b0bfdaf8c7882fb93efef6e3130d199c004fd493ac")?,
|
||||
|
||||
@ -1,9 +1,11 @@
|
||||
use anyhow::Result;
|
||||
use std::iter::Iterator;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::Id;
|
||||
use crate::backend::{FileType, ReadBackend};
|
||||
use crate::blob::{Blob, BlobInformation, BlobType, IndexEntry};
|
||||
use crate::id::Id;
|
||||
use crate::index::ReadIndex;
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
@ -13,6 +15,14 @@ pub struct IndexFile {
|
||||
packs: Vec<PackIndex>,
|
||||
}
|
||||
|
||||
impl IndexFile {
|
||||
/// Get an IndexFile from the backend
|
||||
pub fn from_backend<B: ReadBackend>(be: &B, id: Id) -> Result<Self> {
|
||||
let data = be.read_full(FileType::Index, id)?;
|
||||
Ok(serde_json::from_slice(&data)?)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize, Deserialize)]
|
||||
struct PackIndex {
|
||||
id: Id,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user