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

Refactor code to decouple datasetTypes from Database class #44

Closed
kmdouglass opened this issue Sep 3, 2016 · 2 comments
Closed

Refactor code to decouple datasetTypes from Database class #44

kmdouglass opened this issue Sep 3, 2016 · 2 comments
Milestone

Comments

@kmdouglass
Copy link
Owner

kmdouglass commented Sep 3, 2016

After implementing generic types on #39 , I realized that all dataset types can be decoupled from both the Database and Parser classes. This would greatly make it easier to extend B-Store to new dataset types. It also really doesn't make sense to treat locResults, locMetadata, and widefieldImages as separate types from generics.

Since two of the main purposes of B-Store are to be extensible and to be easily understood when the databases are examined by humans, I should probably refactor the code at this point to completely separate datasetTypes from Parser and Database.

@kmdouglass kmdouglass added this to the v0.3.0 milestone Sep 3, 2016
@kmdouglass kmdouglass changed the title Refactor code to decouple dataset types from Database class Refactor code to decouple datasetTypes from Database class Sep 3, 2016
@kmdouglass
Copy link
Owner Author

kmdouglass commented Sep 10, 2016

The DatasetTypes are now refactored and most the HDFDatabase is as well. The last few steps will be

  1. Remove DatabaseAtom and move its functionality into Dataset
  2. Place the DatasetIDs into a private dict of Dataset.
  3. Assign a function to Dataset that returns named tuples of only the fields requested by the Database
  4. Redo the parser to work with the new Datasets

@kmdouglass
Copy link
Owner Author

All refactored code is now on the development branch.

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

No branches or pull requests

1 participant