diff --git a/parser/parser-gulp/main.py b/parser/parser-gulp/main.py index 54858428820481186f4c507f19a416128c42947f..fd283c7b99e18e721789b9636182f5f0f3b780f7 100644 --- a/parser/parser-gulp/main.py +++ b/parser/parser-gulp/main.py @@ -282,12 +282,21 @@ class GulpContext(object): if self.use_spacegroup: # group may be none ---- no spacegroup - cellpar = [section['x_gulp_cell_a'][-1], - section['x_gulp_cell_b'][-1], - section['x_gulp_cell_c'][-1], - section['x_gulp_cell_alpha'][-1], - section['x_gulp_cell_beta'][-1], - section['x_gulp_cell_gamma'][-1]] + + cellparnames = ['a', 'b', 'c', 'alpha', 'beta', 'gamma'] + + #try:#if 'x_gulp_cell_a' in section: + val = [section['x_gulp_cell_%s' % name] for name in cellparnames] + if val[0] is None: + # if we have the prim cell and not the full cell, it's because they + # are identical (as far as I can tell). + val = [section['x_gulp_prim_cell_%s' % name] for name in cellparnames] + + cellpar = [] + for v in val: + assert len(v) == 1 + cellpar.append(v[0]) + assert len(cellpar) == 6 num = get_spacegroup_number(self.spacegroup) @@ -531,12 +540,12 @@ def get_optimise_sm(): SM(r'\s*Final cell parameters and derivatives :', name='finalcell', subMatchers=[ - SM(r'\s*a\s*(?P<x_gulp_cell_a>\S+)\s+Angstrom', name='a'), - SM(r'\s*b\s*(?P<x_gulp_cell_b>\S+)\s+Angstrom', name='b'), - SM(r'\s*c\s*(?P<x_gulp_cell_c>\S+)\s+Angstrom', name='c'), - SM(r'\s*alpha\s*(?P<x_gulp_cell_alpha>\S+)\s+Degrees', name='alpha'), - SM(r'\s*beta\s*(?P<x_gulp_cell_beta>\S+)\s+Degrees', name='beta'), - SM(r'\s*gamma\s*(?P<x_gulp_cell_gamma>\S+)\s+Degrees', name='gamma'), + SM(r'\s*a\s*(?P<x_gulp_prim_cell_a>\S+)\s+Angstrom', name='a'), + SM(r'\s*b\s*(?P<x_gulp_prim_cell_b>\S+)\s+Angstrom', name='b'), + SM(r'\s*c\s*(?P<x_gulp_prim_cell_c>\S+)\s+Angstrom', name='c'), + SM(r'\s*alpha\s*(?P<x_gulp_prim_cell_alpha>\S+)\s+Degrees', name='alpha'), + SM(r'\s*beta\s*(?P<x_gulp_prim_cell_beta>\S+)\s+Degrees', name='beta'), + SM(r'\s*gamma\s*(?P<x_gulp_prim_cell_gamma>\S+)\s+Degrees', name='gamma'), ]), SM(r'\s*Non-primitive lattice parameters :', name='nonprim',