Skip to content

Conversation

@antgonza
Copy link
Member

This adds the minimal changes to join labman to qiita via an api. Note that this does not block being able to delete a sample but will be added in a follow up PR.

@antgonza antgonza requested a review from ElDeveloper July 25, 2018 20:18
Copy link
Contributor

@ElDeveloper ElDeveloper left a comment

Choose a reason for hiding this comment

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

Just a couple of comments, would likely be useful to have someone else look over.

with qdb.sql_connection.TRN:
user = _get_user_info(email)
response = {'data': {'email': email, 'level': user.level,
'password': user.password}}
Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps I am missing a high-level design consideration but can you explain the motivation behind allowing consumers to query for a user's password?

Copy link
Member Author

Choose a reason for hiding this comment

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

So labman/other-tool can authenticate. Things to consider, the communication is started via keys that only live in qiita/other-tool (like plugins); qiita only stores hashed passwords, so the retrieve should be "safe". In the other tool, we will have a user add their log/pass, the other tool will hash the pass and then compare to this info.


def test_get(self):
obs = self.get('/qiita_db/user/shared@foo.bar/data/',
headers=self.header)
Copy link
Contributor

Choose a reason for hiding this comment

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

I believe you should be able to add an argument to this method call asjson=True so that the returned data in body is already parsed as a JSON object.

Copy link
Contributor

Choose a reason for hiding this comment

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

If this work, can you fix where appropriate in this PR?

Copy link
Member Author

Choose a reason for hiding this comment

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

k

Copy link
Member Author

Choose a reason for hiding this comment

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

tried, and didn't work, perhaps we are using an older version

Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for giving that a shot. I'm surprised that's the case, maybe there are slightly different test classes in Qiita.

raise HTTPError(404)
except Exception as e:
raise HTTPError(500, reason='Error instantiating sample information '
'%s: %s' % (sid, str(e)))
Copy link
Contributor

Choose a reason for hiding this comment

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

I would probably change this to be 'id=%s: %s: % (sid, str(e)). So the message would be clear about what that number is, for example:

Error instantiating sample information id=11: Internal server error .....

If this makes sense, then it would be worth doing the same in the User's case.

Copy link
Member Author

Choose a reason for hiding this comment

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

k

from .oauth2 import OauthBaseHandler, authenticate_oauth


def _get_sample_info(sid):
Copy link
Contributor

Choose a reason for hiding this comment

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

Looks like _get_user_info and _get_sample_info are essentially the same function except for the class instantiating it. I would probably try to facto these two things into a single function and then make _get_sample_info a shortcut for a call to this new function. Something like:

def _get_instance(object_id, klass, reason):
    """ """
    try:
        object = klass(object_id)
    except qdb.exceptions.QiitaDBUnknownIDError:
        raise HTTPError(404)
    except Exception as e:
        raise HTTPError(500, reason=reason + ' %s: %s' % (object_id, str(e)))


def _get_study_info(sid):
    return _get_instance(email, qdb.user.User, 'Error instantiating user')

def _get_study_info(sid):
    return _get_instance(int(sid), qdb.metadata_template.sample_template.SampleTemplate, 'Error instantiating sample information')

Should ultimately reduce needed code and tests 👍

Copy link
Member Author

Choose a reason for hiding this comment

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

k

@codecov-io
Copy link

codecov-io commented Jul 25, 2018

Codecov Report

Merging #2633 into dev will increase coverage by <.01%.
The diff coverage is 95.19%.

Impacted file tree graph

@@            Coverage Diff             @@
##              dev    #2633      +/-   ##
==========================================
+ Coverage   94.47%   94.47%   +<.01%     
==========================================
  Files         160      166       +6     
  Lines       19596    19698     +102     
==========================================
+ Hits        18513    18610      +97     
- Misses       1083     1088       +5
Impacted Files Coverage Δ
qiita_db/test/test_user.py 99.65% <100%> (ø) ⬆️
qiita_db/handlers/sample_information.py 100% <100%> (ø)
qiita_db/user.py 94.92% <100%> (+0.09%) ⬆️
qiita_db/handlers/user.py 100% <100%> (ø)
qiita_pet/webserver.py 100% <100%> (ø) ⬆️
qiita_db/handlers/util.py 80% <80%> (ø)
qiita_db/handlers/tests/test_user.py 95% <95%> (ø)
qiita_db/handlers/tests/test_util.py 95.23% <95.23%> (ø)
qiita_db/handlers/tests/test_sample_information.py 95.65% <95.65%> (ø)
... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cd3061e...4a36750. Read the comment docs.

