simplified interface
This commit is contained in:
parent
0b6af19e54
commit
c1eabc3384
|
@ -246,36 +246,6 @@ class Result:
|
||||||
return dup
|
return dup
|
||||||
|
|
||||||
|
|
||||||
def modification_enable(self):
|
|
||||||
"""
|
|
||||||
Allow modification of existing data.
|
|
||||||
|
|
||||||
Returns
|
|
||||||
-------
|
|
||||||
modified_view : damask.Result
|
|
||||||
View without write-protection of existing data.
|
|
||||||
|
|
||||||
"""
|
|
||||||
print(util.warn('Warning: Modification of existing datasets allowed!'))
|
|
||||||
dup = self.copy()
|
|
||||||
dup._allow_modification = True
|
|
||||||
return dup
|
|
||||||
|
|
||||||
def modification_disable(self):
|
|
||||||
"""
|
|
||||||
Prevent modification of existing data (default case).
|
|
||||||
|
|
||||||
Returns
|
|
||||||
-------
|
|
||||||
modified_view : damask.Result
|
|
||||||
View with write-protection of existing data.
|
|
||||||
|
|
||||||
"""
|
|
||||||
dup = self.copy()
|
|
||||||
dup._allow_modification = False
|
|
||||||
return dup
|
|
||||||
|
|
||||||
|
|
||||||
def increments_in_range(self,start,end):
|
def increments_in_range(self,start,end):
|
||||||
"""
|
"""
|
||||||
Get all increments within a given range.
|
Get all increments within a given range.
|
||||||
|
@ -329,7 +299,8 @@ class Result:
|
||||||
times=None,
|
times=None,
|
||||||
phases=None,
|
phases=None,
|
||||||
homogenizations=None,
|
homogenizations=None,
|
||||||
fields=None):
|
fields=None,
|
||||||
|
protected=None):
|
||||||
"""
|
"""
|
||||||
Set view.
|
Set view.
|
||||||
|
|
||||||
|
@ -353,6 +324,8 @@ class Result:
|
||||||
Name(s) of homogenizations to select.
|
Name(s) of homogenizations to select.
|
||||||
fields: (list of) str, or bool, optional.
|
fields: (list of) str, or bool, optional.
|
||||||
Name(s) of fields to select.
|
Name(s) of fields to select.
|
||||||
|
protected: bool, optional.
|
||||||
|
Protection status of existing data.
|
||||||
|
|
||||||
Returns
|
Returns
|
||||||
-------
|
-------
|
||||||
|
@ -374,8 +347,23 @@ class Result:
|
||||||
>>> r_t10to40 = r.view(times=r.times_in_range(10.0,40.0))
|
>>> r_t10to40 = r.view(times=r.times_in_range(10.0,40.0))
|
||||||
|
|
||||||
"""
|
"""
|
||||||
what_, datasets_ = _view_transition(what,datasets,increments,times,phases,homogenizations,fields)
|
v = _view_transition(what,datasets,increments,times,phases,homogenizations,fields)
|
||||||
return self._manage_view('set',what_,datasets_)
|
if protected is not None:
|
||||||
|
if v == None:
|
||||||
|
dup = self.copy()
|
||||||
|
else:
|
||||||
|
what_,datasets_ = v
|
||||||
|
dup = self._manage_view('set',what_,datasets_)
|
||||||
|
else:
|
||||||
|
what_,datasets_ = v
|
||||||
|
dup = self._manage_view('set',what_,datasets_)
|
||||||
|
|
||||||
|
if protected is False:
|
||||||
|
dup._allow_modification = True
|
||||||
|
if protected is True:
|
||||||
|
print(util.warn('Warning: Modification of existing datasets allowed!'))
|
||||||
|
dup._allow_modification = False
|
||||||
|
return dup
|
||||||
|
|
||||||
|
|
||||||
def view_more(self,what=None,datasets=None,*,
|
def view_more(self,what=None,datasets=None,*,
|
||||||
|
@ -495,7 +483,7 @@ class Result:
|
||||||
|
|
||||||
>>> import damask
|
>>> import damask
|
||||||
>>> r = damask.Result('my_file.hdf5')
|
>>> r = damask.Result('my_file.hdf5')
|
||||||
>>> r_unprotected = r.modification_enable()
|
>>> r_unprotected = r.view(protected=False)
|
||||||
>>> r_unprotected.rename('F','def_grad')
|
>>> r_unprotected.rename('F','def_grad')
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -534,7 +522,7 @@ class Result:
|
||||||
|
|
||||||
>>> import damask
|
>>> import damask
|
||||||
>>> r = damask.Result('my_file.hdf5')
|
>>> r = damask.Result('my_file.hdf5')
|
||||||
>>> r_unprotected = r.modification_enable()
|
>>> r_unprotected = r.view(protected=False)
|
||||||
>>> r_unprotected.remove('F')
|
>>> r_unprotected.remove('F')
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -322,9 +322,9 @@ class TestResult:
|
||||||
created_first = datetime.strptime(created_first,'%Y-%m-%d %H:%M:%S%z')
|
created_first = datetime.strptime(created_first,'%Y-%m-%d %H:%M:%S%z')
|
||||||
|
|
||||||
if overwrite == 'on':
|
if overwrite == 'on':
|
||||||
last = last.modification_enable()
|
last = last.view(protected=False)
|
||||||
else:
|
else:
|
||||||
last = last.modification_disable()
|
last = last.view(protected=True)
|
||||||
|
|
||||||
time.sleep(2.)
|
time.sleep(2.)
|
||||||
try:
|
try:
|
||||||
|
@ -344,10 +344,10 @@ class TestResult:
|
||||||
def test_rename(self,default,allowed):
|
def test_rename(self,default,allowed):
|
||||||
if allowed == 'on':
|
if allowed == 'on':
|
||||||
F = default.place('F')
|
F = default.place('F')
|
||||||
default = default.modification_enable()
|
default = default.view(protected=False)
|
||||||
default.rename('F','new_name')
|
default.rename('F','new_name')
|
||||||
assert np.all(F == default.place('new_name'))
|
assert np.all(F == default.place('new_name'))
|
||||||
default = default.modification_disable()
|
default = default.view(protected=True)
|
||||||
|
|
||||||
with pytest.raises(PermissionError):
|
with pytest.raises(PermissionError):
|
||||||
default.rename('P','another_new_name')
|
default.rename('P','another_new_name')
|
||||||
|
@ -355,7 +355,7 @@ class TestResult:
|
||||||
@pytest.mark.parametrize('allowed',['off','on'])
|
@pytest.mark.parametrize('allowed',['off','on'])
|
||||||
def test_remove(self,default,allowed):
|
def test_remove(self,default,allowed):
|
||||||
if allowed == 'on':
|
if allowed == 'on':
|
||||||
unsafe = default.modification_enable()
|
unsafe = default.view(protected=False)
|
||||||
unsafe.remove('F')
|
unsafe.remove('F')
|
||||||
assert unsafe.get('F') is None
|
assert unsafe.get('F') is None
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in New Issue