Skip to content

Commit

Permalink
Enforce __init__.py to not just contain from __future__ imports. This…
Browse files Browse the repository at this point in the history
… wastes time and,

without absolute_import, causes unnecessary file system calls.
  • Loading branch information
Anthchirp committed Jan 24, 2017
1 parent a6f3dc5 commit ef4aeef
Show file tree
Hide file tree
Showing 117 changed files with 13 additions and 121 deletions.
1 change: 0 additions & 1 deletion boost_adaptbx/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion boost_adaptbx/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cbflib_adaptbx/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/array_family/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/development/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/eltbx/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/eltbx/development/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/examples/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/examples/merging/samosa/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/examples/structure_factor_calculus/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/macro_mol/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/regression/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/source_generators/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/source_generators/eltbx/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cctbx/web/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion crys3d/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion crys3d/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion cudatbx/math/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion fable/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion gltbx/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iota/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iota/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iota/components/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/PrettyPrint/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/cns/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/detectors/context/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/detectors/util/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/dtrek/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/examples/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/kriber/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/pdb/remediation/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/regression/__init__.py
@@ -1 +0,0 @@
from __future__ import division
2 changes: 0 additions & 2 deletions iotbx/regression/ncs/__init__.py
@@ -1,2 +0,0 @@
from __future__ import division

1 change: 0 additions & 1 deletion iotbx/scalepack/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/solve/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion iotbx/xds/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion libtbx/auto_build/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion libtbx/bundle/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion libtbx/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
15 changes: 13 additions & 2 deletions libtbx/file_clutter.py
Expand Up @@ -5,6 +5,8 @@

class file_clutter(object):

from_future_pat = re.compile(
'^ from [ ]+ __future__ ', re.VERBOSE)
from_future_import_division_pat = re.compile(
'^ from [ ]+ __future__ [ ]+ import [ \w,]+ division', re.VERBOSE)
from_future_import_absolute_import_pat = re.compile(
Expand All @@ -24,6 +26,7 @@ def __init__(self, path, find_unused_imports=False,
self.flag_absolute_import = flag_absolute_import
self.n_from_future_import_absolute_import = None
self.bad_indentation = None
self.file_should_be_empty = False
bytes = open(path, "rb").read()
if (len(bytes) > 0):
if (bytes[-1] != "\n"):
Expand All @@ -43,7 +46,10 @@ def __init__(self, path, find_unused_imports=False,
self.n_from_future_import_division = 0
self.n_from_future_import_absolute_import = 0
py_lines = bytes.splitlines()
self.file_should_be_empty = True
for line in py_lines:
if self.file_should_be_empty and line.strip() != '' and not self.from_future_pat.search(line):
self.file_should_be_empty = False
if self.from_future_import_division_pat.search(line):
self.n_from_future_import_division += 1
if self.from_future_import_absolute_import_pat.search(line):
Expand Down Expand Up @@ -96,11 +102,16 @@ def status(self, flag_x, flag_dos_format=True, flag_indentation=False):
sapp("bare excepts=%d" % self.n_bare_excepts)
if (self.has_unused_imports()):
sapp("unused imports=%d" % len(self.unused_imports))
if self.n_from_future_import_division == 0:
if self.file_should_be_empty:
if self.n_from_future_import_division == 0 and self.n_from_future_import_absolute_import == 0:
sapp("file is empty, should be 0 byte file")
else:
sapp("file contains only 'from __future__ import' and should be empty instead")
elif self.n_from_future_import_division == 0:
sapp("missing 'from __future__ import division'")
elif self.n_from_future_import_division > 1:
sapp("more than one appearance of 'from __future__ import division'")
if self.flag_absolute_import:
if self.flag_absolute_import and not self.file_should_be_empty:
if self.n_from_future_import_absolute_import == 0:
sapp("missing 'from __future__ import absolute_import'")
elif self.n_from_future_import_absolute_import > 1:
Expand Down
1 change: 0 additions & 1 deletion libtbx/program_utils/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion libtbx/pythonpath/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion libtbx/server/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion libtbx/sphinx/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/building/loop_closure/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/cablam/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/cablam/fingerprints/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/geometry_restraints/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/geometry_restraints/torsion_restraints/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/ligands/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/monomer_library/__init__.py
@@ -1 +0,0 @@
from __future__ import division
2 changes: 0 additions & 2 deletions mmtbx/regression/ncs/__init__.py
@@ -1,2 +0,0 @@
from __future__ import division

2 changes: 0 additions & 2 deletions mmtbx/regression/tls/__init__.py
@@ -1,2 +0,0 @@
from __future__ import division

1 change: 0 additions & 1 deletion mmtbx/sisa/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/sisa/optimize/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/twinning/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/validation/ramachandran/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/validation/regression/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion mmtbx/wwpdb/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion prime/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/apps/stills/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/array_family/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/bpcx/detector_model/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/cftbx/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/detectors/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/dials_core/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/indexing/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/new_horizons/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/outlier_spots/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/phil/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/slip_viewer/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion rstbx/symmetry/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/array_family/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/boost_python/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/examples/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/graph/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/lstbx/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/lstbx/tests/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/math/boost_python/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/math/tests/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/python_utils/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/rigid_body/essence/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/rigid_body/proto/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/source_generators/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/source_generators/array_family/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion scitbx/stl/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion smtbx/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion smtbx/ab_initio/tests/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion smtbx/refinement/constraints/tests/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion smtbx/source_generators/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion smtbx/stl/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion smtbx/structure_factors/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion spotfinder/applications/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion spotfinder/applications/heuristic_tbx/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion spotfinder/applications/xfel/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion spotfinder/array_family/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion spotfinder/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion spotfinder/diffraction/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion wxtbx/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/amo/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/amo/pnccd_ana/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/cftbx/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/cftbx/detector/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/clustering/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/cxi/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/cxi/clustering/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/cxi/gfx/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/graph_proc/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/merging/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/small_cell/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/ui/command_line/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/ui/components/__init__.py
@@ -1 +0,0 @@
from __future__ import division
1 change: 0 additions & 1 deletion xfel/xpp/__init__.py
@@ -1 +0,0 @@
from __future__ import division

0 comments on commit ef4aeef

Please sign in to comment.