@ElDeveloper ElDeveloper merged commit dcdc24b into qiita-spots:dev Jul 26, 2018
antgonza added a commit that referenced this pull request Sep 21, 2018
* fix #1067

* addressing @ElDeveloper comments

* fix #2512

* fix #1999 (#2514)

* fix #1999

* fix template error

* rm maintenance conditional

* some improvements

* fix #1053

* addressing @ElDeveloper comments

* adding secret

* WIP: EBI-ENA test (#2516)

* fix Keemei (#2510)

* rename preprocessed_data_id artifact-id

* prints to debug

* Keemei fix (#2517)

* fix Keemei

* delete keemei

* keemei delete

* rewrite_fastq=True

* rmtree

* add :

* testing EBI

* add secure

* travis tests

* @ElDeveloper key!

* Fix typo

* fix secure

* rm single quote

* Fix 2321 (#2522)

* fix Keemei (#2510)

* fix #2321

* fixing get studies

* fix qiita_db

* addressing @ElDeveloper comments

* fixing error with skipIf

* Illumina models 0318 (#2532)

* fix Keemei (#2510)

* updating illumina models

* adding secure

* Update index.rst (#2533)

* fix Keemei (#2510)

* Keemei fix (#2517)

* fix Keemei

* delete keemei

* keemei delete

* Update index.rst

* Plugin API Doc (#2534)

* fix Keemei (#2510)

* plugin-api

* improve format

* Fix 1810 (#2523)

* fix Keemei (#2510)

* fix #2321

* fixing get studies

* fix qiita_db

* fix #1810

* adding self.ascp_pass

* fix flake8

* flake8

* DOC: Cleanup of JavaScript libraries and licenses (#2536)

* DOC: Cleanup of JavaScript libraries and licenses

There were a few JavaScript files that were not used anywhere and we
were missing a handful of license files. I've cleaned up all of that
(and for consistency made all the "licence" into "license").

Fixes #2535

* DOC: Document all the JS files

* BUG: Add natural sorting for data tables

* adding initial download/redbiom info

* adding docs

* addressing @ElDeveloper comments

* Fix aid str workflow (#2537)

* fix Keemei (#2510)

* fix int/str errors with workflows

* adding a patch to fix all ints parameters

* all -> any patch 64

* fix #2519

* fix #2524

* fix #2531

* fix #2529

* split qiita-cron-job into multiple commands

* rm leftover docs

* Update downloading.rst

* fix_reference_order (#2547)

* addressing @stephanieorch comments

* addressing @ElDeveloper comments

* Fix 2492 (#2544)

* fix Keemei (#2510)

* fix #2492

* flake8

* Redbiom -> redbiom @wasade

* addressing @wasade comments

* Update .travis.yml

* Fix 2505 (#2545)

* fix Keemei (#2510)

* fix #2505

* fix errors

* '' -> 'not provided'

* Fix 2530 (#2546)

* fix #2530

* fix errors

* missed 1 error

* more erros

* fix-secure

* improve available files display

* fix flake8

* fix #2580 (#2584)

* fix #2581 (#2583)

* fixed analysis page figure (#2578)

* fixed analysis page figure

* removed "missing:" from null values

* fix #2570 (#2586)

* fix #2590

* improve sample summary speed (#2591)

* fix #2562 (#2588)

* fix #2562

* address @ElDeveloper comments

* Update sampleTemplateVue.js

* Fix 2565 (#2587)

* fix #2565

* rm extra if in make-public

* fix #2574 (#2585)

* fix #2574

* fix error

* fix ebi submission error

* fix ebi assertin

* adding qiimp via iframes (#2582)

* adding qiimp via iframes

* addressing @ElDeveloper comments

* addressing #AmandaBirmingham comment

* fix-test

* allow to hide job via GUI (#2593)

* allow to hide job via GUI

* address @ElDeveloper comment

* Fix upload and faq page (#2594)

* fixed uplaod and faq page

* fixed uplaod and faq page

* fixed code and uplaod explanations

* fixed code and uplaod explanations

* Update upload.html

* fix error

* fixing bugs found during initial review

* fix bug in delete column sample template (#2597)

* Add qiimp xlsx (#2599)

* fix-secure

* improve available files display

* initial code for accepting xlsx qiimp files

* adding more tests and valid python 2.7 code for openpyxl

* adding empty test to load_template_to_dataframe

* addressing @ElDeveloper comment

* rm qiimp link

* Rm qiimp link (#2603)

* fix-secure

* improve available files display

* rm qiimp link

* fix #2606

* select all/none from upload

* fix #2610 (#2616)

* fix #2602

* fix #2601 (#2617)

* fix #2601

* sphere->circle

* circle_name -> var circle_name

* adding ChangeLog message

* TRAVIS_PULL_REQUEST -> TRAVIS_BRANCH

* addressing @adswafford comment

* add ignore parent for command merging scheme (#2619)

* add ignore parent for command merging scheme

* fix error

* adding get_validator_jobs (#2620)

* adding get_validator_jobs

* fix error with val_job

* addressing @ElDeveloper comments

* fixes #2629 changed button text from Select None to Unselect All

* fixes #2629 changed button text from Select None to Unselect All (#2631)

* Labman minimal changes (#2633)

* adding SampleInfoDBHandler

* adding UserInfoDBHandlerTests

* fix error

* addressing @ElDeveloper comments

* adding ssh backend support

* rm QiitaStudySearch (#2638)

* rm QiitaStudySearch

* rm import search

* fixing error

* added paramiko

* Fix 2635 (#2639)

* rm QiitaStudySearch

* rm import search

* fixing error

* fix #2635

* returning private status to preps in test_generate_study_list

* addressing @ElDeveloper comments

* fix #2627 (#2640)

* install scp package for python

* adds UsersListDBHandler (#2636)

* adds UsersListDBHandler

* addressing @ElDeveloper comments

* rm leftover lines

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* fix #2632 (#2643)

* fix #2632

* fixing error

* fix #2608

* fix #2600

* start of edits to the upload page for SCP gui

* fix #2622 (#2646)

* fix #2622

* fix error

* addressing @ElDeveloper comments

* fix errors

* Fix 2623 (#2644)

* fix #2632

* fixing error

* initial GUI changes

* fix #2623

* sid only once

* fix errors

* addressing @ElDeveloper comments

* fix error

* @ElDeveloper comment sample_name -> sample_names

* Add specimen_id attribute to the study object (#2649)

* Add specimen identifier to the study table

* Add specimen_id_column to study object

This also adds tests and updates the DBS file, and patch (which was
broken before).

* ENH: Add unique_columns method to template objects

* Remove maxDiff

* ENH: Send response data back to the client

* Make study's specimen_id_column nullable

* Generalize study_tags_patch_request to be study-wide

* Add Study patch handler

And update tests, etc

* Update UI with the new patch handlers

* Add missing attribute

* ENH: Add prepopulate of the UI

* ENH: Add checks to prevent deletion of a specimen_id column

* DOC: Delete comment

* TST: Fix broken tests

* PERF: Don't precompute unique columns

* ENH: Add help and make specimen column deselectable

* ENH: Sort column names

* BUG: Fix column width for update button

* DOC: Remove reference to labman

* fix #2651 and partial #2652

* Fixes #2398
Strips UTF-8 characters from study titles
UTF-8 characters that are not also printable ASCII characters are stripped
from new study titles, as well as existing studies flagged 'public'. This is
because study titles are passed as metadata to new analyses, and some analysis
packages may not work well with them.

* Resolving conflict with another new patch file.

* Rename file

* 67.py renamed to 66.py. minor edit to edit_study.html

* Update study title only if UTF-8 characters were removed.

* addressing @ElDeveloper comments

* fix _get_valid_files

* glob.glob -> glob

* fix error

* fix error

* bringing back download_remote

* improving tests

* rm docstrings as requested by @ElDeveloper

* fixing tests - remote_files->local_files

* Scp (#2660)

* fixes #2629 changed button text from Select None to Unselect All

* adding ssh backend support

* added paramiko

* install scp package for python

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* addressing @ElDeveloper comments

* fix _get_valid_files

* glob.glob -> glob

* fix error

* fix error

* bringing back download_remote

* improving tests

* rm docstrings as requested by @ElDeveloper

* fixing tests - remote_files->local_files

* Fixes #1802 (#2659)

Password validation extended to allow only printable ASCII characters
A custom validator was written to check whether a password string contains any UTF-8 characters that are not also printable ASCII characters and return false. if true.

* init scp-gui

* finishing scp-gui

* Fixes #2398 (#2658)

* Fixes #2398
Strips UTF-8 characters from study titles
UTF-8 characters that are not also printable ASCII characters are stripped
from new study titles, as well as existing studies flagged 'public'. This is
because study titles are passed as metadata to new analyses, and some analysis
packages may not work well with them.

* Resolving conflict with another new patch file.

* Rename file

* 67.py renamed to 66.py. minor edit to edit_study.html

* Update study title only if UTF-8 characters were removed.

* UTF-8 stripper now processes all study-types.

Code wrapped in a for loop and iterates through a list of known Study status-types; seems a little cleaner than union-ing multiple result sets.

* 66.py now passes flake8 tests.

* Plugin outdate version (#2664)

* adding GUI changes for deprecated artifacts

* fixing some tests

* pull upstream dev

* addressing @ElDeveloper comments

* fixing errors

* fixing more errors

* update europeanbioinformaticsinstitute

* improve ebi submission

* Qsub scripts (#2667)

* ADD: qsub scripts in use on qiita.ucsd.edu:

* STY: flake8

* flake8

* adding changelog for this release

* adding plugin updates

* Dev 2553 (#2668)

* minor spelling change

* Migrating to per-template forbidden-words list

Removed validate_invalid_column_names() from util.py, as its behavior was very specific to the needs of MetadataTemplate._clean_validate_template().
Decomposed validate_invalid_column_names() into separate methods, each validating separate concerns (invalid characters, pgsql reserved words, forbidden words).
MetadataTemplate, and each Template sub-class will contain their own list of forbidden words.
Currently, forbidden list is explicitly passed down call-stack; will clean-up as appropriate.

* Removed explicit passing of forbidden words.

Classes and tests now rely on member variable _forbidden_words to define the list of forbidden words for that Template.

* Basic tests recreated for new helper methods

_identify_forbidden_words_in_column_names,
_identify_pgsql_reserved_words_in_column_names,
and  _identify_column_names_with_invalid_characters
now have test cases.

* Fixes #2553 Supports per-template forbidden words

Support for per-template forbidden word lists.
Unit tests supporting changes in util.py, base_metadata_template, etc. added.

* Removed Python3 import-conditional

Import import-conditional inherited from util.py

* Removed docstrings for new tests.

Removed docstrings for new tests.
Replaced second import of quitta_db constant with a module-wide variable.

* Removed PY3 from import

* Modified docstring for clean_validate_template

Silent dropping of 'qiita_study_id' and 'qiita_prep_id' added in
docstring.

* Updated comment

* Modified unit-tests

MetadataTemplate list of forbidden words changed to {}.
Migrated forbidden_words unittest from test_base_metadata_template.py to
 test_sample_template.py, to give it a defined list of words to test against.
Removed previously commented-out tests.

* Changed _forbidden_words to be empty set {}

* Removed comment

* Flake8-compliant comments

* SampleTemplate category names changed

Category names changed from forbidden words (primer, barcode, run_prefix) to
alternatives.

* Added unittest to confirm silent drops

Unittest confirms silent dropping of qiita_prep_id and qiita_study_id from
parameter value for clean_validate_template().

* Fix Tests

A few tests should be testing with assertEquals, rather than assertTrue.

* Modified test to use assertEquals

Test modified to use assertEquals, over assertTrue.

* Replaced AssertTrue w/AssertEquals

* Test modified to use assertEquals needed minor flake8

* assertItemsEqual assertion fix

* fix artifact listing

* checking for upload_folder

* Change priority of password validation messages

'No UTF-8 characters' and 'Passwords do not match' no prioritized over
password-length message.

* fix scp instructions

* addressing @tkosciol comment
antgonza pushed a commit that referenced this pull request Oct 8, 2018
* fix #1067

* addressing @ElDeveloper comments

* fix #2512

* fix #1999 (#2514)

* fix #1999

* fix template error

* rm maintenance conditional

* some improvements

* fix #1053

* addressing @ElDeveloper comments

* adding secret

* WIP: EBI-ENA test (#2516)

* fix Keemei (#2510)

* rename preprocessed_data_id artifact-id

* prints to debug

* Keemei fix (#2517)

* fix Keemei

* delete keemei

* keemei delete

* rewrite_fastq=True

* rmtree

* add :

* testing EBI

* add secure

* travis tests

* @ElDeveloper key!

* Fix typo

* fix secure

* rm single quote

* Fix 2321 (#2522)

* fix Keemei (#2510)

* fix #2321

* fixing get studies

* fix qiita_db

* addressing @ElDeveloper comments

* fixing error with skipIf

* Illumina models 0318 (#2532)

* fix Keemei (#2510)

* updating illumina models

* adding secure

* Update index.rst (#2533)

* fix Keemei (#2510)

* Keemei fix (#2517)

* fix Keemei

* delete keemei

* keemei delete

* Update index.rst

* Plugin API Doc (#2534)

* fix Keemei (#2510)

* plugin-api

* improve format

* Fix 1810 (#2523)

* fix Keemei (#2510)

* fix #2321

* fixing get studies

* fix qiita_db

* fix #1810

* adding self.ascp_pass

* fix flake8

* flake8

* DOC: Cleanup of JavaScript libraries and licenses (#2536)

* DOC: Cleanup of JavaScript libraries and licenses

There were a few JavaScript files that were not used anywhere and we
were missing a handful of license files. I've cleaned up all of that
(and for consistency made all the "licence" into "license").

Fixes #2535

* DOC: Document all the JS files

* BUG: Add natural sorting for data tables

* adding initial download/redbiom info

* adding docs

* addressing @ElDeveloper comments

* Fix aid str workflow (#2537)

* fix Keemei (#2510)

* fix int/str errors with workflows

* adding a patch to fix all ints parameters

* all -> any patch 64

* fix #2519

* fix #2524

* fix #2531

* fix #2529

* split qiita-cron-job into multiple commands

* rm leftover docs

* Update downloading.rst

* fix_reference_order (#2547)

* addressing @stephanieorch comments

* addressing @ElDeveloper comments

* Fix 2492 (#2544)

* fix Keemei (#2510)

* fix #2492

* flake8

* Redbiom -> redbiom @wasade

* addressing @wasade comments

* Update .travis.yml

* Fix 2505 (#2545)

* fix Keemei (#2510)

* fix #2505

* fix errors

* '' -> 'not provided'

* Fix 2530 (#2546)

* fix #2530

* fix errors

* missed 1 error

* more erros

* fix-secure

* improve available files display

* fix flake8

* fix #2580 (#2584)

* fix #2581 (#2583)

* fixed analysis page figure (#2578)

* fixed analysis page figure

* removed "missing:" from null values

* fix #2570 (#2586)

* fix #2590

* improve sample summary speed (#2591)

* fix #2562 (#2588)

* fix #2562

* address @ElDeveloper comments

* Update sampleTemplateVue.js

* Fix 2565 (#2587)

* fix #2565

* rm extra if in make-public

* fix #2574 (#2585)

* fix #2574

* fix error

* fix ebi submission error

* fix ebi assertin

* adding qiimp via iframes (#2582)

* adding qiimp via iframes

* addressing @ElDeveloper comments

* addressing #AmandaBirmingham comment

* fix-test

* allow to hide job via GUI (#2593)

* allow to hide job via GUI

* address @ElDeveloper comment

* Fix upload and faq page (#2594)

* fixed uplaod and faq page

* fixed uplaod and faq page

* fixed code and uplaod explanations

* fixed code and uplaod explanations

* Update upload.html

* fix error

* fixing bugs found during initial review

* fix bug in delete column sample template (#2597)

* Add qiimp xlsx (#2599)

* fix-secure

* improve available files display

* initial code for accepting xlsx qiimp files

* adding more tests and valid python 2.7 code for openpyxl

* adding empty test to load_template_to_dataframe

* addressing @ElDeveloper comment

* rm qiimp link

* Rm qiimp link (#2603)

* fix-secure

* improve available files display

* rm qiimp link

* fix #2606

* select all/none from upload

* fix #2610 (#2616)

* fix #2602

* fix #2601 (#2617)

* fix #2601

* sphere->circle

* circle_name -> var circle_name

* adding ChangeLog message

* TRAVIS_PULL_REQUEST -> TRAVIS_BRANCH

* addressing @adswafford comment

* add ignore parent for command merging scheme (#2619)

* add ignore parent for command merging scheme

* fix error

* adding get_validator_jobs (#2620)

* adding get_validator_jobs

* fix error with val_job

* addressing @ElDeveloper comments

* fixes #2629 changed button text from Select None to Unselect All (#2631)

* Labman minimal changes (#2633)

* adding SampleInfoDBHandler

* adding UserInfoDBHandlerTests

* fix error

* addressing @ElDeveloper comments

* rm QiitaStudySearch (#2638)

* rm QiitaStudySearch

* rm import search

* fixing error

* Fix 2635 (#2639)

* rm QiitaStudySearch

* rm import search

* fixing error

* fix #2635

* returning private status to preps in test_generate_study_list

* addressing @ElDeveloper comments

* fix #2627 (#2640)

* adds UsersListDBHandler (#2636)

* adds UsersListDBHandler

* addressing @ElDeveloper comments

* rm leftover lines

* fix #2632 (#2643)

* fix #2632

* fixing error

* fix #2608

* fix #2600

* fix #2622 (#2646)

* fix #2622

* fix error

* addressing @ElDeveloper comments

* fix errors

* Fix 2623 (#2644)

* fix #2632

* fixing error

* initial GUI changes

* fix #2623

* sid only once

* fix errors

* addressing @ElDeveloper comments

* fix error

* @ElDeveloper comment sample_name -> sample_names

* Add specimen_id attribute to the study object (#2649)

* Add specimen identifier to the study table

* Add specimen_id_column to study object

This also adds tests and updates the DBS file, and patch (which was
broken before).

* ENH: Add unique_columns method to template objects

* Remove maxDiff

* ENH: Send response data back to the client

* Make study's specimen_id_column nullable

* Generalize study_tags_patch_request to be study-wide

* Add Study patch handler

And update tests, etc

* Update UI with the new patch handlers

* Add missing attribute

* ENH: Add prepopulate of the UI

* ENH: Add checks to prevent deletion of a specimen_id column

* DOC: Delete comment

* TST: Fix broken tests

* PERF: Don't precompute unique columns

* ENH: Add help and make specimen column deselectable

* ENH: Sort column names

* BUG: Fix column width for update button

* DOC: Remove reference to labman

* fix #2651 and partial #2652

* Fixes #2398
Strips UTF-8 characters from study titles
UTF-8 characters that are not also printable ASCII characters are stripped
from new study titles, as well as existing studies flagged 'public'. This is
because study titles are passed as metadata to new analyses, and some analysis
packages may not work well with them.

* Resolving conflict with another new patch file.

* Rename file

* 67.py renamed to 66.py. minor edit to edit_study.html

* Update study title only if UTF-8 characters were removed.

* Scp (#2660)

* fixes #2629 changed button text from Select None to Unselect All

* adding ssh backend support

* added paramiko

* install scp package for python

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* testing scp directly in travis

* addressing @ElDeveloper comments

* fix _get_valid_files

* glob.glob -> glob

* fix error

* fix error

* bringing back download_remote

* improving tests

* rm docstrings as requested by @ElDeveloper

* fixing tests - remote_files->local_files

* UTF-8 stripper now processes all study-types.

Code wrapped in a for loop and iterates through a list of known Study status-types; seems a little cleaner than union-ing multiple result sets.

* 66.py now passes flake8 tests.

* Additional Processing Command functionality

Software.Command extended to support additional metadata regarding
extra processing that may be required to merge BIOMs.

* Additional Processing Command functionality

Software.Command extended to support additional metadata regarding
extra processing that may be required to merge BIOMs.

* Fixed bug

Added conditional check, where it was missing

* Pass flake8

Last-minute comment did not meet flake8's approval.

* Fix _method in Click

_methods renamed to Qmethods

* Specified Click 6.7 as a dependency

* Misc cleanup

Comments modified as requested.
'Q-functions' in qiita-recover-jobs have been reverted to begin with
'_'.

* Modified qiita-db.dbs

Modified qiita-db.dbs to include additional column defined in
software_command table.

* Added comment metadata to new column.

* Refined tests

* Replaced Qtest w/_test

* Reverted functions beginning w/Q to '_'.
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.

3 participants