Permalink
Browse files

Add: from __future__ import print_statement

This is currently redundant as we are carefully only
using this simple print style which is both a print
statement (with redundant brackets) under Python 2
and a print function under Python 3:

print(variable)

However, adding the __future__ import to any file using
a print should catch any accidental usage of the print
statement in the near future (even if not testing under
Python 3 where it would be spotted since we've turned
off the print fixer during the 2to3 conversion).

This was automated as follows:

<python>
MAGIC = "from __future__ import print_function"

import os
import sys

def should_mark(filename):
    handle = open(filename, "rU")
    lines = [line.strip() for line in handle if "print" in line]
    handle.close()
    if MAGIC in lines:
        #print("%s is marked" % filename)
        return False
    if "print" in lines:
        print("TODO - %s has a naked print" % filename)
        sys.exit(1)
    for line in lines:
        if "print" not in line:
            continue
        #print(line)
        line = line.strip(" #")
        if line.startswith(">>>") or line.startswith("..."):
            #doctest
            line = line[3:].strip()
        if line.startswith("print ") or line.startswith("print("):
            return True
    print("%s has no print statements" % filename)
    return False

def mark_file(filename, marker=MAGIC):
    with open(filename, "rU") as h:
        lines = list(h.readlines())
    with open(filename, "w") as h:
        while (lines[0].startswith("#") or not lines[0].strip()):
            h.write(lines.pop(0))
        if lines[0].startswith('"""') or lines[0].startswith('r"""'):
            # Module docstring
            if lines[0].strip() == '"""':
                print("Non-PEP8 module docstring in %s" % filename)
            if lines[0].rstrip().endswith('"""') and lines[0].strip() != '"""':
                # One liner
                print("One line module docstring in %s" % filename)
                h.write(lines.pop(0))
            else:
                h.write(lines.pop(0))
                while not lines[0].strip().endswith('"""'):
                    h.write(lines.pop(0))
                h.write(lines.pop(0))
        while (lines[0].startswith("#") or not lines[0].strip()):
            h.write(lines.pop(0))
        h.write(marker + "\n\n")
        h.write("".join(lines))

for dirpath, dirnames, filenames in os.walk("."):
    if dirpath.startswith("./build/"):
        continue
    for f in filenames:
        if not f.endswith(".py"):
            continue
        f = os.path.join(dirpath, f)
        if should_mark(f):
            print("Marking %s" % f)
            mark_file(f)
</python>
  • Loading branch information...
