Skip to content

Conversation

@lazka
Copy link
Contributor

@lazka lazka commented Oct 28, 2023

According to https://docs.github.com/en/rest/overview/resources-in-the-rest-api#schema the GitHub API only returns timestamps in the format YYYY-MM-DDTHH:MM:SSZ which we can parse with the Python stdlib back to 3.7 if we handle the "Z" ourselves.

This removes the test cases using fractional seconds since the stdlib (< 3.11) can't parse them and according to the above GitHub doesn't return them anyway.

@lazka
Copy link
Contributor Author

lazka commented Oct 28, 2023

Just did this because I noticed the new dependencies (python-dateutil/six) being installed an this seemed possible, but I can understand if this is deemed too risky/not worth it :)

Note that with 3.11 fromisoformat() can parse many more things, so in the future the workaround can be removed https://docs.python.org/3/library/datetime.html#datetime.datetime.fromisoformat

@codecov-commenter
Copy link

codecov-commenter commented Oct 28, 2023

Codecov Report

Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (e7ce818) 96.74% compared to head (7b14ec4) 96.74%.

Files Patch % Lines
github/GithubObject.py 93.33% 1 Missing ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2804   +/-   ##
=======================================
  Coverage   96.74%   96.74%           
=======================================
  Files         142      142           
  Lines       14364    14376   +12     
=======================================
+ Hits        13896    13908   +12     
  Misses        468      468           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@EnricoMi
Copy link
Collaborator

Thanks for the pointer to the timestamp schema, I was looking for that but could not find it. With that, we could simplify parsing the timestamps as you suggest.

However, in #2772 we are going to parse the last-modified header timestamp, which has not such a constraint. With that, we would still have to depend on the python-dateutil package.

However, I think we can still apply your simplification. Let's first merge #2772 and then adjust your PR.

What do you think?

@lazka
Copy link
Contributor Author

lazka commented Nov 22, 2023

However, in #2772 we are going to parse the last-modified header timestamp, which has not such a constraint. With that, we would still have to depend on the python-dateutil package.

I went digging a bit how other libs handle HTTP dates, and for example in werkzeug the parsing is done here, with some stdlib help: https://github.com/pallets/werkzeug/blob/eafbed0ce2a6bdf60e62de82bf4a8365188ac334/src/werkzeug/http.py#L961-L987 as can be seen used here: https://github.com/pallets/werkzeug/blob/eafbed0ce2a6bdf60e62de82bf4a8365188ac334/src/werkzeug/sansio/http.py#L51

Maybe something to consider.

However, I think we can still apply your simplification. Let's first merge #2772 and then adjust your PR.

What do you think?

Sure, sounds good. I'm happy to update the PR and/or extend it if needed.

@EnricoMi
Copy link
Collaborator

#2772 has been merged, go for it!

@lazka lazka force-pushed the release-v-remove-dateutils branch 2 times, most recently from cb2984b to 7b14ec4 Compare December 2, 2023 14:21
@lazka
Copy link
Contributor Author

lazka commented Dec 2, 2023

I've split the changes into 4 commits now, see the commit messages for details.

The first one ports HTTP header parsing, the second GitHub API parsing, then porting of some unrelated tests, and finally the dependency is removed.

Copy link
Collaborator

@EnricoMi EnricoMi left a comment

Choose a reason for hiding this comment

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

Very clean PR, thanks for the contribution!

lazka added 4 commits December 5, 2023 21:24
Dates in HTTP are currently specified in RFC 7231, which references
RFC 5322 for the format, which is an updated version of RFC 2822.
To replace dateutil we can use the email.utils.parsedate_to_datetime()
stdlib function, which parses RFC 2822 dates.

It also parses the obsolete variants without a timezone and returns
timezone naive datetime objects. RFC 7231 states that UTC should be
assumed in such a case, so convert it to a timezone aware instance
with UTC in such a case.

This is the same way werkzeug parses HTTP dates, see
https://werkzeug.palletsprojects.com/en/3.0.x/http/#werkzeug.http.http_date
According to https://docs.github.com/en/rest/overview/resources-in-the-rest-api#schema
the GitHub API only returns timestamps in the format YYYY-MM-DDTHH:MM:SSZ which
we can parse with the Python stdlib back to 3.7 if we handle the "Z" ourselves.

This removes the test cases using fractional seconds since the stdlib (< 3.11) can't
parse them and according to the above GitHub doesn't return them anyway.
Just use the stdlib equivalents
@EnricoMi EnricoMi force-pushed the release-v-remove-dateutils branch from 7b14ec4 to 26d92df Compare December 5, 2023 20:24
@EnricoMi EnricoMi merged commit ab131a2 into PyGithub:main Dec 5, 2023
@lazka
Copy link
Contributor Author

lazka commented Dec 6, 2023

Thanks!

