From c50a0f409d2df9cd1fefe87aac03eac2cd43d811 Mon Sep 17 00:00:00 2001 From: Eric Coissac Date: Mon, 27 Jan 2025 17:23:07 +0100 Subject: [PATCH] break the import cyccle --- pkg/{obiiter => obiitercsv}/csv.go | 2 +- pkg/obioptions/version.go | 2 +- pkg/obitax/csvtaxdump_write.go | 14 +++++++------- pkg/obitools/obicsv/csvoption.go | 4 ++-- pkg/obitools/obicsv/obicsv.go | 9 +++++---- pkg/obitools/obicsv/sequence.go | 17 +++++++++-------- pkg/obitools/obicsv/writer.go | 20 ++++++++++---------- pkg/obitools/obifind/iterator.go | 16 ++++++++-------- pkg/obitools/obifind/obifind.go | 6 +++--- 9 files changed, 46 insertions(+), 44 deletions(-) rename pkg/{obiiter => obiitercsv}/csv.go (99%) diff --git a/pkg/obiiter/csv.go b/pkg/obiitercsv/csv.go similarity index 99% rename from pkg/obiiter/csv.go rename to pkg/obiitercsv/csv.go index 9a1e8d2..41b189f 100644 --- a/pkg/obiiter/csv.go +++ b/pkg/obiitercsv/csv.go @@ -1,4 +1,4 @@ -package obiiter +package obiitercsv import ( "fmt" diff --git a/pkg/obioptions/version.go b/pkg/obioptions/version.go index 4c06358..64fd260 100644 --- a/pkg/obioptions/version.go +++ b/pkg/obioptions/version.go @@ -8,7 +8,7 @@ import ( // corresponds to the last commit, and not the one when the file will be // commited -var _Commit = "0a567f6" +var _Commit = "7c4042d" var _Version = "Release 4.2.0" // Version returns the version of the obitools package. diff --git a/pkg/obitax/csvtaxdump_write.go b/pkg/obitax/csvtaxdump_write.go index a6f14b1..024adb2 100644 --- a/pkg/obitax/csvtaxdump_write.go +++ b/pkg/obitax/csvtaxdump_write.go @@ -1,11 +1,11 @@ package obitax -// import ( -// "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiiter" -// ) +import ( + "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiitercsv" +) -// func WriteTaxonomyCSV(iterator obiiter.IBioSequence, -// terminalAction bool, filenames ...string) *obiiter.ICSVRecord { +func WriteTaxonomyCSV(iterator ITaxon, + terminalAction bool, filenames ...string) *obiitercsv.ICSVRecord { -// return nil -// } + return nil +} diff --git a/pkg/obitools/obicsv/csvoption.go b/pkg/obitools/obicsv/csvoption.go index 2440654..83bab4e 100644 --- a/pkg/obitools/obicsv/csvoption.go +++ b/pkg/obitools/obicsv/csvoption.go @@ -2,7 +2,7 @@ package obicsv import ( "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obidefault" - "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiiter" + "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiitercsv" ) // __options__ holds configuration options for processing. @@ -70,7 +70,7 @@ func MakeOptions(setters []WithOption) Options { csv_quality: false, csv_separator: ",", csv_navalue: "NA", - csv_keys: make(obiiter.CSVHeader, 0), + csv_keys: make(obiitercsv.CSVHeader, 0), csv_auto: false, source: "unknown", } diff --git a/pkg/obitools/obicsv/obicsv.go b/pkg/obitools/obicsv/obicsv.go index f7b174e..5fbe7f4 100644 --- a/pkg/obitools/obicsv/obicsv.go +++ b/pkg/obitools/obicsv/obicsv.go @@ -5,11 +5,12 @@ import ( "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obidefault" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiiter" + "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiitercsv" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obiconvert" ) func CLIWriteSequenceCSV(iterator obiiter.IBioSequence, - terminalAction bool, filenames ...string) *obiiter.ICSVRecord { + terminalAction bool, filenames ...string) *obiitercsv.ICSVRecord { if obiconvert.CLIProgressBar() { iterator = iterator.Speed("Writing CSV") @@ -42,12 +43,12 @@ func CLIWriteSequenceCSV(iterator obiiter.IBioSequence, } -func CLICSVWriter(iterator *obiiter.ICSVRecord, +func CLICSVWriter(iterator *obiitercsv.ICSVRecord, terminalAction bool, - options ...WithOption) *obiiter.ICSVRecord { + options ...WithOption) *obiitercsv.ICSVRecord { var err error - var newIter *obiiter.ICSVRecord + var newIter *obiitercsv.ICSVRecord if obiconvert.CLIOutPutFileName() != "-" { options = append(options, OptionFileName(obiconvert.CLIOutPutFileName())) diff --git a/pkg/obitools/obicsv/sequence.go b/pkg/obitools/obicsv/sequence.go index 9d0f6e9..12eb35c 100644 --- a/pkg/obitools/obicsv/sequence.go +++ b/pkg/obitools/obicsv/sequence.go @@ -6,11 +6,12 @@ import ( "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obidefault" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiiter" + "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiitercsv" ) -func CSVSequenceHeader(opt Options) obiiter.CSVHeader { +func CSVSequenceHeader(opt Options) obiitercsv.CSVHeader { keys := opt.CSVKeys() - record := make(obiiter.CSVHeader, 0, len(keys)+4) + record := make(obiitercsv.CSVHeader, 0, len(keys)+4) if opt.CSVId() { record.AppendField("id") @@ -45,12 +46,12 @@ func CSVSequenceHeader(opt Options) obiiter.CSVHeader { return record } -func CSVBatchFromSequences(batch obiiter.BioSequenceBatch, opt Options) obiiter.CSVRecordBatch { +func CSVBatchFromSequences(batch obiiter.BioSequenceBatch, opt Options) obiitercsv.CSVRecordBatch { keys := opt.CSVKeys() - csvslice := make([]obiiter.CSVRecord, batch.Len()) + csvslice := make([]obiitercsv.CSVRecord, batch.Len()) for i, sequence := range batch.Slice() { - record := make(obiiter.CSVRecord) + record := make(obiitercsv.CSVRecord) if opt.CSVId() { record["id"] = sequence.Id() @@ -108,10 +109,10 @@ func CSVBatchFromSequences(batch obiiter.BioSequenceBatch, opt Options) obiiter. csvslice[i] = record } - return obiiter.MakeCSVRecordBatch(batch.Source(), batch.Order(), csvslice) + return obiitercsv.MakeCSVRecordBatch(batch.Source(), batch.Order(), csvslice) } -func NewCSVSequenceIterator(iter obiiter.IBioSequence, options ...WithOption) *obiiter.ICSVRecord { +func NewCSVSequenceIterator(iter obiiter.IBioSequence, options ...WithOption) *obiitercsv.ICSVRecord { opt := MakeOptions(options) @@ -128,7 +129,7 @@ func NewCSVSequenceIterator(iter obiiter.IBioSequence, options ...WithOption) *o } } - newIter := obiiter.NewICSVRecord() + newIter := obiitercsv.NewICSVRecord() newIter.SetHeader(CSVSequenceHeader(opt)) nwriters := opt.ParallelWorkers() diff --git a/pkg/obitools/obicsv/writer.go b/pkg/obitools/obicsv/writer.go index 9d435a3..f7e92f4 100644 --- a/pkg/obitools/obicsv/writer.go +++ b/pkg/obitools/obicsv/writer.go @@ -7,13 +7,13 @@ import ( "os" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiformats" - "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiiter" + "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiitercsv" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiutils" log "github.com/sirupsen/logrus" ) -func FormatCVSBatch(batch obiiter.CSVRecordBatch, header obiiter.CSVHeader, navalue string) *bytes.Buffer { +func FormatCVSBatch(batch obiitercsv.CSVRecordBatch, header obiitercsv.CSVHeader, navalue string) *bytes.Buffer { buff := new(bytes.Buffer) csv := csv.NewWriter(buff) @@ -45,14 +45,14 @@ func FormatCVSBatch(batch obiiter.CSVRecordBatch, header obiiter.CSVHeader, nava return buff } -func WriteCSV(iterator *obiiter.ICSVRecord, +func WriteCSV(iterator *obiitercsv.ICSVRecord, file io.WriteCloser, - options ...WithOption) (*obiiter.ICSVRecord, error) { + options ...WithOption) (*obiitercsv.ICSVRecord, error) { opt := MakeOptions(options) file, _ = obiutils.CompressStream(file, opt.CompressedFile(), opt.CloseFile()) - newIter := obiiter.NewICSVRecord() + newIter := obiitercsv.NewICSVRecord() nwriters := opt.ParallelWorkers() @@ -66,7 +66,7 @@ func WriteCSV(iterator *obiiter.ICSVRecord, log.Debugf("Writing CSV file done") }() - ff := func(iterator *obiiter.ICSVRecord) { + ff := func(iterator *obiitercsv.ICSVRecord) { for iterator.Next() { batch := iterator.Get() @@ -109,8 +109,8 @@ func WriteCSV(iterator *obiiter.ICSVRecord, // os.Stdout as the output file, and the options slice. // // The function returns the same bio sequence iterator and an error if any occurred. -func WriteCSVToStdout(iterator *obiiter.ICSVRecord, - options ...WithOption) (*obiiter.ICSVRecord, error) { +func WriteCSVToStdout(iterator *obiitercsv.ICSVRecord, + options ...WithOption) (*obiitercsv.ICSVRecord, error) { // options = append(options, OptionDontCloseFile()) options = append(options, OptionCloseFile()) return WriteCSV(iterator, os.Stdout, options...) @@ -127,9 +127,9 @@ func WriteCSVToStdout(iterator *obiiter.ICSVRecord, // Returns: // - obiiter.IBioSequence: The updated biosequence iterator. // - error: Any error that occurred during the writing process. -func WriteCSVToFile(iterator *obiiter.ICSVRecord, +func WriteCSVToFile(iterator *obiitercsv.ICSVRecord, filename string, - options ...WithOption) (*obiiter.ICSVRecord, error) { + options ...WithOption) (*obiitercsv.ICSVRecord, error) { opt := MakeOptions(options) flags := os.O_WRONLY | os.O_CREATE diff --git a/pkg/obitools/obifind/iterator.go b/pkg/obitools/obifind/iterator.go index 660c0e1..7fb97d0 100644 --- a/pkg/obitools/obifind/iterator.go +++ b/pkg/obitools/obifind/iterator.go @@ -4,7 +4,7 @@ import ( "slices" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obidefault" - "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiiter" + "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiitercsv" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitax" ) @@ -192,12 +192,12 @@ func OptionsWithMetadata(values ...string) WithOption { return f } -func NewCSVTaxaIterator(iterator *obitax.ITaxon, options ...WithOption) *obiiter.ICSVRecord { +func NewCSVTaxaIterator(iterator *obitax.ITaxon, options ...WithOption) *obiitercsv.ICSVRecord { opt := MakeOptions(options) metakeys := make([]string, 0) - newIter := obiiter.NewICSVRecord() + newIter := obiitercsv.NewICSVRecord() newIter.Add(1) @@ -240,11 +240,11 @@ func NewCSVTaxaIterator(iterator *obitax.ITaxon, options ...WithOption) *obiiter go func() { o := 0 - data := make([]obiiter.CSVRecord, 0, batch_size) + data := make([]obiitercsv.CSVRecord, 0, batch_size) for iterator.Next() { taxon := iterator.Get() - record := make(obiiter.CSVRecord) + record := make(obiitercsv.CSVRecord) if opt.WithPattern() { record["query"] = taxon.MetadataAsString("query") @@ -282,15 +282,15 @@ func NewCSVTaxaIterator(iterator *obitax.ITaxon, options ...WithOption) *obiiter data = append(data, record) if len(data) >= batch_size { - newIter.Push(obiiter.MakeCSVRecordBatch(opt.Source(), o, data)) - data = make([]obiiter.CSVRecord, 0, batch_size) + newIter.Push(obiitercsv.MakeCSVRecordBatch(opt.Source(), o, data)) + data = make([]obiitercsv.CSVRecord, 0, batch_size) o++ } } if len(data) > 0 { - newIter.Push(obiiter.MakeCSVRecordBatch(opt.Source(), o, data)) + newIter.Push(obiitercsv.MakeCSVRecordBatch(opt.Source(), o, data)) } newIter.Done() diff --git a/pkg/obitools/obifind/obifind.go b/pkg/obitools/obifind/obifind.go index 68877c8..8fabf5c 100644 --- a/pkg/obitools/obifind/obifind.go +++ b/pkg/obitools/obifind/obifind.go @@ -2,7 +2,7 @@ package obifind import ( "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obidefault" - "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiiter" + "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obiitercsv" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitax" "git.metabarcoding.org/obitools/obitools4/obitools4/pkg/obitools/obicsv" @@ -40,7 +40,7 @@ func CLIFilterRankRestriction(iterator *obitax.ITaxon) *obitax.ITaxon { return iterator } -func CLICSVTaxaIterator(iterator *obitax.ITaxon) *obiiter.ICSVRecord { +func CLICSVTaxaIterator(iterator *obitax.ITaxon) *obiitercsv.ICSVRecord { if iterator == nil { return nil } @@ -60,6 +60,6 @@ func CLICSVTaxaIterator(iterator *obitax.ITaxon) *obiiter.ICSVRecord { return NewCSVTaxaIterator(iterator, options...) } -func CLICSVTaxaWriter(iterator *obitax.ITaxon, terminalAction bool) *obiiter.ICSVRecord { +func CLICSVTaxaWriter(iterator *obitax.ITaxon, terminalAction bool) *obiitercsv.ICSVRecord { return obicsv.CLICSVWriter(CLICSVTaxaIterator(iterator), terminalAction) }