aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2022-05-19Update Web-UI: use new error collection paradigm...- README.org: document how to run scripts manually - manifest.scm: remove python-rq as a dependency - qc_app/jobs.py: rework job launching and processing - qc_app/parse.py: use reworked job processing - qc_app/templates/job_progress.html: display progress correctly - qc_app/templates/parse_results.html: display final results - scripts/worker.py: new worker script Frederick Muriuki Muriithi
2022-05-19Extract progress indication from the parsing...Since progress indication is not part of the parsing, this commit extracts the progress indication into functions with well defined input arguments that hide the progress indication logic from the parsing function. Frederick Muriuki Muriithi
2022-05-18Update CLI: use new error collection code...Use the new code that collects the errors in the CLI client. Frederick Muriuki Muriithi
2022-05-18Remove obsoleted code. Fix linting errors....Remove the old code that relied on exceptions to parse errors in the uploaded files. Frederick Muriuki Muriithi
2022-05-18Simplify slot names and fix namedtuple type name...- replace `line_number` with `line` and `column_number` with `column` to save on slot name lengths. - Fix the type name for the `DuplicateHeading` namedtuple type Frederick Muriuki Muriithi
2022-05-18Parse files with new non-exception functions...Parse the files with the new functions that return error objects instead of raising exceptions Frederick Muriuki Muriithi
2022-05-18Return errors when found or None otherwise...This commit adds a number of functions that return the error object when an error is found, or `None` otherwise. It avoids the use of exceptions as control flow constructs. Frederick Muriuki Muriithi
2022-05-11Remove unnecessary packages for the CLI versionFrederick Muriuki Muriithi
2022-05-11Update the guix definitions for the applicationFrederick Muriuki Muriithi
2022-05-11Document generating and running qc for/with dockerFrederick Muriuki Muriithi
2022-05-11Tag string as a python f-string to fix error display bugFrederick Muriuki Muriithi
2022-05-09Update documentation and license...Add documentation on how to run the development version of the GeneNetwork Quality Control application. Update the license to the agpl3+ license used by genenetwork3 Frederick Muriuki Muriithi
2022-05-05Add a guix definition to enable installationFrederick Muriuki Muriithi
2022-05-05Add the long_description field for setuptoolsFrederick Muriuki Muriithi
2022-05-05Add `etc' as a package so that files underneath it are installedFrederick Muriuki Muriithi
2022-05-05Add package management configsFrederick Muriuki Muriithi
2022-05-02Optimise strain names parsing...- Use a way faster way of parsing the strains file Frederick Muriuki Muriithi
2022-04-28Use sqlite3 to save the jobs metadata...* Use sqlite to save the jobs metadata and enable UI update of the progress for large files Frederick Muriuki Muriithi
2022-04-28Update queuing and display results of file parsing...* Make the 'worker' functions free from needing the application context by passing all the details they need as arguments. * Enable the display of parsing results. Frederick Muriuki Muriithi
2022-04-27Enable managing app via setup.py...While the application is developed with GNU Guix, the end user might not be using it, and therefore, this commit provides a way for the user to install the application with the usual python package management systems. Frederick Muriuki Muriithi
2022-04-27Implement command-line interface for QC of filesFrederick Muriuki Muriithi
2022-04-26Fix issues caught processing the jobs...* Create and push the application context for the worker functions * Fix the update of meta fields Frederick Muriuki Muriithi
2022-04-26Queue file parsing jobs...Enable the queuing of file parsing jobs, since the files could be really large and take a long time to parse and present results. * etc/default_config.py: Add default config for redis server * manifest.scm: Add redis, and rq as dependencies * qc_app/__init__.py * qc_app/jobs.py: module to hold utilities for management of the jobs * qc_app/parse.py: Enqueue the job - extract file-parsing code to callable function * qc_app/templates/base.html: Enable addition of extra meta tags * qc_app/templates/job_progress.html: template to display job progress * qc_app/templates/no_such_job.html: template to indicate when a job id is invalid * quality_control/parsing.py: Add the total size parsed so far Frederick Muriuki Muriithi
2022-04-25Call parsing function. Fix a few issues....* qc_app/entry.py: Pass filetype onward to parsing endpoint * qc_app/parse.py: Call the function(s) necessary to parse a file * quality_control/errors.py: Fix argument passing to super class Frederick Muriuki Muriithi
2022-04-25Implement file uploadFrederick Muriuki Muriithi
2022-04-25Advance seek_position on error...Advance the seek position, once we have yielded up an error to causing an infinite loop in certain conditions, where the `parse_errors` function ends up resuming the gile in the same position once it experiences an error. Frederick Muriuki Muriithi
2022-04-25`take`: function to select a few items from an iterable...To avoid processing all the items in an iterable, the `take` function is added in this commit. It realised a limited number (specified at call time) of items from the iterable given. Frederick Muriuki Muriithi
2022-04-25docs: update documentation on checksFrederick Muriuki Muriithi
2022-04-25UI: Add index page and basic styling...Add template(s) for the index page and some basic styling to get started with. Frederick Muriuki Muriithi
2022-04-25Ignore the instance directory if present in the repository...Ignore the flask instance directory if it is present in the repository. The directory being present in the repository is mostly a development convenience feature. Frederick Muriuki Muriithi
2022-04-21Collect all the errors...Build a function to collect all the parsing errors into a "sequence" of dict objects containing the issues found. Frederick Muriuki Muriithi
2022-04-20Add scaffolding for web app...Add a basic scaffolding for the web interface to the quality-control application. Frederick Muriuki Muriithi
2022-04-20Update parameters for tests...Derive a "correct" sample file from an existing sample file with errors for testing with large files. Fix issue caught by test. Frederick Muriuki Muriithi
2022-04-20Fix linting issuesFrederick Muriuki Muriithi
2022-04-13Implement remaining file parsing tests...* Implement remaining file parsing tests and some helpers functions needed for ensuring the tests work. Frederick Muriuki Muriithi
2022-04-13Check for `DuplicateHeader` errors in `parse_file` functionFrederick Muriuki Muriithi
2022-04-13Update `valid_header` to pass check for duplicated headersFrederick Muriuki Muriithi
2022-04-13Add test for duplicate headersFrederick Muriuki Muriithi
2022-04-13Implement test for parsing that fails...* Improve tests that ensure parsing fails in case the file has errors * Add strains.csv file * Implement minimum viable functionality that passes the implemented tests Frederick Muriuki Muriithi
2022-04-13Add tests outline for file parsing...Add dummy failing tests and a stub for the parsing of the files Frederick Muriuki Muriithi
2022-04-13Update Exception name...Change the exception name to be more descriptive. Frederick Muriuki Muriithi
2022-04-13Add sample files for tests...Add some sample files to be used for testing that the parsing works as expected. Frederick Muriuki Muriithi
2022-04-11Add missing `__init__.py` to prevent import errors...Without the `tests/__init__.py` file, the tests directory was not considered a package and therefore, running: $ pytest would fail with import error notifications. This fixes that. Frederick Muriuki Muriithi
2022-04-11Implement MVI for headers validity checking function...Add a minimum viable implementation that passes the tests for the function that checks for the validity of the headers Frederick Muriuki Muriithi
2022-04-11Add tests for headers...* Add tests to check for validity of the headers * Add stubs for the tests Frederick Muriuki Muriithi
2022-04-11Implement MVP for valid_value functions...* Implement the minimum viable functions for the average and standard error `valid_value` functions. Frederick Muriuki Muriithi
2022-04-11Implement tests and stubs for functions under testFrederick Muriuki Muriithi
2022-04-11Set up initial, failing tests for cell valuesFrederick Muriuki Muriithi
2022-04-11Initialise the QC repositoryFrederick Muriuki Muriithi