Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions src/imports/fasta.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ use crate::models::{
strand::Strand,
};
use crate::operation_management::{end_operation, start_operation, OperationError};
use crate::progress_bar::{add_saving_operation_bar, get_progress_bar};
use indicatif::MultiProgress;
use crate::progress_bar::{add_saving_operation_bar, get_handler, get_progress_bar};
use noodles::fasta;
use rusqlite;
use rusqlite::Connection;
Expand All @@ -37,7 +36,7 @@ pub fn import_fasta<'a>(
conn: &Connection,
operation_conn: &Connection,
) -> Result<Operation, FastaError> {
let progress_bar = MultiProgress::new();
let progress_bar = get_handler();
let mut session = start_operation(conn);

let mut reader = fasta::io::reader::Builder.build_from_path(fasta).unwrap();
Expand Down
5 changes: 2 additions & 3 deletions src/imports/genbank.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ use crate::models::sample::Sample;
use crate::models::sequence::Sequence;
use crate::models::strand::Strand;
use crate::operation_management::{end_operation, start_operation};
use crate::progress_bar::{add_saving_operation_bar, get_progress_bar};
use crate::progress_bar::{add_saving_operation_bar, get_handler, get_progress_bar};
use gb_io::reader;
use indicatif::MultiProgress;
use rusqlite::Connection;
use std::io::Read;
use std::str;
Expand All @@ -29,7 +28,7 @@ pub fn import_genbank<'a, R>(
where
R: Read,
{
let progress_bar = MultiProgress::new();
let progress_bar = get_handler();
let mut session = start_operation(conn);
let reader = reader::SeqReader::new(data);
let collection = Collection::create(conn, collection.into().unwrap_or_default());
Expand Down
5 changes: 2 additions & 3 deletions src/imports/gfa.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,7 @@ use crate::models::{
sequence::Sequence,
strand::Strand,
};
use crate::progress_bar::{get_progress_bar, get_time_elapsed_bar};
use indicatif::MultiProgress;
use crate::progress_bar::{get_handler, get_progress_bar, get_time_elapsed_bar};

fn bool_to_strand(direction: bool) -> Strand {
if direction {
Expand All @@ -32,7 +31,7 @@ pub fn import_gfa<'a>(
sample_name: impl Into<Option<&'a str>>,
conn: &Connection,
) {
let progress_bar = MultiProgress::new();
let progress_bar = get_handler();
Collection::create(conn, collection_name);
let sample_name = sample_name.into();
if let Some(sample_name) = sample_name {
Expand Down
10 changes: 10 additions & 0 deletions src/progress_bar.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
use indicatif::{MultiProgress, ProgressBar, ProgressStyle};
use std::time::Duration;

pub fn get_handler() -> MultiProgress {
let p = MultiProgress::new();
#[cfg(test)]
{
use indicatif::ProgressDrawTarget;
p.set_draw_target(ProgressDrawTarget::hidden())
}
p
}

pub fn get_progress_bar(length: impl Into<Option<u64>>) -> ProgressBar {
let length = length.into();
let bar = if let Some(l) = length {
Expand Down
5 changes: 2 additions & 3 deletions src/updates/vcf.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ use crate::models::{
traits::*,
};
use crate::operation_management::{end_operation, start_operation, OperationError};
use crate::progress_bar::{add_saving_operation_bar, get_progress_bar};
use crate::progress_bar::{add_saving_operation_bar, get_handler, get_progress_bar};
use crate::{calculate_hash, parse_genotype};
use indicatif::MultiProgress;
use noodles::vcf;
use noodles::vcf::variant::record::info::field::Value as InfoValue;
use noodles::vcf::variant::record::samples::series::value::genotype::Phasing;
Expand Down Expand Up @@ -183,7 +182,7 @@ pub fn update_with_vcf<'a>(
operation_conn: &Connection,
coordinate_frame: impl Into<Option<&'a str>>,
) -> Result<Operation, VcfError> {
let progress_bar = MultiProgress::new();
let progress_bar = get_handler();
let coordinate_frame = coordinate_frame.into();

let mut session = start_operation(conn);
Expand Down