diff --git a/abipy/abio/robots.py b/abipy/abio/robots.py index 972c0dbd..934f1960 100644 --- a/abipy/abio/robots.py +++ b/abipy/abio/robots.py @@ -100,7 +100,8 @@ class Robot(NotebookWriter): items = [] for top in list_strings(dirpaths): items.extend(cls._open_files_in_dir(top, walk)) - if not abspath: new.trim_paths(start=os.path.getcwd()) + new = cls(*items) + if not abspath: new.trim_paths(start=os.getcwd()) return new @classmethod @@ -406,7 +407,7 @@ class Robot(NotebookWriter): def __getitem__(self, key): # self[key] - return self.ncfiles.__getitem__(key) + return self._ncfiles.__getitem__(key) def __enter__(self): return self diff --git a/abipy/dynamics/tests/test_hist.py b/abipy/dynamics/tests/test_hist.py index 042c58fb..45656dfc 100644 --- a/abipy/dynamics/tests/test_hist.py +++ b/abipy/dynamics/tests/test_hist.py @@ -96,7 +96,7 @@ class HistFileTest(AbipyTest): if self.has_matplotlib(): for what in robot.what_list: assert robot.gridplot(what=what, show=False) - assert robot.gridplot(show=False) + assert robot.combiplot(show=False) if self.has_nbformat(): robot.write_notebook(nbpath=self.get_tmpname(text=True)) diff --git a/abipy/electrons/tests/test_gsr.py b/abipy/electrons/tests/test_gsr.py index d3216a08..6fe38e48 100644 --- a/abipy/electrons/tests/test_gsr.py +++ b/abipy/electrons/tests/test_gsr.py @@ -190,3 +190,18 @@ class GstRobotTest(AbipyTest): robot.write_notebook(nbpath=self.get_tmpname(text=True)) robot.close() + + # Test other class methods + filepath = abidata.ref_file("si_scf_GSR.nc") + robot = abilab.GsrRobot.from_dirs(os.path.dirname(filepath), abspath=True) + assert len(robot) == 2 + assert robot[filepath].filepath == filepath + + # Test from_dir_glob + pattern = "%s/*/si_ebands/" % abidata.dirpath + same_robot = abilab.GsrRobot.from_dir_glob(pattern, abspath=True) + assert len(same_robot) == 2 + assert set(robot.labels) == set(same_robot.labels) + + robot.close() + same_robot.close() diff --git a/abipy/integration_tests/TODO.md b/abipy/integration_tests/TODO.md index d638ce30..e6637896 100644 --- a/abipy/integration_tests/TODO.md +++ b/abipy/integration_tests/TODO.md @@ -1,6 +1,16 @@ -TODO LIST: +TODO list: -* DDK.nc +## High priority + +* Use angdeg instead of rprimd in structure_to_abivars if hex or rhomboedral lattice. + +* Check PJDOS in abinit@gitlab + +* Add mpirun_args see e.g nic4 and mpirun --bind-to None DONE + +* Re-implement max_njobs in the queque using a counter local to the Launcher. DONE + +## Medium priority * Finalize interface with phononwebsite @@ -8,14 +18,12 @@ TODO LIST: * Fix bug with SCGW and SKW interpolation. -* Check PJDOS in abinit@gitlab - -* Use angdeg instead of rprimd in structure_to_abivars if hex or rhomboedral lattice. - -* Add mpirun_args see e.g nic4 and mpirun --bind-to None - * Add integration test for dilatmx error handler +## Low priority + +* DDK.nc + * Fix issue with DOJO_REPORT and PAW XML files. * plot_networkx does not work with flows containing callbacks e.g. run_qptdm_flow @@ -27,8 +35,6 @@ TODO LIST: * Add possibility of specifying the max number of CPUs that can be used for a flow at the level of the scheduler. -* Re-implement max_njobs in the queque using a counter local to the Launcher. - * Fix problem with AbiniEvent format, src_file and scr_line (see src/67_common/scprqt.F90) Introduce an integer flag (msg_level) to be passed to msg_hndl