1 parent b758767 commit de12c5e08fc44d9c158954bb4b1d5f98cfb84c69 @peterjc peterjc committed Sep 9, 2013
Showing with 422 additions and 0 deletions.
  1. +2 −0 Bio/Align/AlignInfo.py
  2. +2 −0 Bio/Align/Applications/_ClustalOmega.py
  3. +2 −0 Bio/Align/Applications/_Clustalw.py
  4. +2 −0 Bio/Align/Applications/_Dialign.py
  5. +2 −0 Bio/Align/Applications/_Mafft.py
  6. +2 −0 Bio/Align/Applications/_Muscle.py
  7. +2 −0 Bio/Align/Applications/_Prank.py
  8. +2 −0 Bio/Align/Applications/_Probcons.py
  9. +2 −0 Bio/Align/Applications/_TCoffee.py
  10. +2 −0 Bio/Align/Generic.py
  11. +2 −0 Bio/Align/__init__.py
  12. +2 −0 Bio/AlignIO/ClustalIO.py
  13. +2 −0 Bio/AlignIO/EmbossIO.py
  14. +2 −0 Bio/AlignIO/FastaIO.py
  15. +2 −0 Bio/AlignIO/Interfaces.py
  16. +2 −0 Bio/AlignIO/NexusIO.py
  17. +2 −0 Bio/AlignIO/PhylipIO.py
  18. +2 −0 Bio/AlignIO/StockholmIO.py
  19. +2 −0 Bio/AlignIO/__init__.py
  20. +2 −0 Bio/Application/__init__.py
  21. +2 −0 Bio/Blast/Applications.py
  22. +2 −0 Bio/Blast/NCBIStandalone.py
  23. +2 −0 Bio/Blast/NCBIWWW.py
  24. +2 −0 Bio/Blast/NCBIXML.py
  25. +2 −0 Bio/Data/CodonTable.py
  26. +2 −0 Bio/DocSQL.py
  27. +2 −0 Bio/Emboss/Applications.py
  28. +2 −0 Bio/Entrez/__init__.py
  29. +2 −0 Bio/FSSP/__init__.py
  30. +2 −0 Bio/File.py
  31. +2 −0 Bio/GA/Evolver.py
  32. +2 −0 Bio/GenBank/Scanner.py
  33. +2 −0 Bio/GenBank/__init__.py
  34. +2 −0 Bio/Geo/Record.py
  35. +2 −0 Bio/Graphics/GenomeDiagram/_AbstractDrawer.py
  36. +2 −0 Bio/Graphics/GenomeDiagram/_CircularDrawer.py
  37. +2 −0 Bio/Graphics/GenomeDiagram/_Colors.py
  38. +2 −0 Bio/Graphics/GenomeDiagram/_FeatureSet.py
  39. +2 −0 Bio/Graphics/GenomeDiagram/_Graph.py
  40. +2 −0 Bio/Graphics/GenomeDiagram/_GraphSet.py
  41. +2 −0 Bio/Graphics/GenomeDiagram/_LinearDrawer.py
  42. +2 −0 Bio/Graphics/GenomeDiagram/_Track.py
  43. +2 −0 Bio/HMM/Utilities.py
  44. +2 −0 Bio/HotRand.py
  45. +2 −0 Bio/KDTree/KDTree.py
  46. +2 −0 Bio/KEGG/Compound/__init__.py
  47. +2 −0 Bio/KEGG/Enzyme/__init__.py
  48. +2 −0 Bio/LogisticRegression.py
  49. +2 −0 Bio/MaxEntropy.py
  50. +2 −0 Bio/Medline/__init__.py
  51. +2 −0 Bio/Motif/Applications/_AlignAce.py
  52. +2 −0 Bio/Motif/Applications/_XXmotif.py
  53. +2 −0 Bio/Motif/Parsers/MEME.py
  54. +2 −0 Bio/Motif/_Motif.py
  55. +2 −0 Bio/Motif/__init__.py
  56. +2 −0 Bio/NMR/xpktools.py
  57. +2 −0 Bio/NaiveBayes.py
  58. +2 −0 Bio/NeuralNetwork/Gene/Schema.py
  59. +2 −0 Bio/NeuralNetwork/StopTraining.py
  60. +2 −0 Bio/Nexus/Nexus.py
  61. +2 −0 Bio/Nexus/Trees.py
  62. +2 −0 Bio/PDB/AbstractPropertyMap.py
  63. +2 −0 Bio/PDB/DSSP.py
  64. +2 −0 Bio/PDB/FragmentMapper.py
  65. +2 −0 Bio/PDB/HSExposure.py
  66. +2 −0 Bio/PDB/MMCIF2Dict.py
  67. +2 −0 Bio/PDB/MMCIFParser.py
  68. +2 −0 Bio/PDB/NACCESS.py
  69. +2 −0 Bio/PDB/NeighborSearch.py
  70. +2 −0 Bio/PDB/PDBList.py
  71. +2 −0 Bio/PDB/PDBParser.py
  72. +2 −0 Bio/PDB/Polypeptide.py
  73. +2 −0 Bio/PDB/ResidueDepth.py
  74. +2 −0 Bio/PDB/Selection.py
  75. +2 −0 Bio/PDB/StructureAlignment.py
  76. +2 −0 Bio/PDB/Superimposer.py
  77. +2 −0 Bio/PDB/Vector.py
  78. +2 −0 Bio/PDB/parse_pdb_header.py
  79. +2 −0 Bio/Phylo/Applications/_Fasttree.py
  80. +2 −0 Bio/Phylo/Applications/_Raxml.py
  81. +2 −0 Bio/Phylo/PAML/_paml.py
  82. +2 −0 Bio/Phylo/PAML/codeml.py
  83. +2 −0 Bio/Phylo/_io.py
  84. +2 −0 Bio/PopGen/FDist/Async.py
  85. +2 −0 Bio/PopGen/FDist/Utils.py
  86. +2 −0 Bio/PopGen/SimCoal/Template.py
  87. +2 −0 Bio/Restriction/PrintFormat.py
  88. +2 −0 Bio/Restriction/Restriction.py
  89. +2 −0 Bio/Restriction/_Update/RestrictionCompiler.py
  90. +2 −0 Bio/Restriction/_Update/Update.py
  91. +2 −0 Bio/SCOP/Raf.py
  92. +2 −0 Bio/SCOP/__init__.py
  93. +2 −0 Bio/SVDSuperimposer/SVDSuperimposer.py
  94. +2 −0 Bio/SearchIO/__init__.py
  95. +2 −0 Bio/SearchIO/_model/hit.py
  96. +2 −0 Bio/SearchIO/_model/hsp.py
  97. +2 −0 Bio/SearchIO/_model/query.py
  98. +2 −0 Bio/Seq.py
  99. +2 −0 Bio/SeqFeature.py
  100. +2 −0 Bio/SeqIO/AceIO.py
  101. +2 −0 Bio/SeqIO/FastaIO.py
  102. +2 −0 Bio/SeqIO/IgIO.py
  103. +2 −0 Bio/SeqIO/InsdcIO.py
  104. +2 −0 Bio/SeqIO/Interfaces.py
  105. +2 −0 Bio/SeqIO/PhdIO.py
  106. +2 −0 Bio/SeqIO/PirIO.py
  107. +2 −0 Bio/SeqIO/QualityIO.py
  108. +2 −0 Bio/SeqIO/SeqXmlIO.py
  109. +2 −0 Bio/SeqIO/SffIO.py
  110. +2 −0 Bio/SeqIO/SwissIO.py
  111. +2 −0 Bio/SeqIO/TabIO.py
  112. +2 −0 Bio/SeqIO/__init__.py
  113. +2 −0 Bio/SeqIO/_index.py
  114. +2 −0 Bio/SeqRecord.py
  115. +2 −0 Bio/SeqUtils/CheckSum.py
  116. +2 −0 Bio/SeqUtils/CodonUsage.py
  117. +2 −0 Bio/SeqUtils/MeltingTemp.py
  118. +2 −0 Bio/SeqUtils/ProtParam.py
  119. +2 −0 Bio/SeqUtils/__init__.py
  120. +2 −0 Bio/Sequencing/Ace.py
  121. +2 −0 Bio/Sequencing/Applications/_Novoalign.py
  122. +2 −0 Bio/Sequencing/Applications/_bwa.py
  123. +2 −0 Bio/Statistics/lowess.py
  124. +2 −0 Bio/SubsMat/__init__.py
  125. +2 −0 Bio/SwissProt/KeyWList.py
  126. +2 −0 Bio/SwissProt/__init__.py
  127. +2 −0 Bio/TogoWS/__init__.py
  128. +2 −0 Bio/UniGene/UniGene.py
  129. +2 −0 Bio/Wise/__init__.py
  130. +2 −0 Bio/Wise/dnal.py
  131. +2 −0 Bio/Wise/psw.py
  132. +2 −0 Bio/_utils.py
  133. +2 −0 Bio/bgzf.py
  134. +2 −0 Bio/bxy.py
  135. +2 −0 Bio/motifs/__init__.py
  136. +2 −0 Bio/motifs/applications/_alignace.py
  137. +2 −0 Bio/motifs/applications/_xxmotif.py
  138. +2 −0 Bio/motifs/jaspar/db.py
  139. +2 −0 Bio/motifs/mast.py
  140. +2 −0 Bio/motifs/meme.py
  141. +2 −0 Bio/pairwise2.py
  142. +2 −0 BioSQL/Loader.py
  143. +2 −0 Doc/examples/ACT_example.py
  144. +2 −0 Doc/examples/clustal_run.py
  145. +2 −0 Doc/examples/fasta_dictionary.py
  146. +2 −0 Doc/examples/fasta_iterator.py
  147. +2 −0 Doc/examples/getgene.py
  148. +2 −0 Doc/examples/make_subsmat.py
  149. +2 −0 Doc/examples/swissprot.py
  150. +2 −0 Doc/examples/www_blast.py
  151. +2 −0 Scripts/GenBank/check_output.py
  152. +2 −0 Scripts/GenBank/check_output_simple.py
  153. +2 −0 Scripts/GenBank/find_parser_problems.py
  154. +2 −0 Scripts/PDB/generate_three_to_one_dict.py
  155. +2 −0 Scripts/Performance/biosql_performance_load.py
  156. +2 −0 Scripts/Performance/biosql_performance_read.py
  157. +2 −0 Scripts/SeqGui/SeqGui.py
  158. +2 −0 Scripts/debug/debug_blast_parser.py
  159. +2 −0 Scripts/query_pubmed.py
  160. +2 −0 Scripts/scop_pdb.py
  161. +2 −0 Scripts/xbbtools/nextorf.py
  162. +2 −0 Scripts/xbbtools/xbb_blast.py
  163. +2 −0 Scripts/xbbtools/xbb_blastbg.py
  164. +2 −0 Scripts/xbbtools/xbb_translations.py
  165. +2 −0 Scripts/xbbtools/xbb_widget.py
  166. +2 −0 Tests/PAML/gen_results.py
  167. +2 −0 Tests/common_BioSQL.py
  168. +2 −0 Tests/run_tests.py
  169. +2 −0 Tests/search_tests_common.py
  170. +2 −0 Tests/test_AlignIO.py
  171. +2 −0 Tests/test_AlignIO_FastaIO.py
  172. +2 −0 Tests/test_Clustalw_tool.py
  173. +2 −0 Tests/test_CodonTable.py
  174. +2 −0 Tests/test_CodonUsage.py
  175. +2 −0 Tests/test_DocSQL.py
  176. +2 −0 Tests/test_Fasttree_tool.py
  177. +2 −0 Tests/test_File.py
  178. +2 −0 Tests/test_GAQueens.py
  179. +2 −0 Tests/test_GenBank.py
  180. +2 −0 Tests/test_GenomeDiagram.py
  181. +2 −0 Tests/test_GraphicsChromosome.py
  182. +2 −0 Tests/test_HMMCasino.py
  183. +2 −0 Tests/test_HMMGeneral.py
  184. +2 −0 Tests/test_HotRand.py
  185. +2 −0 Tests/test_KEGG.py
  186. +2 −0 Tests/test_Location.py
  187. +2 −0 Tests/test_Muscle_tool.py
  188. +2 −0 Tests/test_NCBI_BLAST_tools.py
  189. +2 −0 Tests/test_NCBI_qblast.py
  190. +2 −0 Tests/test_NNExclusiveOr.py
  191. +2 −0 Tests/test_NNGene.py
  192. +2 −0 Tests/test_PDB.py
  193. +2 −0 Tests/test_ParserSupport.py
  194. +2 −0 Tests/test_PopGen_DFDist.py
  195. +2 −0 Tests/test_PopGen_FDist.py
  196. +2 −0 Tests/test_PopGen_GenePop.py
  197. +2 −0 Tests/test_SCOP_Scop.py
  198. +2 −0 Tests/test_SVDSuperimposer.py
  199. +2 −0 Tests/test_SeqIO.py
  200. +2 −0 Tests/test_SeqIO_FastaIO.py
  201. +2 −0 Tests/test_SeqIO_QualityIO.py
  202. +2 −0 Tests/test_SeqIO_convert.py
  203. +2 −0 Tests/test_SeqIO_features.py
  204. +2 −0 Tests/test_Seq_objs.py
  205. +2 −0 Tests/test_TogoWS.py
  206. +2 −0 Tests/test_align.py
  207. +2 −0 Tests/test_geo.py
  208. +2 −0 Tests/test_seq.py
  209. +2 −0 Tests/test_translate.py
  210. +2 −0 do2to3.py
  211. +2 −0 setup.py
