Replaced caching of a property with @cached_property.

This commit is contained in:
Aymeric Augustin 2014-11-19 21:53:24 +01:00
parent 9d3d1a0321
commit 45db7f7db8
1 changed files with 6 additions and 11 deletions

View File

@ -8,11 +8,9 @@ import os
from django.contrib import gis
from django.utils import six
from django.utils._os import upath
from django.utils.functional import cached_property
# This global used to store reference geometry data.
GEOMETRIES = None
# Path where reference test data is located.
TEST_DATA = os.path.join(os.path.dirname(upath(gis.__file__)), 'tests', 'data')
@ -95,12 +93,9 @@ class TestDataMixin(object):
Mixin used for GEOS/GDAL test cases that defines a `geometries`
property, which returns and/or loads the reference geometry data.
"""
@property
@cached_property
def geometries(self):
global GEOMETRIES
if GEOMETRIES is None:
# Load up the test geometry data from fixture into global.
with open(os.path.join(TEST_DATA, 'geometries.json')) as f:
geometries = json.load(f)
GEOMETRIES = TestGeomSet(**strconvert(geometries))
return GEOMETRIES
# Load up the test geometry data from fixture into global.
with open(os.path.join(TEST_DATA, 'geometries.json')) as f:
geometries = json.load(f)
return TestGeomSet(**strconvert(geometries))