aboutsummaryrefslogtreecommitdiff
path: root/quality_control
AgeCommit message (Collapse)Author
2022-05-18Return errors when found or None otherwiseFrederick Muriuki Muriithi
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.
2022-05-02Optimise strain names parsingFrederick Muriuki Muriithi
- Use a way faster way of parsing the strains file
2022-04-27Implement command-line interface for QC of filesFrederick Muriuki Muriithi
2022-04-26Queue file parsing jobsFrederick Muriuki Muriithi
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
2022-04-25Call parsing function. Fix a few issues.Frederick Muriuki Muriithi
* 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
2022-04-25Advance seek_position on errorFrederick Muriuki Muriithi
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.
2022-04-25`take`: function to select a few items from an iterableFrederick Muriuki Muriithi
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.
2022-04-21Collect all the errorsFrederick Muriuki Muriithi
Build a function to collect all the parsing errors into a "sequence" of dict objects containing the issues found.
2022-04-20Update parameters for testsFrederick Muriuki Muriithi
Derive a "correct" sample file from an existing sample file with errors for testing with large files. Fix issue caught by test.
2022-04-20Fix linting issuesFrederick Muriuki Muriithi
2022-04-13Implement remaining file parsing testsFrederick Muriuki Muriithi
* Implement remaining file parsing tests and some helpers functions needed for ensuring the tests work.
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 failsFrederick Muriuki Muriithi
* 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
2022-04-13Add tests outline for file parsingFrederick Muriuki Muriithi
Add dummy failing tests and a stub for the parsing of the files
2022-04-13Update Exception nameFrederick Muriuki Muriithi
Change the exception name to be more descriptive.
2022-04-11Implement MVI for headers validity checking functionFrederick Muriuki Muriithi
Add a minimum viable implementation that passes the tests for the function that checks for the validity of the headers
2022-04-11Add tests for headersFrederick Muriuki Muriithi
* Add tests to check for validity of the headers * Add stubs for the tests
2022-04-11Implement MVP for valid_value functionsFrederick Muriuki Muriithi
* Implement the minimum viable functions for the average and standard error `valid_value` functions.
2022-04-11Implement tests and stubs for functions under testFrederick Muriuki Muriithi