Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Display live output from running processes #474

Merged
merged 3 commits into from
Dec 6, 2023
Merged

Conversation

rhinoella
Copy link
Contributor

Currently GudPy only displays outputs once the running process is complete. This PR enabled live outputs of Gudrun and Purge which will aid in debugging.

Copy link

github-actions bot commented Nov 30, 2023

Test Results

    3 files      3 suites   52m 47s ⏱️
  92 tests   92 ✔️ 0 💤 0
276 runs  276 ✔️ 0 💤 0

Results for commit 3c15f90.

♻️ This comment has been updated with latest results.

@rhinoella rhinoella requested a review from trisyoungs December 1, 2023 11:00
Copy link
Member

@trisyoungs trisyoungs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested - works nicely!

@rhinoella rhinoella merged commit 5b2943a into develop Dec 6, 2023
9 checks passed
@rhinoella rhinoella deleted the live-output branch December 6, 2023 14:33
rhinoella added a commit that referenced this pull request Jan 12, 2024
* Changed window title to only show filename (#456)

* Changing temp directory control

* Debug

* Cwd change

* Fix prev commit

* Debugging

* Attempt to fix test

* Upgrade PySide version to 6.6.0 (#463)

Co-authored-by: Spitz <[email protected]>

* lint

* Fix IDAaaS Setup Script (#471)

* Install XCB cursor lib.

* More RPM requirements.

* Fixes November 2023 (#473)

* Add window title modification placeholder.

* Add detectorCalibrationFileName to GudPyFileLibray and harmonise name capitalisation to reflect UI.

* Notify user that all files were found.

* Fix file types for input file dialog.

* Be more careful about raising that dialog.

* Don't forget to re-enable GUI after failing to find gudrun_dcs binary.

* Formatting.

* Create base class for output handler

* Run purge in temp dir

* Output organising fixes- proper gudfile path

* Iterator fixes

* Make each iteration run in new temp dir

* Composition iterator

* Iterate by composition

* Iterate by composition

* Formatting

* Fix progress bar

* Fix merge

* Fixing tests

* Display live output from running processes (#474)

* Live output of processes

* Change 'setText' to append for smoother experience + remove unecessary code

* Remove comment

---------

Co-authored-by: Spitz <[email protected]>

* Fix wavelength iterator

* Fix asserion- invalid use of try except

* Use POpen instead of run

* Remove print

* Refactor purge file

* Fix composition iterator

* Fix wavelength iteration process

* Create gudrun worker

* Create gudrun worker

* Fix iterator

* Fix assertions

* Improve purge running and fix issue

* Removing unecessary organise output

* Used threading instead of qprocess, altered purge dialog, secured temp dir

* Refactor

* Refactor

* Fixes for new changes

* Fixes for new changes

* Fixes for new changes

* Remove print

* Linting

* Verbose test

* Verbose test

* Verbose test

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix exception for windows

* Fixing tests

* Debugging

* Fix test error

* Fix test error

---------

Co-authored-by: Spitz <[email protected]>
Co-authored-by: Tristan Youngs <[email protected]>
rhinoella added a commit that referenced this pull request Jan 25, 2024
* Adjusted handling of temp directory

* Removed shutil.rmtree

* Docstring update

* Does not delete/replce existing outputs

* Organised iterator files, fixed some bugs

* Modified import statements to align with new directory structure

* Stored strings in variables

* Uniquify default parameter names

* Created extra util functions for uniquifying names and filenames

* Output file handling process change

* Output file handling process change in main window

* Modifying dialog functions as needed

* Formatting

* Removed debugging print statements

* Removed debugging print statements

* fixed duplication of sample background directory

* Documentation and commenting

* Documentation and commenting

* Fixed iteration counting

* Fixed wavelength subtraction iterator

* Applied changes to batch processing

* Attempting to fix windows build

* Attempting to fix windows build

* Fix windows build? Make sure dir exists

* Creating gudrun file in temp directory

* Comments

* Gudrun runs in temporary directory, files are copied over

* Organised and renamed, gave more responsibility to iterator objects

* Fixed output handler resetting

* Refactored and fixed output handler to work with new system

* updated imports

* updated imports

* updated imports

* Refactored mainwindow.py and fixed process

* Moved dialogs to one module

* Applied new changes to test

* Removed unecessary parameter

* removed unecessary import

* Changed the way outputs work- directory now overwrites

* Removed uneeded parameter

* Removing previous output dir if exists

* Combined naive organise and iterative into one function, changed the way files are moved over

* Fixed spelling

* Fixed issues, works as expected now

* Updated docstrings and output handling function

* Changed inelasticity menu name to be consistent

* Better clarity of 'default' run, refactored code

* Changed function naming to be private, updated to not require nCurrent

* Added assertions and set run dir function

* Updated parameters for new organiseoutput

* Fixed and modified output tree

* Updated inelasticity to be the only one that saves all iter outputs

* removed unused import

* Creating and asserting gudrun is run in tempdir

* Fix bug

* Bug fixes

* Output file handler returns path information

* Fixing nTotal in init composition

* Fix tests

* Fixing tests

* Fixing tests

* Formatting

* Formatting

* Bug fix

* Fixing undeclared var issue

* Fix write_out

* Attempt to fix tests and improve iterators

* Fixed errors

* Fixed linting

* Linting

* WIP Fix

* Changing temp directory control

* Debug

* Cwd change

* Fix prev commit

* Debugging

* Attempt to fix test

* lint

* Create base class for output handler

* Run purge in temp dir

* Output organising fixes- proper gudfile path

* Iterator fixes

* Make each iteration run in new temp dir

* Composition iterator

* Iterate by composition

* Iterate by composition

* Formatting

* Fix progress bar

* Fix merge

* Fixing tests

* Fix wavelength iterator

* Fix asserion- invalid use of try except

* Use POpen instead of run

* Remove print

* Refactor purge file

* Fix composition iterator

* Fix wavelength iteration process

* Create gudrun worker

* Create gudrun worker

* Fix iterator

* Fix assertions

* Improve purge running and fix issue

* Removing unecessary organise output

* Used threading instead of qprocess, altered purge dialog, secured temp dir

* Refactor

* Refactor

* Fixes for new changes

* Fixes for new changes

* Fixes for new changes

* Remove print

* Linting

* Verbose test

* Verbose test

* Verbose test

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix exception for windows

* Fixing tests

* Debugging

* Fix test error

* Fix test error

* Outputs fix 2.5 (#461)

* Changed window title to only show filename (#456)

* Changing temp directory control

* Debug

* Cwd change

* Fix prev commit

* Debugging

* Attempt to fix test

* Upgrade PySide version to 6.6.0 (#463)

Co-authored-by: Spitz <[email protected]>

* lint

* Fix IDAaaS Setup Script (#471)

* Install XCB cursor lib.

* More RPM requirements.

* Fixes November 2023 (#473)

* Add window title modification placeholder.

* Add detectorCalibrationFileName to GudPyFileLibray and harmonise name capitalisation to reflect UI.

* Notify user that all files were found.

* Fix file types for input file dialog.

* Be more careful about raising that dialog.

* Don't forget to re-enable GUI after failing to find gudrun_dcs binary.

* Formatting.

* Create base class for output handler

* Run purge in temp dir

* Output organising fixes- proper gudfile path

* Iterator fixes

* Make each iteration run in new temp dir

* Composition iterator

* Iterate by composition

* Iterate by composition

* Formatting

* Fix progress bar

* Fix merge

* Fixing tests

* Display live output from running processes (#474)

* Live output of processes

* Change 'setText' to append for smoother experience + remove unecessary code

* Remove comment

---------

Co-authored-by: Spitz <[email protected]>

* Fix wavelength iterator

* Fix asserion- invalid use of try except

* Use POpen instead of run

* Remove print

* Refactor purge file

* Fix composition iterator

* Fix wavelength iteration process

* Create gudrun worker

* Create gudrun worker

* Fix iterator

* Fix assertions

* Improve purge running and fix issue

* Removing unecessary organise output

* Used threading instead of qprocess, altered purge dialog, secured temp dir

* Refactor

* Refactor

* Fixes for new changes

* Fixes for new changes

* Fixes for new changes

* Remove print

* Linting

* Verbose test

* Verbose test

* Verbose test

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix exception for windows

* Fixing tests

* Debugging

* Fix test error

* Fix test error

---------

Co-authored-by: Spitz <[email protected]>
Co-authored-by: Tristan Youngs <[email protected]>

* Fix purge and bugs

* Output YAML file to project directory

* Update main_window.py

* Fix export dialog and remove inputfiledir var

* Create loadFile variable-GudrunFile

* Fix incorrect var name

* Fix tests with new loadFile variable

* Print dicts

* Retrieve gudfile using function

* Apply suggestions from code review

* Remove blank line

* Fix tests

* Fix write-out paths

* Fix path to loadfile

* Fix test

* Remove actions step debug

* Remove print debugging

* Fix test

* Fix test

* Update ui

* Fix test to use abspath

* Use abspath

* Remove abspath

* Remove assertion

* Fix test

* Do abspath

* Fix

* Undo

* try fix again

* Remove paths from assertion

* Debugging

* debug

* debug

* attempt to fix test

* Specify encoding

* Debug

* Remove debugging and parse data file directory as abspath

* Include trailling slash to path

* Include trailling slash to path

* Debug again

* Fix path on water.txt

* Remove debugging

* Test everything

---------

Co-authored-by: Spitz <[email protected]>
Co-authored-by: Tristan Youngs <[email protected]>
rhinoella added a commit that referenced this pull request Feb 13, 2024
* Adjusted handling of temp directory

* Removed shutil.rmtree

* Docstring update

* Does not delete/replce existing outputs

* Organised iterator files, fixed some bugs

* Modified import statements to align with new directory structure

* Stored strings in variables

* Uniquify default parameter names

* Created extra util functions for uniquifying names and filenames

* Output file handling process change

* Output file handling process change in main window

* Modifying dialog functions as needed

* Formatting

* Removed debugging print statements

* Removed debugging print statements

* fixed duplication of sample background directory

* Documentation and commenting

* Documentation and commenting

* Fixed iteration counting

* Fixed wavelength subtraction iterator

* Applied changes to batch processing

* Attempting to fix windows build

* Attempting to fix windows build

* Fix windows build? Make sure dir exists

* Creating gudrun file in temp directory

* Comments

* Gudrun runs in temporary directory, files are copied over

* Organised and renamed, gave more responsibility to iterator objects

* Fixed output handler resetting

* Refactored and fixed output handler to work with new system

* updated imports

* updated imports

* updated imports

* Refactored mainwindow.py and fixed process

* Moved dialogs to one module

* Applied new changes to test

* Removed unecessary parameter

* removed unecessary import

* Changed the way outputs work- directory now overwrites

* Removed uneeded parameter

* Removing previous output dir if exists

* Combined naive organise and iterative into one function, changed the way files are moved over

* Fixed spelling

* Fixed issues, works as expected now

* Updated docstrings and output handling function

* Changed inelasticity menu name to be consistent

* Better clarity of 'default' run, refactored code

* Changed function naming to be private, updated to not require nCurrent

* Added assertions and set run dir function

* Updated parameters for new organiseoutput

* Fixed and modified output tree

* Updated inelasticity to be the only one that saves all iter outputs

* removed unused import

* Creating and asserting gudrun is run in tempdir

* Fix bug

* Bug fixes

* Output file handler returns path information

* Fixing nTotal in init composition

* Fix tests

* Fixing tests

* Fixing tests

* Formatting

* Formatting

* Bug fix

* Fixing undeclared var issue

* Fix write_out

* Attempt to fix tests and improve iterators

* Fixed errors

* Fixed linting

* Linting

* WIP Fix

* Changing temp directory control

* Debug

* Cwd change

* Fix prev commit

* Debugging

* Attempt to fix test

* lint

* Create base class for output handler

* Run purge in temp dir

* Output organising fixes- proper gudfile path

* Iterator fixes

* Make each iteration run in new temp dir

* Composition iterator

* Iterate by composition

* Iterate by composition

* Formatting

* Fix progress bar

* Fix merge

* Fixing tests

* Fix wavelength iterator

* Fix asserion- invalid use of try except

* Use POpen instead of run

* Remove print

* Refactor purge file

* Fix composition iterator

* Fix wavelength iteration process

* Create gudrun worker

* Create gudrun worker

* Fix iterator

* Fix assertions

* Improve purge running and fix issue

* Removing unecessary organise output

* Used threading instead of qprocess, altered purge dialog, secured temp dir

* Refactor

* Refactor

* Fixes for new changes

* Fixes for new changes

* Fixes for new changes

* Remove print

* Linting

* Verbose test

* Verbose test

* Verbose test

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix exception for windows

* Fixing tests

* Debugging

* Fix test error

* Fix test error

* Outputs fix 2.5 (#461)

* Changed window title to only show filename (#456)

* Changing temp directory control

* Debug

* Cwd change

* Fix prev commit

* Debugging

* Attempt to fix test

* Upgrade PySide version to 6.6.0 (#463)

Co-authored-by: Spitz <[email protected]>

* lint

* Fix IDAaaS Setup Script (#471)

* Install XCB cursor lib.

* More RPM requirements.

* Fixes November 2023 (#473)

* Add window title modification placeholder.

* Add detectorCalibrationFileName to GudPyFileLibray and harmonise name capitalisation to reflect UI.

* Notify user that all files were found.

* Fix file types for input file dialog.

* Be more careful about raising that dialog.

* Don't forget to re-enable GUI after failing to find gudrun_dcs binary.

* Formatting.

* Create base class for output handler

* Run purge in temp dir

* Output organising fixes- proper gudfile path

* Iterator fixes

* Make each iteration run in new temp dir

* Composition iterator

* Iterate by composition

* Iterate by composition

* Formatting

* Fix progress bar

* Fix merge

* Fixing tests

* Display live output from running processes (#474)

* Live output of processes

* Change 'setText' to append for smoother experience + remove unecessary code

* Remove comment

---------

Co-authored-by: Spitz <[email protected]>

* Fix wavelength iterator

* Fix asserion- invalid use of try except

* Use POpen instead of run

* Remove print

* Refactor purge file

* Fix composition iterator

* Fix wavelength iteration process

* Create gudrun worker

* Create gudrun worker

* Fix iterator

* Fix assertions

* Improve purge running and fix issue

* Removing unecessary organise output

* Used threading instead of qprocess, altered purge dialog, secured temp dir

* Refactor

* Refactor

* Fixes for new changes

* Fixes for new changes

* Fixes for new changes

* Remove print

* Linting

* Verbose test

* Verbose test

* Verbose test

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix exception for windows

* Fixing tests

* Debugging

* Fix test error

* Fix test error

---------

Co-authored-by: Spitz <[email protected]>
Co-authored-by: Tristan Youngs <[email protected]>

* Fix purge and bugs

* Output YAML file to project directory

* Update main_window.py

* Fix export dialog and remove inputfiledir var

* Create loadFile variable-GudrunFile

* Fix incorrect var name

* Fix tests with new loadFile variable

* Print dicts

* Retrieve gudfile using function

* Apply suggestions from code review

* Remove blank line

* Fix tests

* Fix write-out paths

* Fix path to loadfile

* Fix test

* Remove actions step debug

* Remove print debugging

* Load from project, save as project, export input file

* Merge branch 'develop' into load-project

* Check if config is used

* Refactor code

* Refactor code

* Advance GudPy exception handling, fix test failiure on empty path

* Declare outpath as const

* Fix outpath changes

* Fix attribute error

---------

Co-authored-by: Spitz <[email protected]>
Co-authored-by: Tristan Youngs <[email protected]>
rhinoella added a commit that referenced this pull request Mar 14, 2024
* Changed function naming to be private, updated to not require nCurrent

* Added assertions and set run dir function

* Updated parameters for new organiseoutput

* Fixed and modified output tree

* Updated inelasticity to be the only one that saves all iter outputs

* removed unused import

* Creating and asserting gudrun is run in tempdir

* Fix bug

* Bug fixes

* Output file handler returns path information

* Fixing nTotal in init composition

* Fix tests

* Fixing tests

* Fixing tests

* Formatting

* Formatting

* Bug fix

* Fixing undeclared var issue

* Fix write_out

* Attempt to fix tests and improve iterators

* Fixed errors

* Fixed linting

* Linting

* WIP Fix

* Changing temp directory control

* Debug

* Cwd change

* Fix prev commit

* Debugging

* Attempt to fix test

* lint

* Create base class for output handler

* Run purge in temp dir

* Output organising fixes- proper gudfile path

* Iterator fixes

* Make each iteration run in new temp dir

* Composition iterator

* Iterate by composition

* Iterate by composition

* Formatting

* Fix progress bar

* Fix merge

* Fixing tests

* Fix wavelength iterator

* Fix asserion- invalid use of try except

* Use POpen instead of run

* Remove print

* Refactor purge file

* Fix composition iterator

* Fix wavelength iteration process

* Create gudrun worker

* Create gudrun worker

* Fix iterator

* Fix assertions

* Improve purge running and fix issue

* Removing unecessary organise output

* Used threading instead of qprocess, altered purge dialog, secured temp dir

* Refactor

* Refactor

* Fixes for new changes

* Fixes for new changes

* Fixes for new changes

* Remove print

* Linting

* Verbose test

* Verbose test

* Verbose test

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix exception for windows

* Fixing tests

* Debugging

* Fix test error

* Fix test error

* Outputs fix 2.5 (#461)

* Changed window title to only show filename (#456)

* Changing temp directory control

* Debug

* Cwd change

* Fix prev commit

* Debugging

* Attempt to fix test

* Upgrade PySide version to 6.6.0 (#463)

Co-authored-by: Spitz <[email protected]>

* lint

* Fix IDAaaS Setup Script (#471)

* Install XCB cursor lib.

* More RPM requirements.

* Fixes November 2023 (#473)

* Add window title modification placeholder.

* Add detectorCalibrationFileName to GudPyFileLibray and harmonise name capitalisation to reflect UI.

* Notify user that all files were found.

* Fix file types for input file dialog.

* Be more careful about raising that dialog.

* Don't forget to re-enable GUI after failing to find gudrun_dcs binary.

* Formatting.

* Create base class for output handler

* Run purge in temp dir

* Output organising fixes- proper gudfile path

* Iterator fixes

* Make each iteration run in new temp dir

* Composition iterator

* Iterate by composition

* Iterate by composition

* Formatting

* Fix progress bar

* Fix merge

* Fixing tests

* Display live output from running processes (#474)

* Live output of processes

* Change 'setText' to append for smoother experience + remove unecessary code

* Remove comment

---------

Co-authored-by: Spitz <[email protected]>

* Fix wavelength iterator

* Fix asserion- invalid use of try except

* Use POpen instead of run

* Remove print

* Refactor purge file

* Fix composition iterator

* Fix wavelength iteration process

* Create gudrun worker

* Create gudrun worker

* Fix iterator

* Fix assertions

* Improve purge running and fix issue

* Removing unecessary organise output

* Used threading instead of qprocess, altered purge dialog, secured temp dir

* Refactor

* Refactor

* Fixes for new changes

* Fixes for new changes

* Fixes for new changes

* Remove print

* Linting

* Verbose test

* Verbose test

* Verbose test

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix hanging tests by manually error checking gudrun and stop using popen.wait()

* Fix exception for windows

* Fixing tests

* Debugging

* Fix test error

* Fix test error

---------

Co-authored-by: Spitz <[email protected]>
Co-authored-by: Tristan Youngs <[email protected]>

* Fix purge and bugs

* Output YAML file to project directory

* Update main_window.py

* Fix export dialog and remove inputfiledir var

* Create loadFile variable-GudrunFile

* Fix incorrect var name

* Fix tests with new loadFile variable

* Print dicts

* Retrieve gudfile using function

* Apply suggestions from code review

* Remove blank line

* Fix tests

* Fix write-out paths

* Fix path to loadfile

* Fix test

* Remove actions step debug

* Remove print debugging

* Fix test

* Load from project, save as project, export input file

* Fix test

* Create class

* Merge branch 'develop' into load-project

* Check if config is used

* Refactor code

* Refactor code

* Advance GudPy exception handling, fix test failiure on empty path

* Declare outpath as const

* Fix purge calls

* Separate gudrun gui from backend- make gudpy module to handle processes

* Check for errors

* Remove unused imports

* Support error handling

* Merge

* Check for errors

* Remove unused imports

* Create gudpy class and put iterators into single module

* Merge branch 'gudpy-class' of https://github.com/disorderedmaterials/GudPy into gudpy-class

* Update imports for iterators

* Update imports for iterators

* change config_ to config

* Moving funcs from main window to control, removing responsibilities from gudrunFile

* Update workers to thread, add progression functions

* Remove use of gudrunFile from OutputHandler

* Delete gui.gudpy

* Move running processes to control class

* Create process module, remove errorOccured, return exitcodes from runs

* Create gui.py to initialise application (rename gui.gudpy to gui.gui)

* Remove 'errorOccured' from gudpy process classes

* Delete process.py

* Create gudrun iterator

* Remove iteration functions from iterators

* Improve and updat composition iterator

* Add compositioniterate function

* Removed update from file

* Add iterators, start batch processing

* Move run containers & run individual files to gudpy class

* Update Composition Iterations

* Add iterate to GUI and connect signals & slots

* Move over main window functions to control

* Delete uneeded atributes from worker classes

* Update batch processing, finalise

* Simplify iteration dialog, return kwargs for iterator initialisation

* Update iterators in control.py

* Update iterators

* Move export and missingfilesdialog to io.py

* Get rid of gudpyGUI class, add names

* Autosave and initialise view with gudrunfile object

* Update imports

* Fix errors

* Fix output charts- use gudrunOutput obj

* Minor fixes, file reorganising

* Fix output organising and output reporting

* Use gudrunOutput for plotting

* Sort flow and updating widgets

* Remove organise output func:

* Fix output updating to only if results are there

* Update mainwidget to ui name change

* Minor update, restructuring, fixing outputChanged() signal

* Fix plotting & chart

* Creat test project dir

* Update tests

* Save gudrun outputs, return correct exitcodes, save exitcodes in process

* Update tests

* Fix missing data files import

* Remove unused imports

* Remove unused imports

* Load missing files dialog

* Load missing files dialog

* remove uneeded imports

* remove uneeded imports

* remove uneeded imports

* Lint

* Fix gudpy spelling, tests

* Fix gudrunfile initialisation assertion

* Fix errors

* Fix test errors, add output handling to iterators

* Remove whitespace from test sample names

* Debug

* Fix finding binaries

* Fix sample name whitespace

* Fix test errors

* Remove old purge function

* Give gudrun access to purge

* Fix runPurge -> pass in purge file correctly

* Fix bugs in tests

* Fix iterators, gui, rename class

* reinitialize yaml?

* Add exclude to iterator output organise

* Remove self.gudrunfile from composition

* Add gudrunfile to iteration dialog

* Add gudrunfile to iteration dialog

* Fix: GUI iterators

* Fix: in worker classes change progress signal/func to progressChanged to avoid naming conflict with progress attribute

* Fix: pass gudrunFile to iterators.organiseOutput()

* Fix: make IterationBaseWorker inherrit from QThread so run() function is properly called on thread start. Remove invalid gudrunFile.gudrunOutput variable from iterator.performIteration()

* Fix: iterators. Ensure init is properly called, results to include iterator name, stop execution if dialog is cancelled

* Delete accidental file

* Lint: remove whitespace

* Fix: iterators for test. Wavelength iter not appending outputs, wrong composition class used

* Fix: Properly report iterator results

* Fix: progress bar. Move updateProgressBar to view, rewrite variable instead of adding to it

* Debug messages for tests

* Fix: Remove correct filepath in teardown(), grab correct gudrunOutput in test inelasticity subtraction iterator

* Debugging- print the .gudw file

* Fix: Remove correct filepath in teardown(), grab correct gudrunOutput in test inelasticity subtraction iterator

Debugging- print the .gudw file

Debugging- print the .gudw file

* Update gitignore

* Debugging- print the .gudw file

* Revert good_water to previous state

* Refactor: Use context in gudfile tests & create one function for loading gudFiles

* Fix: composition iterator initialisation, iterator to inherrit from base class

* Lint: remove unused import

* Fix: composition iterator

* Fix: composition iterator tests & iterator to have sample args passed in

* Fix: output tree construction, check whether or not iterator is used

* Fix: composition iterator. Change process to be managed by gudpy.CompositionIterator

* Fix: gudrunoutput to construct GudFile object and return it instead of just the path, to prevent effects of overriding

* Fix: save loadfile location in GudrunFile

* Docs: add docstrings to gudpy.GudPy

* Fix: GUI processes, reinitialise gudpy object on new loads, checkPurge function to not wipe purgeLocation, check workerThread object for process type

* Feat: allow gudfile path to be specified in write_out()

* Fix: capitalise iterator names, modify inelastic iterator to set proper names

* Feat: save original gudrun file

* Fix: pass around purge object instead of purgeLocationPath

* Fix: check save location before running, fix iterator workflow

* Fix: overwrite in output handler to wipe out existing Gudrun folder

* Fix: management of purge object, startProcess() function to check and run purge, GUI iteration workflow

* Fix: check that prev exists in output_tree before using

* Feat: return if results are empty- don't show an empty results dialog

* Feat: display 'Default run' indicator

* Feat: tests to implement new gudrunOutput gudfiles, use context managers to avoid writing test files to home directory

* Refactor: remove underscores from functions

* Lint: reduce line length

* Fix: pass purge into iterators, remove underscores from functions

* Fix: only check if user wants to save if gudrunfile is initialised

* Fix: configuration dialog initialisation

* Fix: remove setPurgeLocation() function call

* Update gudpy/gui/widgets/core/control.py

Co-authored-by: Tristan Youngs <[email protected]>

* Comments

* Ask to save only if file is modified

* Stronger purge warning message

* Change 'appendDfs' to 'appendDataFiles'

* Feat: Create standard stripping function

* Fix: stripping function

---------

Co-authored-by: Spitz <[email protected]>
Co-authored-by: Tristan Youngs <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants