Skip to content

Conversion to Python 2/3 inter-compatibility #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ temp/
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*.bak

# Packages
*.egg
Expand Down
9 changes: 8 additions & 1 deletion pygchem/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,14 @@
:license: GPLv3, see LICENSE for details.

"""

from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import

from future import standard_library
standard_library.install_aliases()
from builtins import *
__all__ = ["config", "globchem", "grid", "diagnostics", "io", "tools",
"utils"]
__version__ = '0.3.0dev'
Expand Down
9 changes: 8 additions & 1 deletion pygchem/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,14 @@
PyGChem configuration.

"""

from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import

from future import standard_library
standard_library.install_aliases()
from builtins import *
import inspect
import os

Expand Down
8 changes: 8 additions & 0 deletions pygchem/dataset_backends/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,11 @@
where `name` is the name of the backend or the python library used as backend.

"""
from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import

from future import standard_library
standard_library.install_aliases()
from builtins import *
20 changes: 15 additions & 5 deletions pygchem/dataset_backends/backend_iris.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,17 @@
"""

from __future__ import absolute_import

from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division

from future import standard_library
standard_library.install_aliases()
from builtins import *
from builtins import next
from builtins import str
from builtins import zip
from builtins import range
import glob
import warnings
import datetime
Expand Down Expand Up @@ -53,7 +63,7 @@ def _get_datablock_dim_coords(datablock, coord_cache):
cache_fields = ('modelname', 'resolution', 'origin', 'shape')
cache_key = '_'.join((str(datablock[f]) for f in cache_fields))

if cache_key in coord_cache.keys():
if cache_key in list(coord_cache.keys()):
return coord_cache[cache_key]

ctm_grid = grid.CTMGrid.from_model(datablock['modelname'],
Expand All @@ -64,7 +74,7 @@ def _get_datablock_dim_coords(datablock, coord_cache):
shape3 = np.pad(shape, (0, len(origin) - len(shape)), 'constant')
imin = np.array(origin) - 1
imax = imin + np.array(shape3)
region_box = zip(imin, imax)
region_box = list(zip(imin, imax))
else:
region_box = None

Expand Down Expand Up @@ -252,7 +262,7 @@ def fix_bpch2nc(cube, field, filename):
#dummy_coord = iris.coords.DimCoord([0], long_name='dummy',
# bounds=[0, 1])
#cube.add_dim_coord(dummy_coord, 0)
return cube.slices(range(1, cube.ndim)).next()
return next(cube.slices(list(range(1, cube.ndim))))


def fix_bpch2coards(cube, field, filename):
Expand Down Expand Up @@ -336,7 +346,7 @@ def fix_bpch2coards(cube, field, filename):
timeutil.time2tau(tend)]
if cube.shape[time_dim] == 1:
slices_dims = [d for d in range(cube.ndim) if d != time_dim]
return cube.slices(slices_dims).next()
return next(cube.slices(slices_dims))
except iris.exceptions.CoordinateNotFoundError:
pass

Expand Down
9 changes: 8 additions & 1 deletion pygchem/datasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,14 @@
backends ('iris', 'netcdf', 'bpch').

"""

from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import

from future import standard_library
standard_library.install_aliases()
from builtins import *
import importlib
from contextlib import contextmanager

Expand Down
10 changes: 9 additions & 1 deletion pygchem/diagnostics.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,15 @@
and 'diaginfo.dat').

"""

from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import

from future import standard_library
standard_library.install_aliases()
from builtins import *
from builtins import object
import os

from pygchem import config
Expand Down
16 changes: 13 additions & 3 deletions pygchem/emissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,17 @@
Interface to the Harvard-NASA Emissions Component (HEMCO).

"""

from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
from __future__ import absolute_import

from future import standard_library
standard_library.install_aliases()
from builtins import *
from builtins import str
from builtins import range
from builtins import object
import os

from pygchem import config
Expand Down Expand Up @@ -362,7 +372,7 @@ def resolve_ids(self):
"""
fids = self.get_fids()
min_fid = min(i for i in fids if i is not None)
range_fids = range(min_fid, max(fids) + len(fids) + 1)
range_fids = list(range(min_fid, max(fids) + len(fids) + 1))
duplicate_fids = set([fid for fid in fids if fids.count(fid) > 1])
available_fids = sorted(set(range_fids) - set(fids))

Expand All @@ -379,7 +389,7 @@ def resolve_ids(self):

eids = self.get_eids()
min_eid = min(i for i in eids if i is not None)
range_eids = range(min_eid, max(eids) + len(eids) + 1)
range_eids = list(range(min_eid, max(eids) + len(eids) + 1))
duplicate_eids = set([eid for eid in eids if eids.count(eid) > 1])
available_eids = sorted(set(range_eids) - set(eids))

Expand Down
Loading