# PyDoc zh-tw @PyConTW Sprints
## Weblate Survey (Nick)
- Architecture
[Weblate] <----> [GitHub]
- Features surveyed
1. **Set up Weblate using docker compose**
Using official [docker-compose](https://docs.weblate.org/en/latest/admin/install/docker.html), set up `docker-compose.override.yaml` locally, and run `$ docker compose up -d`.
2. **Create project and components**
2. **Weblate sync with GitHub**
By using webhook (`http[s]://<weblate-url>/webhook/github/`) privided by Weblate, Weblate can receive all events from GitHub immediately.
3. **Update GitHub from Weblate**
- Push commits
- Make a new PR
- https://docs.weblate.org/en/latest/admin/config.html#std-setting-GITHUB_CREDENTIALS
:::warning
It's recommended to set "repo push url" by **SSH** in component's version control setting.
Because you need to provide user/password in HTTPS, but in SSH, you just need to copy-paste SSH public key on GitHub.
:::
- To be done
- How does Weblate handle git merge conflict?
## powrap auto-formatting (Lulu)
- Roadmap
1. Prepare pre-commit config file for either pre-commit hook or github action to call. The pre-commit config file should use powrap to format the staged ".po" file(s).
2. Add a GitHub action workflow to use pre-commit config file in CI pipeline.
- What I've done and problems I've faced
Be able to trigger pre-commit config file and powrap staged ".po" file(s). However, the current method is to write long shell command in pre-commit file, which isn't good for maintenance. On the other hand, if there's no ".po" file to commit, pre-commit would fail. Needs to figure out another way to tackle this.
## OpenAI API Integration (Becca)
- Language Model
Test openAI CHATGPT API
## Makefile HTML build Improvement (方格子)
### What I knew before started
- build: Makefile of `python-docs-zh-tw` uses Makefile of `cpython`, and then call Sphinx build.
- The original target `all` in Makefile of `python-docs-zh-tw` converts **all** `*.po` files into html files.
- We need a target in Makefile to convert only **one** file a time.
### What have I modified?
- Add a new target `build/%` in Makefile of `python-docs-zh-tw`, the pattern should be changed later, since the pattern `build/%` looks like we want to convert some files in directory `build/`.
- It will check whether the file is exists, if not, it will show error message and then exit.
- In the parameter `SPHINXOPTS` given to Sphinx, I added parameter `SOURCES`, which is the specific file we want to convert.
- When calling Makefile of `cpython`, we use the target `html` instead of the original `autobuild-dev-html`.
### What problem I met?
- If we never run `make all` before, it will raise an exception said FileNotFoundError: No such file or directory: `cpython/Doc/build/html/searchindex.js`.
### TODO
- We should check the usage of these 2 paramters: `-D locale_dirs=locales -D language=$(LANGUAGE)`, whether should we remove them when convert single file?
- We should use `xargs -n1 dirname` to check if the file is in some directory, we should run `mkdir -p $(LC_MESSAGES)/$$dirname`.
- We should link file (run `ln -f $$file $(LC_MESSAGES)/$*`).
- Then we can create a PR!