Commit 998a81ee authored by Andreas Tille's avatar Andreas Tille
Browse files

Try to move packaging to Python3

parent 8539f68a
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
obitools (1.2.13+dfsg-3) UNRELEASED; urgency=medium

  * Use 2to3 to port from Python2 to Python3

 -- Andreas Tille <tille@debian.org>  Sun, 12 Jan 2020 15:05:34 +0100

obitools (1.2.13+dfsg-2) unstable; urgency=medium

  * Apply patch by Olivier Sallou to work around bug at cleanup
+6 −6
Original line number Diff line number Diff line
@@ -6,12 +6,12 @@ Section: science
Priority: optional
Build-Depends: debhelper-compat (= 12),
               dh-python,
               python-dev,
               python3-dev,
               python3-sphinx,
               cython,
               ipython,
               python-wheel,
               python-virtualenv
               cython3,
               ipython3,
               python3-wheel,
               python3-virtualenv
Standards-Version: 4.4.1
Vcs-Browser: https://salsa.debian.org/med-team/obitools
Vcs-Git: https://salsa.debian.org/med-team/obitools.git
@@ -20,7 +20,7 @@ Homepage: https://pypi.python.org/pypi/OBITools
Package: obitools
Architecture: amd64
Depends: ${misc:Depends},
         ${python:Depends},
         ${python3:Depends},
         ${shlibs:Depends},
         ${sphinxdoc:Depends},
         libjs-sphinxdoc
+20 −245
Original line number Diff line number Diff line
@@ -477,12 +477,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
 #
