github repo watching client .
Project description
# Repo Watching
Github repos watching framework
## Install
```shell
pip install watching
```
## Simple Usage
function `ctx.upsert_file_and_pr` is a helper to update or create file and create pull request .
```python
watcher = Watcher({
'github_access_token': ACCESS_TOKEN,
})
def license_middleware(ctx: Context):
branch = 'watcher_license_create'
path = '/LICENSE'
new_content = 'MIT\n\ncreated by joway'
message = 'add MIT license'
pr_title = 'Init: MIT License'
pr_body = '- create MIT License'
file_branch = 'master'
ctx.upsert_file_and_pr(
path=path, content=new_content, branch=branch,
should_upsert=lambda new, old: new != old, message=message,
pr_title=pr_title, pr_body=pr_body,
)
def other_middleware(ctx: Context):
pass
def filter_func(repo: Repo):
if repo.name == 'repo-watching-demo':
return True
# task chain , it will be executed by every repo
watcher.use(license_middleware, other_middleware)
# filter the repos you need
repos = watcher.get_all_repos(filter_func=filter_func)
# listen repos
watcher.listen(repos)
# traverse all repos you listened
watcher.run()
```
## Advanced Usage
```python
# get commit list
ctx.repo.commit_list()
# access your github username | org name
ctx.repo.login
ctx.repo.name
# create file
ctx.repo.file_create()
# update file
ctx.repo.file_update()
# get file
ctx.repo.file_get()
# create branch
ctx.repo.branch_create()
# create pr
ctx.repo.pr_create()
```
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
watching-0.0.4.tar.gz
(3.8 kB
view details)
File details
Details for the file watching-0.0.4.tar.gz
.
File metadata
- Download URL: watching-0.0.4.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/2.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 448e401911838b424b5218bd699bf593c3e5e6ce884380786640c922f2416374 |
|
MD5 | bd813e0a6f8fbff5c35930320d57d09d |
|
BLAKE2b-256 | 1e7ae3c6fe45a92ac11fac41d76967f9cf350322aa55092a531e46cdc1677d25 |