-
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
适配session 0.2.0与access-control 1.1.0 (#6)
* 接入session插件0.2.0 * 接入access-control-api插件1.1.0 * format the world * 分离repo层 * 分离repo层 * 添加actions * 升级版本号 * 添加单测
- Loading branch information
Showing
40 changed files
with
3,228 additions
and
1,641 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# These are supported funding model platforms | ||
|
||
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] | ||
patreon: # Replace with a single Patreon username | ||
open_collective: # Replace with a single Open Collective username | ||
ko_fi: # Replace with a single Ko-fi username | ||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel | ||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry | ||
liberapay: # Replace with a single Liberapay username | ||
issuehunt: # Replace with a single IssueHunt username | ||
otechie: # Replace with a single Otechie username | ||
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry | ||
custom: ['https://afdian.net/a/ssttkkl'] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
template: | | ||
## What’s Changed | ||
$CHANGES |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | ||
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python | ||
|
||
name: PR Check | ||
|
||
on: | ||
pull_request: | ||
|
||
jobs: | ||
test: | ||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [ macos-latest, windows-latest, ubuntu-latest ] | ||
python-version: ["3.9", "3.10", "3.11", "3.12"] | ||
|
||
runs-on: ${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install requirements | ||
run: | | ||
pip install poetry | ||
poetry export --with=dev --without-hashes -o requirements.txt | ||
pip install -r requirements.txt | ||
- name: Test with pytest | ||
run: pytest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
name: Release | ||
|
||
on: | ||
push: | ||
tags: | ||
- v* | ||
|
||
jobs: | ||
publish-pypi-github: | ||
runs-on: ubuntu-latest | ||
environment: | ||
name: release | ||
url: https://pypi.org/p/nonebot-plugin-access-control | ||
permissions: | ||
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing | ||
# write permission is required to create a github release | ||
contents: write | ||
# write permission is required for autolabeler | ||
# otherwise, read permission is required at least | ||
pull-requests: write | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Setup Python environment | ||
uses: actions/setup-python@v3 | ||
with: | ||
python-version: "3.11" | ||
|
||
- name: Setup Poetry | ||
run: | | ||
pip install poetry | ||
- run: | | ||
echo "TAG_NAME=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV | ||
- uses: release-drafter/release-drafter@v5 | ||
with: | ||
name: Release ${{ env.TAG_NAME }} | ||
tag: ${{ env.TAG_NAME }} | ||
publish: true | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Publish PyPI and Github | ||
run: | | ||
poetry build | ||
ls dist/ | ||
gh release upload --clobber ${{ env.TAG_NAME }} dist/*.tar.gz dist/*.whl | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: Publish pypi | ||
uses: pypa/gh-action-pypi-publish@release/v1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
default_install_hook_types: [pre-commit, prepare-commit-msg] | ||
ci: | ||
autofix_commit_msg: ":rotating_light: auto fix by pre-commit hooks" | ||
autofix_prs: true | ||
autoupdate_branch: master | ||
autoupdate_schedule: monthly | ||
autoupdate_commit_msg: ":arrow_up: auto update by pre-commit hooks" | ||
repos: | ||
- repo: https://github.com/astral-sh/ruff-pre-commit | ||
rev: v0.0.292 | ||
hooks: | ||
- id: ruff | ||
args: [--fix] | ||
stages: [commit] | ||
|
||
- repo: https://github.com/pycqa/isort | ||
rev: 5.12.0 | ||
hooks: | ||
- id: isort | ||
stages: [commit] | ||
|
||
- repo: https://github.com/psf/black | ||
rev: 23.9.1 | ||
hooks: | ||
- id: black | ||
stages: [commit] | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
from nonebot_plugin_access_control.service import create_plugin_service | ||
from nonebot_plugin_access_control_api.service import create_plugin_service | ||
|
||
ac = create_plugin_service("nonebot_plugin_nagabus") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1 @@ | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,58 @@ | ||
import json | ||
from collections.abc import Awaitable | ||
from typing import Any, Callable, Optional | ||
|
||
from nonebot import logger | ||
from sqlalchemy import select | ||
from sqlalchemy.orm import Mapped, mapped_column | ||
from nonebot_plugin_majsoul.paipu import download_paipu | ||
|
||
from .base import SqlModel | ||
from ..data.utils import insert | ||
from .utils.session import _use_session | ||
|
||
|
||
class MajsoulPaipuOrm(SqlModel): | ||
__tablename__ = 'nonebot_plugin_nagabus_majsoul_paipu' | ||
__tablename__ = "nonebot_plugin_nagabus_majsoul_paipu" | ||
__table_args__ = {"extend_existing": True} | ||
|
||
paipu_uuid: Mapped[str] = mapped_column(primary_key=True) | ||
content: Mapped[str] | ||
|
||
|
||
# 为了方便单测时mock实现 | ||
_get_majsoul_paipu_delegate: Optional[Callable[[str], Awaitable[Any]]] = None | ||
|
||
|
||
def _set_get_majsoul_paipu_delegate(get_majsoul_paipu_delegate): | ||
global _get_majsoul_paipu_delegate | ||
_get_majsoul_paipu_delegate = get_majsoul_paipu_delegate | ||
|
||
|
||
async def get_majsoul_paipu(uuid: str): | ||
if _get_majsoul_paipu_delegate is not None: | ||
return await _get_majsoul_paipu_delegate(uuid) | ||
|
||
async with _use_session() as sess: | ||
stmt = ( | ||
select(MajsoulPaipuOrm).where(MajsoulPaipuOrm.paipu_uuid == uuid).limit(1) | ||
) | ||
res = (await sess.execute(stmt)).scalar_one_or_none() | ||
|
||
if res is not None: | ||
logger.opt(colors=True).info(f"Use cached majsoul paipu <y>{uuid}</y>") | ||
return json.loads(res.content) | ||
|
||
logger.opt(colors=True).info(f"Downloading majsoul paipu <y>{uuid}</y> ...") | ||
data = await download_paipu(uuid) | ||
|
||
stmt = ( | ||
insert(MajsoulPaipuOrm) | ||
.values(paipu_uuid=uuid, content=json.dumps(data)) | ||
.on_conflict_do_nothing(index_elements=[MajsoulPaipuOrm.paipu_uuid]) | ||
) | ||
|
||
await sess.execute(stmt) | ||
await sess.commit() | ||
|
||
return data |
Oops, something went wrong.