summaryrefslogtreecommitdiffstats
path: root/src/seqfile.rs
diff options
context:
space:
mode:
authorNora <nora.widdecke@tu-bs.de>2019-01-12 15:07:38 +0100
committerNora <nora.widdecke@tu-bs.de>2019-01-12 16:35:11 +0100
commitc3da66e3a6fb6232214a52da3b419396cd552776 (patch)
tree91bf473b440434f5f0b213041ba89ffcb9fad6cf /src/seqfile.rs
parentdbc6a2bb978d15eea8093f83c8a5826bbdee85f4 (diff)
split off seqfile handling from seq.rs
Diffstat (limited to 'src/seqfile.rs')
-rw-r--r--src/seqfile.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/seqfile.rs b/src/seqfile.rs
new file mode 100644
index 0000000..1f1abc8
--- /dev/null
+++ b/src/seqfile.rs
@@ -0,0 +1,28 @@
+extern crate atty;
+
+use std::fs::rename;
+use std::io;
+
+use defaults::*;
+use utils::fileutil;
+
+pub fn write_to_seqfile(lines: &str) {
+ let tmpfilename = get_datafile("tmpseq");
+
+ if let Err(error) = fileutil::write_file(&tmpfilename, lines) {
+ error!("Could not write seqfile: {}", error);
+ return
+ }
+
+ let seqfile = get_seqfile();
+ if let Err(error) = rename(tmpfilename, seqfile) {
+ error!("{}", error)
+ }
+}
+
+pub fn read_seqfile() -> io::Result<impl Iterator<Item = String>> {
+ let seqfile = get_seqfile();
+ debug!("Reading sequence file: {}", seqfile.to_string_lossy());
+ fileutil::read_lines_from_file(&seqfile)
+}
+