-
Notifications
You must be signed in to change notification settings - Fork 31
Release 0.1.0 #25
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
Merged
Merged
Release 0.1.0 #25
Conversation
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
* Establishing most basic file structure. * Promoting msal_extensions folder in file structure. * Parse __init__ for version number. This flow is based on code found here: https://stackoverflow.com/questions/17583443/what-is-the-correct-way-to-share-package-version-with-setup-py-and-the-package/39671214#39671214 However the pattern was expanded slightly to handle String Literal Prefixes as defined here: https://docs.python.org/3/reference/lexical_analysis.html#grammar-token-stringprefix * Exclude tests from bundled packages. * Fixing formatting nit * Removing "tests" from being a package. This prevents "find_packages" from picking it up, even if there is no exclusion set.
* Adding a class to prevent entry into a code-block until a file lock can be taken. This replicates logic in the .NET exensions repository found here: https://github.com/AzureAD/microsoft-authentication-extensions-for-dotnet/blob/113ecc725891395dd7212aac82d0681f9a0d60ce/src/Shared/CrossPlatLock.cs It will allow .NET processes and Python processes to not step on eachother's toes. It does add a dependency on two new libraries: psutil and portalocker * Adding class doc-comment. * Remove dependency on psutil * Fixing naming convention * Removing unused constants * Removing dir presence assertion
* Add TravisCI * Fixing no-newline nit * Auto-complete error * Fix pylint syntax * Remove duplicate linux jobs * Fix pylint violations * Updating suppression mechanism * Fixing Python2 compat bug * Set distro to xenial * Fixing non-Linux TravisCI support I had to follow this guidance: https://docs.travis-ci.com/user/languages/python/#running-python-tests-on-multiple-operating-systems * Add Windows Python2 * Experimentally change chocolately package name * Fix chocolatey version spec * Add Windows 3.5 to matrix * Fix DocString
* Add DP API Cache * Removing superfluous underscores in Windows components. * Make DATA_BLOB.raw idempotent * WindowsTokenCache._has_state_changed -> WindowsTokenCache.needs_refresh * Revert "Make DATA_BLOB.raw idempotent" This reverts commit b9becbc. Once tested on a Windows box (read, actually tested) it demonstrated that this change causes a seg-fault and crash on Windows. * Broadening scope of lock * Refactoring WindowsDataProtectionAgent constructor * Refactor WindowsTokenCache constructor * Rename Windows read_msal_cache test * Add WindowsTokenCache roundtrip test * Removing unused import * WindowsTokenCache.needs_refresh -> WindowsTokenCache._needs_refresh * Use kwargs for WindowsTokenCache.find * Fixing some pylint errors * Delete C allocated memory when DataBlob is GC'd * Pulling _local_free out of DataBlob.raw Putting LocalFree in `raw` in the first place was a mistake, and represented a fundamental misunderstanding of DataBlob's memory management story. The memory it points at must be managed independently of the DataBlob's lifecycle.
* Fixing all remaining pylint errors in windows.py * Fixing variables named buffer so they don't conflict with python2 names.
* Adding default value for LOCALAPPDATA * Responding to review feedback * Add default LOCALAPPDATA to test file as well * Remove reference to Python3-only type in test * Raise an error instead of returning an empty value. * Correct syntax for using winerr parameter * Fixing OSError syntax to not include named arguments * Chaning to IOError to fix Python2 some more * Suppressing remaining error * Editting fallback error-code
* Increase version in setup.py * Replacing `remove_rt` and `update_rt` with `modify` * Making argument types consistent. * Formatting fix for pylint
* Add KeyChain Cache * Use **kwargs in OSXTokenCache.find * Fixing pylint errors * Use CrossPlatLock in OSX Cache * Adding partially implemented cache MUX * Overload modify instead of more specific commands * Squash warnings about duplicate code * Fix pylint error about unnecessary `elif` statements. * Fixing line formatting err from pylint * Add missing doc-strings as noted by pylint * Revert "Squash warnings about duplicate code" This reverts commit f8f61bd. * Pull duplicated code into single unprotected SerializableTokenCache implementation that can be overriden * Move all token cache implementations into .token_cache Previously, implementations lived in their platform specific files. However, this created an import cycle that pylint was complaining about. * Fixing formatting nit * Mux on generic form of FileTokenCache as fallback plan * Removing redundant test * Fix documentation typo * Making directory creation call in _mkdir_p recursive. * Restructuring what occurs in _read/_write and the other modifiers * Fix kwargs use in constructors * Fix invalid/inaccurate file mode for agnostic backend * Add test for plain file token cache. * Moving error handling out of _read and _write. This accomplishes a couple of things: - Establishes that _read and _write SHOULD error out if they are unable to do their job. This way different places in code base can choose what is and is not an acceptable place to fail a read or write operation. - Keeps the contract that derived class implementers need to fulfill very simple. * Suppress pylint error caused by difference in parameters, which is done strategically with kwargs * Removing duplicated line * Brining all Keychain Error constructors into the same shape. * Don't defer failure of OS module loads * Remove child error-types * Do token cache switching at import time instead of having a separate factory
This squash will remove all those experimental commits that no longer necessary.
marstr
approved these changes
Jul 11, 2019
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.
Each of the sub-PRs included in this release has been tested, reviewed and approved in their individual PR. The purpose of this all-in-one release PR is to organize the release process. Please review/proof-read the following release notes.
Release Notes:
If you prefer to, you can install this branch for your smoke testing: