Commit Graph
1724 Commits
Author SHA1 Message Date
Steve Kowalik 989b635e33 Allow GithubObject.update() to be passed headers (#1300)
SourceImport.update() is really GithubObject.update(), which just calls
GET on the object's URL. Refetching a source import requires an
additional header, so change GithubObject.update() to pass any it is
given, and add a test for SourceImport.update()

Fixes #1297
2019-11-26 14:29:24 +11:00
Steve Kowalik 3170cafce5 Correct URL for assignees on PRs (#1296)
The URL that was used for POST/DELETE when adding and removing
assignees was the PR itself, when it should be the issue_url.

Fixes #1294
2019-11-25 20:44:13 +11:00
Jiri Popelka fb19d2f271 Use inclusive ordered comparison for 'parameterized' requirement (#1281) 2019-11-25 20:38:07 +11:00
Steve KowalikandJonas Maurus 3e3d8c54ab Fix Branch's push restriction API (#1290)
The current API for changing user and teams push restrictions is
brittle, and flat out incorrect when it comes to adding members. Break
the API, but replace it with one that is correct.

Co-Authored-By: Jonas Maurus <jonas-github@maurus.net>
2019-11-22 20:49:58 +11:00
Steve Kowalik 21e89ff1f8 Deprecate Repository.get_dir_contents() (#1285)
Repository.get_contents() and Repository.get_dir_contents() call the
same endpoint, with slightly different error handling, and with the
difference that get_dir_contents() throws an odd exception if you call
it with a file. get_contents() already even handles being called for a
directory anyway, so deprecate get_dir_contents(), and refactor the code
so the tests pass.

Fixes #1283
2019-11-14 22:17:34 +11:00
Steve Kowalik 3a7232522b Apply some polish to manage.sh (#1284)
Use set -e in manage.sh for some safety, and allow the remote to be
overridden for those of us who have different setups, and switch to
using flake8 for checks like travis does.
2019-11-11 18:36:24 +11:00
Steve Kowalik 05b9ecb471 Publish version 1.44.1 2019-11-07 12:44:10 +11:00
Steve Kowalik fec6034a07 Add Python 3.8 to classifiers list (#1280)
Add 3.8 to the classifiers list, drop the use of 2to3, and run tests
against 3.8.
2019-11-06 22:11:09 +11:00
Adam Baratz ac68274200 Expand Topic class and add test coverage (#1252)
* Expand Topic class and add test coverage

* Add test coverage for Topic properties

* Fix misspelling in comment
2019-11-04 15:06:52 +11:00
Adam Baratz ec3c8d7b3b Add support for team discussions (#1246) (#1249)
* Add support for team discussions (#1246)

* Make a TeamDiscussion completeable
2019-10-31 21:19:10 +11:00
Steve Kowalik 077c80ba2d Correct API for NamedUser.get_organization_membership (#1277)
NamedUser.get_organization_membership() was calling the API method for
fetching the currently authenticated user only, which is incorrect. The
method was not tested directly, so add tests.  Furthermore, Membership
had some errors which had slipped through review, so correct them.

Sadly, this is an API break, since passing the organization as an int
made no sense in this case.

Fixes #1276
2019-10-31 20:56:46 +11:00
Steve Kowalik 6ad592b1b6 Correct header check for 2FA required (#1274)
Currently, we were checking for an uppercase header if GitHub was
refusing our authentication because we didn't provide a token. Requests
returns headers with all lowercase. Fix the const, and add a test for
good measure.

Fixes #1273
2019-10-25 21:01:58 +11:00
Adam Baratz 4d258d9376 Use replay framework for Issue142 test (#1271)
* Use replay framework for Issue142 test

* Remove unused import
2019-10-25 11:02:06 +11:00
Adam Baratz 99d3846813 Sync httpretty version requirement with setup.py (#1265) 2019-10-24 12:26:38 +11:00
Adam Baratz faa1bbd61f Handle unicode strings when recording responses (#1253) (#1254)
* Handle unicode strings when recording responses (#1253)

* Add new test requirements

* Make requirement conditional

* Fix flake8 error

* Compare dict values without worrying about key order

* Improve readability
2019-10-23 14:50:08 +11:00
Pavan Kunisetty a163ba1562 Add assignee removal/addition support to PRs (#1241)
Add assignee removal/addition support to PRs
Fixes #1109

Add test for new PR assignee functionality

Add record file

Addressed comments on #1016
2019-10-22 21:34:55 +11:00
Steve Kowalik db29483729 Check if the version is empty in manage.sh (#1268)
If someone accidentally hits Enter when prompted for the new version, the
script merrily creates a tag called 'v', which is bothersome to tidy up.
Check if the variable is empty and error if it is.
2019-10-22 21:30:44 +11:00
Steve Kowalik bc225f9d11 Encode content for {create,update}_file (#1267)
If a byte object (for Python 3) was passed into either create_file or
update_file, it was attempted to be co-erced into a bytearray, which
failed. Check for encoded content before we encode it into bytes and
then base64 encode it.

Fixes #1266
2019-10-22 21:30:34 +11:00
sharkykh d7947d825f Update changes.rst (#1263) 2019-10-20 10:25:47 +11:00
Steve Kowalik ff716654fd Publish version 1.44 2019-10-19 18:32:53 +11:00
Adam Baratz a076508370 Stop ignoring unused imports and remove them (#1250)
* Stop ignoring unused imports and remove them

* Stop ignoring * imports
2019-10-19 16:43:14 +11:00
Steve Kowalik 27092fb055 Bump httpretty to be a greater or equal to (#1262)
Some distributions do not include httpretty 0.9.6 as is required by
setup.py. Set it to >= rather than ==.
2019-10-18 16:12:44 +11:00
Michell Stuttgart 13e2c7c786 Add close all issues example (#1256) 2019-10-15 10:01:17 +08:00
Steve Kowalik a840a90671 Add six to install_requires (#1245)
dc2f2ad8 introduced a dependancy on six, and added it to requirements,
but not to setup.py, add it.
2019-10-08 16:49:12 +11:00
Pavan Kunisetty e50420f771 Implemented user organization membership. Added test case. (#1237)
1. Added AuthenticatedUser:get_organization_membership
2. Added NamedUser:get_organization_membership
3. Added related tests as GitMembership and related replay data
2019-10-03 22:33:06 +10:00
Wan Liuyang c9ed82b211 Create DEPLOY.md 2019-09-28 14:42:25 +08:00
Steve Kowalik e33858a3dc Support non-default URLs in GithubIntegration (#1229)
The get_installation() method of GithubIntegration was hardcoded to
always use the default URL of api.github.com, making it impossible to
fetch the installation of an GitHub Enterprise installation.
2019-09-25 23:01:31 +10:00
Steve Kowalik 89c967bb77 Cleanup try/except import in PaginatedList (#1228)
Since we're using six.moves to import parse_qs, we don't need to check
for an import exception, we can just import it directly.
2019-09-25 15:22:06 +10:00
Steve Kowalik f91cbac2e3 Add an IncompletableObject exception (#1227)
If a returned object from GitHub does not include an URL, that object
can not be completed, and used to fail with an obscure traceback saying
NoneType has no method startswith. Check for this, and raise
IncompletableObject instead.
2019-09-23 16:40:06 +10:00
Jake Klingensmith 850da5af27 Fix redundant int checks (#1226) 2019-09-23 16:28:07 +10:00
Olof-Joachim Frahm (欧雅福) 020fbebcaf Jump from notifications to related PRs/issues. (#1168)
* Jump from notifications to related PRs/issues.

* Add test case for jumping to related PRs/issues.

Also another method to get notifications scoped to a repository,
otherwise it's hard to keep out sensitive information from the test
cases.
2019-09-22 18:59:21 +10:00
Olof-Joachim Frahm (欧雅福) b84d9b1928 Code review bodies are optional in some cases. (#1169)
* Code review bodies are optional in some cases.

* Add test for approving PRs without body set.
2019-09-20 11:00:07 +10:00
Alon Chanukov 2df7269a95 Update changes.rst (#1223)
* Update changes.rst

* Update changes.rst
2019-09-18 09:46:15 +08:00
Wan Liuyang ab27ba4d2d Do not auto-close issues with high priority tag 2019-09-13 11:21:46 +08:00
Sumithran 74cd6856de Fix bug in repository create new file example PyGithub#1210 (#1211)
* Fix bug in repository create new file example (#1211)

the previous code would throw an 'error path cannot start with a slash'
. Now fixed it by removing a slash in the example. 

Fixes: #1210
2019-09-02 12:01:15 +10:00
Steve Kowalik a0f01cf9cf Remove more Python version specific code (#1193)
Remove a bunch of other call sites that behaved differently between
Python 2 and 3, massively cleaning up a few messy methods.
2019-08-28 15:24:54 +10:00
Steve Kowalik 7bac694ae5 Drop use of assertEquals (#1194)
TestCase.assertEquals is deprecated, at least in modern Python 3, so
which to assertEqual, which is used everywhere else.
2019-08-13 11:03:29 +10:00
Olof-Joachim Frahm (欧雅福) e90cdab06d Fix PR review creation. (#1184)
Do not modify the attributes of a PR when creating a review.
2019-08-09 19:12:55 +10:00
Will Li 8abd50e225 Add support to vulnerability alert and automated security fixes APIs (#1195)
* Add functions about automated security fixes and vulnerability alerts

* Refine methods and add unit test

* Add record

* Update record file  - change user name

* Add get vulnerability alert function

* Fix typo

* Create file for testCreateFile

* Add tests

* Add unit test

* Simplify assert statement
2019-08-08 12:24:33 +10:00
Steve Kowalik 7ddb657d47 Delete Legacy submodule (#1192)
Since the only part of the Legacy submodule that is used and tested is
the transform issue function, refactor it into a Repository method and
delete it.
2019-08-06 15:16:07 +10:00
Steve Kowalik cca8e3a5b4 Remove some uses of atLeastPython3 (#1191)
There are a number of call sites that would behave differently depending
on Python 2 or 3. A fair amount of them are left over from Python 3.2 or
Python 2.6 were the current versions, and it was much harder to write
compatible code for both versions. Happily, that is now in the past, so
refactor some of them out.
2019-08-05 16:14:39 +10:00
Steve Kowalik f93207b4ca Run flake8 in Travis (#1163)
Clean up a few errors I missed, ignore another, and configure flake8 using
a config file to ignore certain errors. The next step would be to remove
the F* ignores.
2019-08-05 15:03:10 +10:00
Steve Kowalik 657f87b5a5 Fix directories for coverage in Travis (#1190)
The directory github/tests no longer exists, correct the path for Travis
goodness.
2019-08-05 14:36:01 +10:00
Steve Kowalik dc2f2ad8cb Switch to using six (#1189)
With the Python 2.7 deadline fast approaching, modernize the codebase
making use of the modernize module to switch to using six, as well as
other upcoming features, such as absolute imports . Stop using 2to3
for Travis, yay!
2019-08-05 14:06:19 +10:00
Steve Kowalik f1ae7200ba Update Repository.update_file() docstring (#1186)
The docstring for Repository.update_file() insisted that content be
base64 encoded, which is not quite correct, update it.

Closes #1069
2019-08-05 09:14:06 +10:00
Steve Kowalik 6e79d2704b Correct return type of MainClass.get_organizations (#1179)
The doc string and the code disagreed about the return type of
MainClass.get_organizations(), correct the code, which was incorrect.

Fixes #1177
2019-07-23 22:38:36 +10:00
Jaskaran Singh 9b1c1e0904 Add cryptography to test-requirements.txt (#1165) 2019-07-20 23:59:52 +08:00
Wan Liuyang 1ced054592 Publish version 1.43.8 2019-07-20 23:56:37 +08:00
Kevin Rickard 8b6b4505b6 Fix bug in recursive repository contents example (#1166)
The previous code would prematurely exit when the intermediate contents list holds one thing, and that one thing has not been processed / expanded yet. Now the exit condition is when the contents list is empty, and there is nothing left to be processed.
2019-07-12 16:30:15 +10:00
ebrown a0731685f5 Add two factor attributes on organizations (#1132)
* Add 2fa attribute on organizations

* Fix property name and test value
2019-07-03 14:51:28 +08:00