aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-04-27Enable managing app via setup.pyFrederick Muriuki Muriithi
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.
2022-04-27Implement command-line interface for QC of filesFrederick Muriuki Muriithi
2022-04-26Fix issues caught processing the jobsFrederick Muriuki Muriithi
* Create and push the application context for the worker functions * Fix the update of meta fields
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-25Implement file uploadFrederick Muriuki Muriithi
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-25docs: update documentation on checksFrederick Muriuki Muriithi
2022-04-25UI: Add index page and basic stylingFrederick Muriuki Muriithi
Add template(s) for the index page and some basic styling to get started with.
2022-04-25Ignore the instance directory if present in the repositoryFrederick Muriuki Muriithi
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.
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-20Add scaffolding for web appFrederick Muriuki Muriithi
Add a basic scaffolding for the web interface to the quality-control application.
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-13Add sample files for testsFrederick Muriuki Muriithi
Add some sample files to be used for testing that the parsing works as expected.
2022-04-11Add missing `__init__.py` to prevent import errorsFrederick Muriuki Muriithi
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.
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
2022-04-11Set up initial, failing tests for cell valuesFrederick Muriuki Muriithi
2022-04-11Initialise the QC repositoryFrederick Muriuki Muriithi