Only archive files after successful import

korrat
Jun 23, 2023, 4:54 PM
Y2R6OOYWSW6WUQMWWO4I2COCACW72VQ4EBFYJPCSGN7FSOMV5J5AC

Dependencies

  • [2] JUYXTWXP Change the name of metadata keys for imported data
  • [3] QNGOXZL4 Add a basic framework
  • [4] R5K55SCB Move tagging of directives with source to framework runner

Change contents

  • replacement in framework/src/runner.rs at line 147
    [3.3497][3.258:301]()
    ) -> Result<Option<RelativePathBuf>> {
    [3.3497]
    [3.301]
    destination: RelativePathBuf,
    ) -> Result<()> {
  • replacement in framework/src/runner.rs at line 150
    [3.327][3.327:356]()
    return Ok(None);
    [3.327]
    [3.3716]
    return Ok(());
  • replacement in framework/src/runner.rs at line 153
    [3.3727][3.357:519]()
    let relative_destination = archive::file_name(importer, file)?;
    let destination = relative_destination.to_logical_path(&self.archive_directory);
    [3.3727]
    [3.519]
    let destination = destination.to_logical_path(&self.archive_directory);
  • replacement in framework/src/runner.rs at line 170
    [3.4017][3.1058:1097]()
    Ok(Some(relative_destination))
    [3.4017]
    [3.4146]
    Ok(())
  • edit in framework/src/runner.rs at line 203
    [3.5239][3.5239:5240](),[3.5240][3.1098:1138](),[3.1138][3.5264:5354](),[3.5264][3.5264:5354]()
    let relative_destination = self
    .archive_file(importer, file)
    .wrap_err("while archiving file")?;
  • replacement in framework/src/runner.rs at line 204
    [3.1140][3.1140:1479]()
    let destination = relative_destination.as_ref().map_or_else(
    || file.to_path_buf(),
    |relative_destination| {
    let destination = relative_destination.to_path(&self.archive_directory);
    Utf8PathBuf::from_path_buf(destination).expect("path to be UTF-8")
    },
    );
    [3.1140]
    [3.5437]
    let destination = archive::file_name(importer, file)?;
  • replacement in framework/src/runner.rs at line 207
    [3.5486][3.1480:1555]()
    .extract(&destination, &[]) // TODO load existing transactions
    [3.5486]
    [3.5554]
    .extract(file, &[]) // TODO load existing transactions
  • replacement in framework/src/runner.rs at line 210
    [3.5639][3.1556:1664](),[3.1664][2.168:247](),[2.247][3.1738:1752](),[3.1738][3.1738:1752]()
    if let Some(path) = relative_destination {
    for directive in &mut extracted_directives {
    directive.add_meta(common_keys::IMPORTED_FROM, path.as_str());
    }
    [3.5639]
    [3.1752]
    for directive in &mut extracted_directives {
    directive.add_meta(common_keys::IMPORTED_FROM, destination.as_str());
  • edit in framework/src/runner.rs at line 213
    [3.1762]
    [3.1762]
    self.archive_file(importer, file, destination)
    .wrap_err("while archiving file")?;