--- a/src/ali2consensus.py
+++ b/src/ali2consensus.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 
 '''
 Created on 30 sept. 2011
@@ -63,7 +63,7 @@ if __name__=='__main__':
     iupacDNA['B'] = ('C', 'G', 'T')
     iupacDNA['N'] = ('A', 'C', 'G', 'T')
@@ -507,12 +501,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         sumCounts = 0
--- a/src/ecodbtaxstat.py
+++ b/src/ecodbtaxstat.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`ecodbtaxstat`: gives taxonomic rank frequency of a given ``ecopcr`` database   
 =====================================================================================
@@ -65,12 +65,12 @@ if __name__=='__main__':
             i+=1
             stats[t]=stats.get(t,0)+1
@@ -534,12 +522,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
\ No newline at end of file
--- a/src/ecotag.py
+++ b/src/ecotag.py
@@ -1,4 +1,4 @@
-#!/usr/local/OBITools-1.1.22/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`ecotag`: assigns sequences to taxa
 ===========================================
@@ -320,7 +320,7 @@ if __name__=='__main__':
     taxonomy = loadTaxonomyDatabase(options)
     writer = sequenceWriterGenerator(options)
@@ -587,12 +569,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
                 
--- a/src/ecotaxspecificity.py
+++ b/src/ecotaxspecificity.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`ecotaxspecificity`: Evaluates barcode resolution
 =========================================================
@@ -112,7 +112,7 @@ if __name__=='__main__':
     digit = int(math.ceil(math.log10(ldb)))
     aligncount = ldb*(ldb+1)/2
@@ -660,12 +636,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
      #   print "Lost Sequences:"
--- a/src/ecotaxstat.py
+++ b/src/ecotaxstat.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`ecotaxstat` : getting the coverage of an ecoPCR output compared to the original ecoPCR database
 ========================================================================================================
@@ -24,6 +24,7 @@ from obitools.options import getOptionMa
 from obitools.ecopcr.options import loadTaxonomyDatabase
 
@@ -704,7 +674,7 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
 
--- a/src/extractreads.py
+++ b/src/extractreads.py
@@ -81,7 +81,7 @@ def cutQuality(s):
@@ -82,7 +82,7 @@ def cutQuality(s):
     
     def cumsum0(x):
         if x[0] < 0: x[0]=0
@@ -713,7 +683,7 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
             x[i]+=x[i-1]
             if x[i]<0: x[i]=0
         return x
@@ -114,8 +114,8 @@ def cutQuality(s):
@@ -115,8 +115,8 @@ def cutQuality(s):
 def cutDirectReverse(entries):
     first = []
     
@@ -724,7 +694,7 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         
     lens = [len(x) for x in first]
     clen = {}
@@ -137,7 +137,7 @@ def cutDirectReverse(entries):
@@ -138,7 +138,7 @@ def cutDirectReverse(entries):
     
 def seqPairs(direct,reverse):
     for d in direct:
@@ -733,7 +703,7 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         yield(cutQuality(d),cutQuality(r))
 
     
@@ -151,7 +151,7 @@ def seq2words(seqs,options):
@@ -152,7 +152,7 @@ def seq2words(seqs,options):
 
         ls = len(s) - options.length + 1
  
@@ -742,7 +712,7 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
             w =minword(s[wp:wp+options.length])
             if len(w)==options.length:
                 nw.add(w)              
@@ -186,23 +186,23 @@ if __name__ == '__main__':
@@ -187,23 +187,23 @@ if __name__ == '__main__':
     writer = sequenceWriterGenerator(options)
 
     if options.rdump is None:
@@ -771,7 +741,7 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
     
     while len(wordlist)>0:
         w = wordlist.pop()
@@ -224,17 +224,17 @@ if __name__ == '__main__':
@@ -225,17 +225,17 @@ if __name__ == '__main__':
         seqpair+=i
         
         if i:
@@ -795,7 +765,7 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
             
--- a/src/extractreads2.py
+++ b/src/extractreads2.py
@@ -47,8 +47,8 @@ def addWindowsOptions(optionManager):
@@ -48,8 +48,8 @@ def addWindowsOptions(optionManager):
 def cutDirectReverse(entries):
     first = []
     
@@ -806,7 +776,7 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         
     lens = [len(x) for x in first]
     clen = {}
@@ -70,7 +70,7 @@ def cutDirectReverse(entries):
@@ -71,7 +71,7 @@ def cutDirectReverse(entries):
     
 def seqPairs(direct,reverse):
     for d in direct:
@@ -815,7 +785,7 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         yield(d,r)
 
 if __name__ == '__main__':
@@ -99,7 +99,7 @@ if __name__ == '__main__':
@@ -100,7 +100,7 @@ if __name__ == '__main__':
             ft = ft + ft[0:options.length]
             rt = rt + rt[0:options.length]
         
@@ -826,12 +796,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
                 words.enter(w)
--- a/src/illuminapairedend.py
+++ b/src/illuminapairedend.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`illuminapairedend`: aligns paired-end Illumina reads
 =============================================================
@@ -52,7 +52,7 @@ from obitools.format.options import addO
     sequenceWriterGenerator
 
@@ -883,12 +847,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         writer(consensus)
--- a/src/ngsfilter.py
+++ b/src/ngsfilter.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`ngsfilter` : Assigns sequence records to the corresponding experiment/sample based on DNA tags and primers
 ===================================================================================================================
@@ -46,6 +46,7 @@ from obitools.options import getOptionMa
 from obitools.utils import ColumnFile
 from obitools.align import FreeEndGapFullMatch
@@ -958,12 +916,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
             message = 'No reverse primer match'
--- a/src/obiaddtaxids.py
+++ b/src/obiaddtaxids.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obiaddtaxids`: adds *taxids* to sequence records using an ecopcr database
 ==================================================================================
@@ -369,7 +369,7 @@ if __name__=='__main__':
                 try:
                     taxid = getTaxid(tax, species_name, restricting_ancestor)
@@ -1018,22 +970,8 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
                 if options.unidentified is not None and not genusFound :
-                    print>>options.unidentified,formatFasta(s)
+                    print(formatFasta(s), file=options.unidentified)
--- a/src/obiannotate.py
+++ b/src/obiannotate.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 
 '''
 :py:mod:`obiannotate`: adds/edits sequence record annotations
