Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: change scripts to makefile #821

Draft
wants to merge 2 commits into
base: 3.12
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .scripts/requirements.txt
Copy link
Collaborator

Choose a reason for hiding this comment

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

原本有 pyproject.toml,不延用 poetry 嗎?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

我想說跟 makefile 完美結合的話,應該是改成 venv + pip 做管理;
但對,沿用的話會簡單很多(嗎?)

Copy link
Collaborator

Choose a reason for hiding this comment

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

Copy link
Collaborator

@mattwang44 mattwang44 Feb 21, 2024

Choose a reason for hiding this comment

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

沿用不一定比較好寫,畢竟現在比較像是 follow makefile 現有的寫法,所以不太會有 survey 的成分。
只是我就沒有覺得哪個跟 makefile 會比較能夠完美結合

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

poetry 也有能力去建立與管理 virtual environment

python package tools

原來根本的原因是因為我不熟QQ,我來研究一下怎麼做

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
polib==1.1.1
googletrans==3.1.0a0
translate-toolkit==3.8.1
requests==2.31.0
44 changes: 44 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ SPHINX_CONF := $(CPYTHON_CLONE)/Doc/conf.py
LANGUAGE := zh_TW
LC_MESSAGES := $(CPYTHON_CLONE)/Doc/locales/$(LANGUAGE)/LC_MESSAGES
VENV := ~/.venvs/python-docs-i18n/
VENV_FOR_SCRIPT := ~/.venvs/python-docs-zhtw-script/
PYTHON := $(shell which python3)
MODE := autobuild-dev-html
BRANCH := $(or $(VERSION), $(shell git describe --contains --all HEAD))
Expand Down Expand Up @@ -75,6 +76,49 @@ $(VENV)/bin/sphinx-lint: $(VENV)/bin/activate
$(VENV)/bin/blurb: $(VENV)/bin/activate
. $(VENV)/bin/activate; python3 -m pip install blurb

$(VENV_FOR_SCRIPT)/bin/activate:
mkdir -p $(VENV_FOR_SCRIPT)
$(PYTHON) -m venv $(VENV_FOR_SCRIPT)
. $(VENV_FOR_SCRIPT)/bin/activate; python3 -m pip install -r .scripts/requirements.txt

.PHONY: summarize_progress
summarize_progress: $(VENV_FOR_SCRIPT)/bin/activate
cd .scripts && \
. $(VENV_FOR_SCRIPT)/bin/activate; \
python3 summarize_progress/main.py

.PHONY: google_translate
google_translate: $(VENV_FOR_SCRIPT)/bin/activate

@$(eval _target=$(filter-out $@, $(MAKECMDGOALS)))
@if [ -z $(_target) ]; then \
echo "Please provide a file argument."; \
exit 1; \
fi


@if [ "$(suffix $(_target))" != ".po" ]; then \
echo "Incorrect file extension. Only '.po' files are allowed."; \
exit 1; \
else \
_target=$(addsuffix ,po,$(_target)); \
fi

@if [ ! -f "$(_target)" ]; then \
echo "File '$(filter-out $@, $(_target))' does not exist."; \
exit 1; \
fi

@$(eval _tmp_po_file=tmp.po)
@$(eval _file_path=$(addprefix ../, $(_target)))

cd .scripts && \
. $(VENV_FOR_SCRIPT)/bin/activate; \
python3 google_translate/main.py $(_file_path) > $(_tmp_po_file) ; \
pomerge -t $(_file_path) -i $(_tmp_po_file) -o $(_file_path) ; \
# rm $(_tmp_po_file)
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

被我註解起來的這一行會有下列錯誤

/bin/sh: 4:  : not found
make: *** [Makefile:100:google_translate] 錯誤 127

完全不知道錯誤在哪裡@@,再麻煩好心人協助

exit 0


.PHONY: upgrade_venv
upgrade_venv: $(VENV)/bin/activate ## Upgrade the venv that compiles the doc
Expand Down
Loading