Modified flopy/modflow/ load methods to allow better subclassing.#986
Closed
CesarRodriguezPereira wants to merge 1 commit into
Closed
Modified flopy/modflow/ load methods to allow better subclassing.#986CesarRodriguezPereira wants to merge 1 commit into
CesarRodriguezPereira wants to merge 1 commit into
Conversation
Modified almost every load method in the flopy/modflow/ classes, changing hard coded references to the class in a @staticmethod def load(.....) to @classmethod def load(cls, .....). The following files [mfchd, mfdrn, mfdrt, mfghb, mfriv, mfwel] didn't have their load methods altered because they used Package.load as an alternative constructor. Replacing the class passed as a parameter to cls should acomplish the same as the applied changes. mfpar.py load method was not modified as it doesn't return an instance of the object (which seems weird).
Author
|
Ok, I've just seen you already implemented the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
In realtion to issue #984
Modified almost every load method in the flopy/modflow/ classes, changing hard coded references to the class in a
@staticmethod def load(f, ...)to@classmethod def load(cls, f, ...). This will allow for better subclassing and it's a more pythonic way to write alternative constructors, even if it's unlikely that many people will go that deep into subclassing the library.The following files
[mfchd, mfdrn, mfdrt, mfghb, mfriv, mfwel]didn't have their load methods altered because they used Package.load as an alternative constructor. Changing those to classmethod and replacing the class passed as a parameter to cls should acomplish the same as the applied changes.mfpar.pyload method was not modified as it doesn't return an instance of the object (which seems weird).