Skip to main content

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 hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page