mirror of
https://github.com/triqs/dft_tools
synced 2024-11-01 03:33:50 +01:00
hdfarchive + gf : two corrections
- hdfarchive : transform the key to string with str because they can be unicode and C wrapper does not convert python unicode strings. - gf : Correct the scheme for BlockGf : not very clean, to be improved ?
This commit is contained in:
parent
ab3b9b3d4d
commit
a6e1528730
@ -253,7 +253,7 @@ class HDFArchiveGroup (HDFArchiveGroupBasicLayer) :
|
||||
except KeyError :
|
||||
raise RuntimeError, "I can not find the class %s to reconstruct the object !"%r_class_name
|
||||
if r_readfun :
|
||||
res = r_readfun(self._group,key)
|
||||
res = r_readfun(self._group,str(key)) # str transforms unicode string to regular python string
|
||||
elif "__factory_from_dict__" in dir(r_class) :
|
||||
f = lambda K : SUB.__getitem1__(K,reconstruct_python_object) if SUB.is_group(K) else SUB._read(K)
|
||||
values = dict( (self._key_decipher(K),f(K)) for K in SUB )
|
||||
|
@ -320,7 +320,8 @@ namespace gfs {
|
||||
//----------------------------- HDF5 -----------------------------
|
||||
|
||||
friend std::string get_triqs_hdf5_data_scheme(gf_impl const &g) {
|
||||
return "Gf" + gfs_implementation::h5_name<Variable, Target, Opt>::invoke();
|
||||
auto s = gfs_implementation::h5_name<Variable, Target, Opt>::invoke();
|
||||
return (s == "BlockGf" ? s : "Gf" + s);
|
||||
}
|
||||
|
||||
friend struct gfs_implementation::h5_rw<Variable, Target, Opt>;
|
||||
|
Loading…
Reference in New Issue
Block a user