Coverage for gpaw/cli/gpw.py: 44%

18 statements  

« prev     ^ index     » next       coverage.py v7.7.1, created at 2025-07-14 00:18 +0000

1import os 

2 

3 

4class CLICommand: 

5 """Manipulate/show content of GPAW-restart file.""" 

6 

7 @staticmethod 

8 def add_arguments(parser): 

9 parser.add_argument('gpw', metavar='gpw-file') 

10 parser.add_argument('-w', '--remove-wave-functions', 

11 action='store_true') 

12 

13 @staticmethod 

14 def run(args): 

15 if args.remove_wave_functions: 

16 import ase.io.ulm as ulm 

17 reader = ulm.open(args.gpw) 

18 if 'values' not in reader.wave_functions: 

19 print('No wave functions in', args.gpw) 

20 else: 

21 ulm.copy(reader, args.gpw + '.temp', 

22 exclude={'.wave_functions.values'}) 

23 reader.close() 

24 os.rename(args.gpw + '.temp', args.gpw) 

25 else: 

26 from gpaw import GPAW 

27 GPAW(args.gpw)