@EnricoMi EnricoMi mentioned this pull request Dec 10, 2023
lettuce-bot bot referenced this pull request in lettuce-financial/github-bot-signed-commit Jan 30, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [PyGithub](https://togithub.com/pygithub/pygithub) | `==2.1.1` ->
`==2.2.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/PyGithub/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/PyGithub/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/PyGithub/2.1.1/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/PyGithub/2.1.1/2.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pygithub/pygithub (PyGithub)</summary>

###
[`v2.2.0`](https://togithub.com/PyGithub/PyGithub/releases/tag/v2.2.0)

[Compare
Source](https://togithub.com/pygithub/pygithub/compare/v2.1.1...v2.2.0)

#### Breaking Changes

The `github.Comparison.Comparison` instance returned by
`Repository.compare` provides a `commits` property that used to return a
`list[github.Commit.Commit]`, which has now been changed to
`PaginatedList[github.Commit.Commit]`. This breaks user code that
assumes a `list`:

```python
commits = repo.compare("v0.6", "v0.7").commits
no_of_commits = len(commits)  # will raise a TypeError
```

This will raise a `TypeError: object of type 'PaginatedList' has no
len()`, as the returned `PaginatedList`
does not support the `len()` method. Use the `totalCount` property
instead:

```python
commits = repo.compare("v0.6", "v0.7").commits
no_of_commits = commits.totalCount
```

#### New features

-   Add support to call GraphQL API

#### Improvements

- Add parent_team_id, maintainers and notification_setting for creating
and updating teams. by
[@&#8203;Cheshirez](https://togithub.com/Cheshirez) in
[https://github.com/PyGithub/PyGithub/pull/2863](https://togithub.com/PyGithub/PyGithub/pull/2863)
- Add support for issue reactions summary by
[@&#8203;smuzaffar](https://togithub.com/smuzaffar) in
[https://github.com/PyGithub/PyGithub/pull/2866](https://togithub.com/PyGithub/PyGithub/pull/2866)
- Support for DependabotAlert APIs by
[@&#8203;coopernetes](https://togithub.com/coopernetes) in
[https://github.com/PyGithub/PyGithub/pull/2879](https://togithub.com/PyGithub/PyGithub/pull/2879)
- Derive GraphQL URL from base_url by
[@&#8203;EnricoMi](https://togithub.com/EnricoMi) in
[https://github.com/PyGithub/PyGithub/pull/2880](https://togithub.com/PyGithub/PyGithub/pull/2880)
- Make `Repository.compare().commits` return paginated list by
[@&#8203;EnricoMi](https://togithub.com/EnricoMi) in
[https://github.com/PyGithub/PyGithub/pull/2882](https://togithub.com/PyGithub/PyGithub/pull/2882)
- Add missing branch protection fields by
[@&#8203;treee111](https://togithub.com/treee111) in
[https://github.com/PyGithub/PyGithub/pull/2873](https://togithub.com/PyGithub/PyGithub/pull/2873)
- Add `include_all_branches` to `create_repo_from_template` of
`AuthenticatedUser` and `Organization` by
[@&#8203;janssonoskar](https://togithub.com/janssonoskar) in
[https://github.com/PyGithub/PyGithub/pull/2871](https://togithub.com/PyGithub/PyGithub/pull/2871)
- Add and update organisation dependabot secrets by
[@&#8203;mohy01](https://togithub.com/mohy01) in
[https://github.com/PyGithub/PyGithub/pull/2316](https://togithub.com/PyGithub/PyGithub/pull/2316)
- Add missing params to `Organization.create_repo` by
[@&#8203;tekumara](https://togithub.com/tekumara) in
[https://github.com/PyGithub/PyGithub/pull/2700](https://togithub.com/PyGithub/PyGithub/pull/2700)
- Update allowed values for `Repository` collaborator permissions by
[@&#8203;flying-sheep](https://togithub.com/flying-sheep) in
[https://github.com/PyGithub/PyGithub/pull/1996](https://togithub.com/PyGithub/PyGithub/pull/1996)
- Support editing PullRequestReview by
[@&#8203;ColasGael](https://togithub.com/ColasGael) in
[https://github.com/PyGithub/PyGithub/pull/2851](https://togithub.com/PyGithub/PyGithub/pull/2851)
- Update attributes after calling `PullRequestReview.dismiss` by
[@&#8203;ColasGael](https://togithub.com/ColasGael) in
[https://github.com/PyGithub/PyGithub/pull/2854](https://togithub.com/PyGithub/PyGithub/pull/2854)
- Add `request_cve` on `RepositoryAdvisories` by
[@&#8203;JLLeitschuh](https://togithub.com/JLLeitschuh) in
[https://github.com/PyGithub/PyGithub/pull/2855](https://togithub.com/PyGithub/PyGithub/pull/2855)
- Filter collaborators of a repository by permissions by
[@&#8203;notmicaelfilipe](https://togithub.com/notmicaelfilipe) in
[https://github.com/PyGithub/PyGithub/pull/2792](https://togithub.com/PyGithub/PyGithub/pull/2792)
- Set pull request to auto merge via GraphQL API by
[@&#8203;heitorpolidoro](https://togithub.com/heitorpolidoro) in
[https://github.com/PyGithub/PyGithub/pull/2816](https://togithub.com/PyGithub/PyGithub/pull/2816)
- Support Environment Variables and Secrets by
[@&#8203;AndrewJDawes](https://togithub.com/AndrewJDawes) in
[https://github.com/PyGithub/PyGithub/pull/2848](https://togithub.com/PyGithub/PyGithub/pull/2848)
- Update workflow.get_runs & pullrequest.add_to_assignees function
signature by [@&#8203;sd-kialo](https://togithub.com/sd-kialo) in
[https://github.com/PyGithub/PyGithub/pull/2799](https://togithub.com/PyGithub/PyGithub/pull/2799)
- Add `GithubObject.last_modified_datetime` to have `last_modified` as a
`datetime` by [@&#8203;chouetz](https://togithub.com/chouetz) in
[https://github.com/PyGithub/PyGithub/pull/2772](https://togithub.com/PyGithub/PyGithub/pull/2772)
- Add support for global advisories and unify some shared logic with
repository advisories by
[@&#8203;crimsonknave](https://togithub.com/crimsonknave) in
[https://github.com/PyGithub/PyGithub/pull/2702](https://togithub.com/PyGithub/PyGithub/pull/2702)
- Add `internal` as valid Repository visibility value by
[@&#8203;AndrewJDawes](https://togithub.com/AndrewJDawes) in
[https://github.com/PyGithub/PyGithub/pull/2806](https://togithub.com/PyGithub/PyGithub/pull/2806)
- Add support for issue comments reactions summary by
[@&#8203;smuzaffar](https://togithub.com/smuzaffar) in
[https://github.com/PyGithub/PyGithub/pull/2813](https://togithub.com/PyGithub/PyGithub/pull/2813)

#### Bug Fixes

- Add a bunch of missing urllib.parse.quote calls by
[@&#8203;ExplodingCabbage](https://togithub.com/ExplodingCabbage) in
[https://github.com/PyGithub/PyGithub/pull/1976](https://togithub.com/PyGithub/PyGithub/pull/1976)
- Fix Variable and Secret url bugs by
[@&#8203;AndrewJDawes](https://togithub.com/AndrewJDawes) in
[https://github.com/PyGithub/PyGithub/pull/2835](https://togithub.com/PyGithub/PyGithub/pull/2835)

#### Maintenance

- Update the class name for NetrcAuth in the examples by
[@&#8203;vinnybod](https://togithub.com/vinnybod) in
[https://github.com/PyGithub/PyGithub/pull/2860](https://togithub.com/PyGithub/PyGithub/pull/2860)
- Move build to PEP517 by [@&#8203;trim21](https://togithub.com/trim21)
in
[https://github.com/PyGithub/PyGithub/pull/2800](https://togithub.com/PyGithub/PyGithub/pull/2800)
- Use new type assert functions in `Repository` by
[@&#8203;trim21](https://togithub.com/trim21) in
[https://github.com/PyGithub/PyGithub/pull/2798](https://togithub.com/PyGithub/PyGithub/pull/2798)
- PyTest: Move config to pyproject.toml by
[@&#8203;Borda](https://togithub.com/Borda) in
[https://github.com/PyGithub/PyGithub/pull/2859](https://togithub.com/PyGithub/PyGithub/pull/2859)
- codespell: ignore-words-list by
[@&#8203;Borda](https://togithub.com/Borda) in
[https://github.com/PyGithub/PyGithub/pull/2858](https://togithub.com/PyGithub/PyGithub/pull/2858)
- Improve fix-headers.py script by
[@&#8203;EnricoMi](https://togithub.com/EnricoMi) in
[https://github.com/PyGithub/PyGithub/pull/2728](https://togithub.com/PyGithub/PyGithub/pull/2728)
- Remove dependency on python-dateutil by
[@&#8203;lazka](https://togithub.com/lazka) in
[https://github.com/PyGithub/PyGithub/pull/2804](https://togithub.com/PyGithub/PyGithub/pull/2804)
- CI: update precommit & apply by
[@&#8203;Borda](https://togithub.com/Borda) in
[https://github.com/PyGithub/PyGithub/pull/2600](https://togithub.com/PyGithub/PyGithub/pull/2600)
- Docs: Fix parameter order according to Version 2.1.0 by
[@&#8203;nad182](https://togithub.com/nad182) in
[https://github.com/PyGithub/PyGithub/pull/2786](https://togithub.com/PyGithub/PyGithub/pull/2786)
- Add missing GitHub classes to docs by
[@&#8203;EnricoMi](https://togithub.com/EnricoMi) in
[https://github.com/PyGithub/PyGithub/pull/2783](https://togithub.com/PyGithub/PyGithub/pull/2783)
- CI: Fix mypy error by ignoring override by
[@&#8203;EnricoMi](https://togithub.com/EnricoMi) in
[https://github.com/PyGithub/PyGithub/pull/2779](https://togithub.com/PyGithub/PyGithub/pull/2779)

**Full Changelog**:
PyGithub/PyGithub@v2.1.1...v2.2.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/lettuce-financial/github-bot-signed-commit).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xNTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjE1My4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
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