%global _empty_manifest_terminate_build 0 Name: python-github-contents Version: 0.2 Release: 1 Summary: Python class for reading and writing data to a GitHub repository License: Apache License, Version 2.0 URL: https://github.com/simonw/github-contents Source0: https://mirrors.nju.edu.cn/pypi/web/packages/67/39/30cec2610e796447fa416f941a8351e0c14ac715f22d17c7f2c63ef3e144/github-contents-0.2.tar.gz BuildArch: noarch Requires: python3-requests Requires: python3-pytest Requires: python3-betamax %description # github-contents [![PyPI](https://img.shields.io/pypi/v/github-contents.svg)](https://pypi.org/project/github-contents/) [![Changelog](https://img.shields.io/github/v/release/simonw/github-contents?include_prereleases&label=changelog)](https://github.com/simonw/github-contents/releases) [![Tests](https://github.com/simonw/github-contents/workflows/Test/badge.svg)](https://github.com/simonw/github-contents/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/github-contents/blob/main/LICENSE) Read and write both small and large files to Github. The regular [GitHub Contents API](https://developer.github.com/v3/repos/contents/) can't handle files larger than 1MB - this class knows how to spot that problem and switch to the large-file-supporting low level [Git Data API](https://developer.github.com/v3/git/) instead. Note that file contents is passed and returned as bytestrings, not regular strings. ## Installation pip install github-contents ## Usage You will need a GitHub OAuth token with full repository access. The easiest way to create one of these is using [https://github.com/settings/tokens](https://github.com/settings/tokens) ```python from github_contents import GithubContents # For repo simonw/disaster-data: github = GithubContents( "simonw", "disaster-data", token=GITHUB_OAUTH_TOKEN, branch="main" ) ``` To read a file: ```python content_in_bytes, sha = github.read(path_within_repo) ``` To write a file: ```python content_sha, commit_sha = github.write( filepath=path_within_repo, content_bytes=contents_in_bytes, sha=previous_sha, # Optional commit_message=commit_message, committer={ "name": COMMITTER_NAME, "email": COMMITTER_EMAIL, }, ) ``` %package -n python3-github-contents Summary: Python class for reading and writing data to a GitHub repository Provides: python-github-contents BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-github-contents # github-contents [![PyPI](https://img.shields.io/pypi/v/github-contents.svg)](https://pypi.org/project/github-contents/) [![Changelog](https://img.shields.io/github/v/release/simonw/github-contents?include_prereleases&label=changelog)](https://github.com/simonw/github-contents/releases) [![Tests](https://github.com/simonw/github-contents/workflows/Test/badge.svg)](https://github.com/simonw/github-contents/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/github-contents/blob/main/LICENSE) Read and write both small and large files to Github. The regular [GitHub Contents API](https://developer.github.com/v3/repos/contents/) can't handle files larger than 1MB - this class knows how to spot that problem and switch to the large-file-supporting low level [Git Data API](https://developer.github.com/v3/git/) instead. Note that file contents is passed and returned as bytestrings, not regular strings. ## Installation pip install github-contents ## Usage You will need a GitHub OAuth token with full repository access. The easiest way to create one of these is using [https://github.com/settings/tokens](https://github.com/settings/tokens) ```python from github_contents import GithubContents # For repo simonw/disaster-data: github = GithubContents( "simonw", "disaster-data", token=GITHUB_OAUTH_TOKEN, branch="main" ) ``` To read a file: ```python content_in_bytes, sha = github.read(path_within_repo) ``` To write a file: ```python content_sha, commit_sha = github.write( filepath=path_within_repo, content_bytes=contents_in_bytes, sha=previous_sha, # Optional commit_message=commit_message, committer={ "name": COMMITTER_NAME, "email": COMMITTER_EMAIL, }, ) ``` %package help Summary: Development documents and examples for github-contents Provides: python3-github-contents-doc %description help # github-contents [![PyPI](https://img.shields.io/pypi/v/github-contents.svg)](https://pypi.org/project/github-contents/) [![Changelog](https://img.shields.io/github/v/release/simonw/github-contents?include_prereleases&label=changelog)](https://github.com/simonw/github-contents/releases) [![Tests](https://github.com/simonw/github-contents/workflows/Test/badge.svg)](https://github.com/simonw/github-contents/actions?query=workflow%3ATest) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/simonw/github-contents/blob/main/LICENSE) Read and write both small and large files to Github. The regular [GitHub Contents API](https://developer.github.com/v3/repos/contents/) can't handle files larger than 1MB - this class knows how to spot that problem and switch to the large-file-supporting low level [Git Data API](https://developer.github.com/v3/git/) instead. Note that file contents is passed and returned as bytestrings, not regular strings. ## Installation pip install github-contents ## Usage You will need a GitHub OAuth token with full repository access. The easiest way to create one of these is using [https://github.com/settings/tokens](https://github.com/settings/tokens) ```python from github_contents import GithubContents # For repo simonw/disaster-data: github = GithubContents( "simonw", "disaster-data", token=GITHUB_OAUTH_TOKEN, branch="main" ) ``` To read a file: ```python content_in_bytes, sha = github.read(path_within_repo) ``` To write a file: ```python content_sha, commit_sha = github.write( filepath=path_within_repo, content_bytes=contents_in_bytes, sha=previous_sha, # Optional commit_message=commit_message, committer={ "name": COMMITTER_NAME, "email": COMMITTER_EMAIL, }, ) ``` %prep %autosetup -n github-contents-0.2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-github-contents -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.2-1 - Package Spec generated