--- a/src/obiclean.py
+++ b/src/obiclean.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 
 '''
 :py:mod:`obiclean`: tags a set of sequences for PCR/sequencing errors identification 
@@ -165,7 +165,7 @@ if __name__ == '__main__':
     digit = int(math.ceil(math.log10(ldb)))
     aligncount = ldb*(ldb+1)/2
@@ -1115,22 +1053,8 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
             
             
             
--- a/src/obicomplement.py
+++ b/src/obicomplement.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 """
 :py:mod:`obicomplement`: reverse-complements sequences
 ======================================================
--- a/src/obiconvert.py
+++ b/src/obiconvert.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obiconvert`: converts sequence files to different output formats
 =========================================================================
@@ -47,7 +47,7 @@ if __name__ == '__main__':
             try:
                 writer(entry)
@@ -1142,12 +1066,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
             
--- a/src/obicount.py
+++ b/src/obicount.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obicount`: counts the number of sequence records 
 =========================================================
@@ -51,9 +51,9 @@ if __name__ == '__main__':
             count2+=1
             
@@ -1164,12 +1082,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
\ No newline at end of file
--- a/src/obicut.py
+++ b/src/obicut.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obicut`: trims sequences
 =================================
@@ -48,6 +48,6 @@ if __name__=='__main__':  # @UndefinedVa
 
     writer = sequenceWriterGenerator(options)
@@ -1181,12 +1093,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
\ No newline at end of file
--- a/src/obidistribute.py
+++ b/src/obidistribute.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obidistribute`: Distributes sequence records over several sequence records files 
 =========================================================================================
@@ -26,6 +26,7 @@ from obitools.format.options import addI
 import math
 from obitools.fasta import formatFasta
@@ -1222,12 +1128,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         out[i](seq)
--- a/src/obiextract.py
+++ b/src/obiextract.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obiextract`: extract samples from a dataset 
 ====================================================
@@ -56,7 +56,7 @@ def selectSamples(entry,key,samples):
         entry['count']=s 
         entry[key]=newsamples
@@ -1237,22 +1137,8 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
     else:
         entry=None
         
--- a/src/obigrep.py
+++ b/src/obigrep.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obigrep`: filters sequence file 
 ========================================
--- a/src/obihead.py
+++ b/src/obihead.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obihead`: extracts the first sequence records
 ======================================================
@@ -50,7 +50,7 @@ if __name__ == '__main__':
             writer(s)
             i+=1
@@ -1264,12 +1150,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         
--- a/src/obijoinpairedend.py
+++ b/src/obijoinpairedend.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obijoinpairedend`: Joins paired-end reads
 ==================================================
@@ -54,8 +54,8 @@ def addPairEndOptions(optionManager):
 def cutDirectReverse(entries):
     first = []
@@ -1292,12 +1172,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
 
--- a/src/obipr2.py
+++ b/src/obipr2.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obipr2`: converts silva database into an ecoPCR database
 =================================================================
@@ -35,7 +35,7 @@ from obitools.fasta import fastaIterator
 import sys
 from obitools.utils import universalOpen, ColumnFile
@@ -1391,12 +1265,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
\ No newline at end of file
--- a/src/obisample.py
+++ b/src/obisample.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obisample`: randomly resamples sequence records
 ========================================================
@@ -39,7 +39,7 @@ def addSampleOptions(optionManager):
                             )
  
@@ -1408,12 +1276,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
 
--- a/src/obiselect.py
+++ b/src/obiselect.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 """
 :py:mod:`obiselect` : selects representative sequence records
 =============================================================
@@ -18,6 +18,7 @@ from obitools.utils import progressBar
 import math
 import sys
@@ -1477,12 +1339,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
+    print(file=sys.stderr)
--- a/src/obisilva.py
+++ b/src/obisilva.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obisilva`: converts silva database into an ecoPCR database
 ===================================================================
@@ -24,7 +24,7 @@ from obitools.fasta import fastaIterator
 import sys
 from obitools.utils import universalOpen, ColumnFile
@@ -1582,22 +1438,8 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         
     ecoTaxonomyWriter(options.ecopcroutput,options.taxonomy,onlyLocal=True)
 
--- a/src/obisort.py
+++ b/src/obisort.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obisort`: Sorts sequence records according to the value of a given attribute 
 =====================================================================================
--- a/src/obisplit.py
+++ b/src/obisplit.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obisplit`: Splits a sequence file in a set of subfiles
 ===============================================================
@@ -30,6 +30,7 @@ from obitools.options import getOptionMa
 from obitools.format.options import addInOutputOption
 from obitools.fasta import formatFasta
@@ -1624,12 +1466,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
             
--- a/src/obistat.py
+++ b/src/obistat.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obistat`: computes basic statistics for attribute values 
 =================================================================
@@ -24,6 +24,7 @@ from obitools.options import getOptionMa
 from obitools.format.options import addInputFormatOption
 from obitools.ecopcr.options import addTaxonomyDBOptions, loadTaxonomyDatabase
@@ -1679,12 +1515,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
 ================================================
--- a/src/obitab.py
+++ b/src/obitab.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obitab`: converts a sequence file to a tabular file
 ============================================================
@@ -75,7 +75,7 @@ if __name__=='__main__':
     db = []
     for seq in entries: 
@@ -1712,22 +1542,8 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         
     
             
--- a/src/obitail.py
+++ b/src/obitail.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obitail`: extracts the last sequence records
 =====================================================
--- a/src/obitaxonomy.py
+++ b/src/obitaxonomy.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obitaxonomy`: manages taxonomic databases
 ==================================================
@@ -87,9 +87,9 @@ def addTaxonFromFile(name, rank, parent,
     parent= options.taxonomy._taxonomy[taxon[2]]
     
@@ -2484,12 +2300,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
             definition,info = parseFastaDescription(ds)
--- a/src/obitools/barcodecoverage/calcBc.py
+++ b/src/obitools/barcodecoverage/calcBc.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 Created on 24 nov. 2011
 
@@ -46,7 +46,7 @@ def main(amplifiedSeqs, seqsFromDB, kept
     
     BcValues = {}
@@ -2501,12 +2311,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         if g in amplifiedtaxabygroup :
--- a/src/obitools/barcodecoverage/drawBcTree.py
+++ b/src/obitools/barcodecoverage/drawBcTree.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 Created on 25 nov. 2011
 
@@ -100,9 +100,9 @@ def label(node):
 
 
@@ -2519,30 +2323,8 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
+                      cartoon=cartoonRankGenerator('family')))
                       #collapse=collapseBcGenerator(70))
         
--- a/src/obitools/barcodecoverage/findErrors.py
+++ b/src/obitools/barcodecoverage/findErrors.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 Created on 24 nov. 2011
 
--- a/src/obitools/barcodecoverage/readFiles.py
+++ b/src/obitools/barcodecoverage/readFiles.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 Created on 23 nov. 2011
 
--- a/src/obitools/barcodecoverage/writeBcTree.py
+++ b/src/obitools/barcodecoverage/writeBcTree.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 Created on 25 nov. 2011
 
@@ -32,7 +32,7 @@ def main(BcValues,errors,tax) :
 
     for taxon in BcValues:
@@ -4190,12 +3972,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
                              data[5],
--- a/src/obitools/solexaPairEnd.py
+++ b/src/obitools/solexaPairEnd.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 Created on 30 dec. 2009
 
@@ -26,8 +26,8 @@ def addSolexaPairEndOptions(optionManage
 def cutDirectReverse(entries):
     first = []
@@ -5367,12 +5143,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
         def addToZip(zf, path, zippath):
--- a/src/obiuniq.py
+++ b/src/obiuniq.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`obiuniq`: groups and dereplicates sequences  
 ====================================================
@@ -104,4 +104,4 @@ if __name__=='__main__':
     uniqSeq=usm(entries,taxonomy,options.merge,options.mergeids,options.categories)
  
@@ -5381,12 +5151,6 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
+        print(formatFasta(seq)) 
--- a/src/oligotag.py
+++ b/src/oligotag.py
@@ -1,4 +1,4 @@
-#!/usr/local/bin/python
+#!/usr/bin/python3
 '''
 :py:mod:`oligotag`: Designs a set of oligonucleotides with specified properties
 ===============================================================================
@@ -47,13 +47,13 @@ def addOligoTagOptions(optionManager):
 def edgeIterator(words,distmin=1,error=None):
     words=[x for x in words]
@@ -5447,3 +5211,14 @@ src/obitools/options/_bioseqfilter.pyx:31:19: undeclared name not builtin: reduc
+        print("-------------------------------------------", file=sys.stderr)
+        print(file=sys.stderr)
  
--- a/src/obitools/options/_bioseqfilter.pyx
+++ b/src/obitools/options/_bioseqfilter.pyx
@@ -1,7 +1,7 @@
 # cython: profile=True
 
 from obitools.options.taxonomyfilter import taxonomyFilterGenerator
-
+from functools import reduce
 
 def filterGenerator(options):
     taxfilter = taxonomyFilterGenerator(options)
+39 −39

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Diff line number Diff line
use_debian_libs
fix_path_interpreter
# 2to3.patch
2to3.patch
Loading