View
@@ -10,6 +10,8 @@
"""
# standard library
+from __future__ import print_function
+
import math
import sys
@@ -11,6 +11,8 @@
"""Command line wrapper for the multiple alignment program Clustal Omega.
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # Don't just use plain text in epydoc API pages!
from Bio.Application import _Option, _Switch, AbstractCommandline
@@ -5,6 +5,8 @@
"""Command line wrapper for the multiple alignment program Clustal W.
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # Don't just use plain text in epydoc API pages!
import os
@@ -5,6 +5,8 @@
"""Command line wrapper for the multiple alignment program DIALIGN2-2.
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # Don't just use plain text in epydoc API pages!
from Bio.Application import _Option, _Argument, _Switch, AbstractCommandline
@@ -5,6 +5,8 @@
"""Command line wrapper for the multiple alignment programme MAFFT.
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # Don't just use plain text in epydoc API pages!
import os
@@ -5,6 +5,8 @@
"""Command line wrapper for the multiple alignment program MUSCLE.
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # Don't just use plain text in epydoc API pages!
from Bio.Application import _Option, _Switch, AbstractCommandline
@@ -5,6 +5,8 @@
"""Command line wrapper for the multiple alignment program PRANK.
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # Don't just use plain text in epydoc API pages!
from Bio.Application import _Option, _Switch, AbstractCommandline
@@ -5,6 +5,8 @@
"""Command line wrapper for the multiple alignment program PROBCONS.
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # Don't just use plain text in epydoc API pages!
from Bio.Application import _Option, _Switch, _Argument, AbstractCommandline
@@ -5,6 +5,8 @@
"""Command line wrapper for the multiple alignment program TCOFFEE.
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # Don't just use plain text in epydoc API pages!
from Bio.Application import _Option, _Switch, AbstractCommandline
View
@@ -13,6 +13,8 @@
Classes:
- Alignment
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # Don't just use plain text in epydoc API pages!
# biopython
View
@@ -9,6 +9,8 @@
class, used in the Bio.AlignIO module.
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # Don't just use plain text in epydoc API pages!
from Bio.Seq import Seq
View
@@ -9,6 +9,8 @@
Bio.SeqIO functions if you want to work directly with the gapped sequences).
"""
+from __future__ import print_function
+
from Bio.Seq import Seq
from Bio.SeqRecord import SeqRecord
from Bio.Align import MultipleSeqAlignment
View
@@ -12,6 +12,8 @@
example from the alignret, water and needle tools.
"""
+from __future__ import print_function
+
from Bio.Seq import Seq
from Bio.SeqRecord import SeqRecord
from Bio.Align import MultipleSeqAlignment
View
@@ -19,6 +19,8 @@
which can also be used to store a multiple sequence alignments.
"""
+from __future__ import print_function
+
from Bio.Seq import Seq
from Bio.SeqRecord import SeqRecord
from Bio.Align import MultipleSeqAlignment
@@ -8,6 +8,8 @@
use this module. It provides base classes to try and simplify things.
"""
+from __future__ import print_function
+
from Bio.Alphabet import single_letter_alphabet
# TODO - Review self.next() method for Python 3 support...
View
@@ -13,6 +13,8 @@
sequences as SeqRecord objects.
"""
+from __future__ import print_function
+
from Bio.SeqRecord import SeqRecord
from Bio.Nexus import Nexus
from Bio.Align import MultipleSeqAlignment
View
@@ -31,6 +31,8 @@
Biopython 1.58 or later treats dots/periods in the sequence as invalid, both
for reading and writing. Older versions did nothing special with a dot/period.
"""
+from __future__ import print_function
+
import string
from Bio.Seq import Seq
@@ -128,6 +128,8 @@
>>> print(sub_record.letter_annotations['secondary_structure'])
-------<<<
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # not just plaintext
from Bio.Seq import Seq
from Bio.SeqRecord import SeqRecord
View
@@ -121,6 +121,8 @@
"""
+from __future__ import print_function
+
__docformat__ = "epytext en" # not just plaintext
#TODO
@@ -19,6 +19,8 @@
The finished command line strings are then normally invoked via the built-in
Python module subprocess.
"""
+from __future__ import print_function
+
import os
import sys
import subprocess
@@ -32,6 +32,8 @@
BMC Bioinformatics 2009, 10:421
doi:10.1186/1471-2105-10-421
"""
+from __future__ import print_function
+
from Bio import BiopythonDeprecationWarning
from Bio.Application import _Option, AbstractCommandline, _Switch
@@ -49,6 +49,8 @@
are likely to be deprecated and then removed in future releases.
"""
+from __future__ import print_function
+
from Bio import BiopythonDeprecationWarning
import warnings
warnings.warn("This module has been deprecated. Consider Bio.SearchIO for "
View
@@ -16,6 +16,8 @@
qblast Do a BLAST search using the QBLAST API.
"""
+from __future__ import print_function
+
from Bio._py3k import StringIO
from Bio._py3k import _as_string, _as_bytes
View
@@ -21,6 +21,8 @@
Blast records. It uses the BlastParser internally.
read Returns a single Blast record. Uses the BlastParser internally.
"""
+from __future__ import print_function
+
from Bio.Blast import Record
import xml.sax
from xml.sax.handler import ContentHandler
View
@@ -9,6 +9,8 @@
Last updated for Version 3.9
"""
+from __future__ import print_function
+
from Bio import Alphabet
from Bio.Alphabet import IUPAC
from Bio.Data import IUPACData
View
@@ -23,6 +23,8 @@
CreatePeople(message=Success)
"""
+from __future__ import print_function
+
import sys
from Bio import MissingPythonDependencyError
@@ -12,6 +12,8 @@
programs.
"""
+from __future__ import print_function
+
from Bio.Application import _Option, _Switch, AbstractCommandline
View
@@ -68,6 +68,8 @@
_open Internally used function.
"""
+from __future__ import print_function
+
import urllib
import urllib2
import time
View
@@ -10,6 +10,8 @@
tuple of two instances.
mult_align: returns a Biopython alignment object
"""
+from __future__ import print_function
+
import re
import fssp_rec
from Bio.Align import Generic
View
@@ -15,6 +15,8 @@
files are also defined under Bio.File but these are not intended for direct
use.
"""
+from __future__ import print_function
+
import codecs
import os
import contextlib
View
@@ -4,6 +4,8 @@
for taking care of the transition from one generation to the next.
"""
# standard modules
+from __future__ import print_function
+
import sys
View
@@ -26,6 +26,8 @@
# for more details of this format, and an example.
# Added by Ying Huang & Iddo Friedberg
+from __future__ import print_function
+
import warnings
import re
from Bio.Seq import Seq
View
@@ -38,6 +38,8 @@
location parser.
"""
+from __future__ import print_function
+
import re
# other Biopython stuff
View
@@ -13,6 +13,8 @@
"""
+from __future__ import print_function
+
class Record(object):
"""Hold GEO information in a format similar to the original record.
@@ -40,6 +40,8 @@
"""
# ReportLab imports
+from __future__ import print_function
+
from reportlab.lib import pagesizes
from reportlab.lib import colors
from reportlab.graphics.shapes import *
@@ -12,6 +12,8 @@
"""CircularDrawer module for GenomeDiagram."""
# ReportLab imports
+from __future__ import print_function
+
from reportlab.graphics.shapes import *
from reportlab.lib import colors
from reportlab.pdfbase import _fontdata
@@ -21,6 +21,8 @@
"""
# ReportLab imports
+from __future__ import print_function
+
from reportlab.lib import colors
@@ -34,6 +34,8 @@
# IMPORTS
# ReportLab
+from __future__ import print_function
+
from reportlab.pdfbase import _fontdata
from reportlab.lib import colors
@@ -28,6 +28,8 @@
"""
# ReportLab imports
+from __future__ import print_function
+
from reportlab.lib import colors
from math import sqrt
@@ -30,6 +30,8 @@
"""
# ReportLab imports
+from __future__ import print_function
+
from reportlab.lib import colors
from _Graph import GraphData
@@ -27,6 +27,8 @@
"""
# ReportLab imports
+from __future__ import print_function
+
from reportlab.graphics.shapes import *
from reportlab.lib import colors
@@ -28,6 +28,8 @@
"""
# ReportLab imports
+from __future__ import print_function
+
from reportlab.lib import colors
# GenomeDiagram imports
View
@@ -5,6 +5,8 @@
"""
+from __future__ import print_function
+
def pretty_print_prediction(emissions, real_state, predicted_state,
emission_title = "Emissions",
real_title = "Real State",
View
@@ -8,6 +8,8 @@
support biosimulations that rely on random numbers.
"""
+from __future__ import print_function
+
import urllib
from Bio import BiopythonDeprecationWarning
import warnings
Oops, something went wrong.

1 comment on commit de12c5e

Owner

peterjc commented on de12c5e Sep 9, 2013

There is an unfortunate typo in the commit comment's first line,

from __future__ import print_statement

should have been:

from __future__ import print_function
Please sign in to comment.