Bonjour, j'essaye de me faciliter la vie suite à une mise à jour d'un logiciel de manipulation/génération 3D.
Depuis cette mise à jour les "caméras" foutent la merde et il m'est impossible de charger mes productions, l'UI se bloque direct et je suis bon à "killer" le process.
Pour pallier à ce comportement il faut retirer les caméras de tous les fichiers .duf (qui sont en fait du zip/rar).
Le problème c'est que le "duf file format" est une véritable merde et ça prend quand j'ai plus d'une dizaine de caméras des heures pour enlever les caméras, sans compter que des fois ça foire et il faut tout recommencer à partir des sources :{
Du coup je cherche à automatiser l'effacement de toutes les caméras des scènes avec un outil écrit en Rust.
Pour le fun...
Ce code fonctionne mais en fait non... dans mon dossier tmp j'ai rien, pas d'erreur (j'en ai eu du style "no valid central directory" truc machin incompréhensible mais j'en ai plus)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 pub fn AnalyzeThisFile(targetfile: &str) -> Result<bool, Error> { if fs::exists(format!("{}/{}",PREFIX,targetfile)).is_ok() { println!("{}", "Found".truecolor(255, 170, 127).bold()); let openedfile = File::open(format!("{}/{}", PREFIX, targetfile))?; let filesize :u64 = openedfile.metadata().unwrap().len(); println!("Size: {} Mb",filesize/1024); // the .duf is a "ark" (zip) file if fs::exists(format!("{}",TMP)).is_err() { fs::create_dir(format!("{}", TMP))?; } let filedesc = File::open(format!("{}/{}",PREFIX,targetfile))?; let mut zip = zip::ZipArchive::new(filedesc)?; zip.extract(&TMP)?; // I think that we shouldn't put the whole content to memory but I'm lazy } Ok(true) }
Sous linux Kate ouvre le fichier .duf directement mais si j'attaque en Rust directement le fichier .duf c'est mort, il faut donc extraire le fichier qui se trouve dans l'archive (visible avec Ark).
Bon je pourrais faire un script pour d'abord extraire tous les fichiers .duf dans tmp puis avec rust attaquer les fichiers, mais je pense que c'est mieux de tout faire avec Rust si c'est ppossible évidemment...
Partager