mirror of
https://github.com/pcvolkmer/osc-variant.git
synced 2025-04-19 19:56:50 +00:00
Strip content that is included in system library
This commit is contained in:
parent
7d6a6ee9b3
commit
af4ec8898a
@ -74,6 +74,12 @@ nach Namen zu sortieren.
|
||||
Dies erlaubt eine konsistente Reihenfolge der Einträge, wodurch ein direkter Vergleich mit Vorversionen ermöglicht wird.
|
||||
ACHTUNG: Es kann sein, dass dadurch ein Import der resultierenden OSC-Datei nicht mehr möglich ist, da das genaue Verhalten des Imports aktuell noch nicht bekannt ist.
|
||||
|
||||
#### Entfernen von Inhalten der Systembibliothek bei Modifikation
|
||||
|
||||
über die experimentelle Option `--x-strip` ist es möglich, die in der OSC-Datei enthaltenen und beim Import nicht genutzten Inhalte aus der Systembibliothek zu entfernen.
|
||||
|
||||
Hierbei werden alle Inhalte entfernt, die im Ordner "ONKOSTAR Bibliothek" enthalten sind, beim Import jedoch ignoriert werden.
|
||||
|
||||
## Profile
|
||||
|
||||
Zum Erstellen von Varianten einer OSC-Datei wird eine Profildatei im YAML-Format verwendet.
|
||||
|
@ -66,6 +66,11 @@ pub enum Command {
|
||||
help = "EXPERIMENTELL: Sortiere Kataloge und Formulare nach Name (Optional).\nKann negative Auswirkungen auf den ordnungsgemäßen Import haben."
|
||||
)]
|
||||
sorted: bool,
|
||||
#[arg(
|
||||
long = "x-strip",
|
||||
help = "EXPERIMENTELL: Entferne Einträge aus der Systembibliothek die nicht importiert werden (Optional).\nKann negative Auswirkungen auf den ordnungsgemäßen Import haben."
|
||||
)]
|
||||
strip: bool,
|
||||
},
|
||||
#[command(about = "Vergleiche zwei Dateien anhand der Revision der enthaltenen Inhalte")]
|
||||
Diff {
|
||||
|
@ -130,6 +130,7 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||
outputfile,
|
||||
compact,
|
||||
sorted,
|
||||
strip,
|
||||
} => {
|
||||
let data = &mut read_inputfile(inputfile)?;
|
||||
|
||||
@ -144,6 +145,10 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||
data.sorted();
|
||||
}
|
||||
|
||||
if strip {
|
||||
data.strip_system_library_content();
|
||||
}
|
||||
|
||||
let mut buf = String::new();
|
||||
|
||||
let mut serializer = Serializer::new(&mut buf);
|
||||
|
@ -172,6 +172,24 @@ impl OnkostarEditor {
|
||||
});
|
||||
}
|
||||
|
||||
pub fn strip_system_library_content(&mut self) {
|
||||
self.editor
|
||||
.property_catalogue
|
||||
.retain(|e| !e.is_system_library_content());
|
||||
|
||||
self.editor
|
||||
.data_catalogue
|
||||
.retain(|e| !e.is_system_library_content());
|
||||
|
||||
self.editor
|
||||
.data_form
|
||||
.retain(|e| !e.is_system_library_content());
|
||||
|
||||
self.editor
|
||||
.unterformular
|
||||
.retain(|e| !e.is_system_library_content());
|
||||
}
|
||||
|
||||
pub fn print_diff(&mut self, other: &mut Self, strict: bool) {
|
||||
println!();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user