nonebot-plugin-bili-dynamic 0.2.2__tar.gz → 0.2.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/PKG-INFO +1 -1
  2. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/renderer.py +6 -3
  3. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic.egg-info/PKG-INFO +1 -1
  4. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/pyproject.toml +1 -1
  5. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/LICENSE +0 -0
  6. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/README.md +0 -0
  7. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/__init__.py +0 -0
  8. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/api.py +0 -0
  9. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/commands.py +0 -0
  10. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/config.py +0 -0
  11. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/cookie_store.py +0 -0
  12. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/database.py +0 -0
  13. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/link_parser.py +0 -0
  14. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/models.py +0 -0
  15. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/monitor.py +0 -0
  16. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/qrcode_login.py +0 -0
  17. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic/translator.py +0 -0
  18. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic.egg-info/SOURCES.txt +0 -0
  19. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic.egg-info/dependency_links.txt +0 -0
  20. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic.egg-info/entry_points.txt +0 -0
  21. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic.egg-info/requires.txt +0 -0
  22. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/nonebot_plugin_bili_dynamic.egg-info/top_level.txt +0 -0
  23. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/setup.cfg +0 -0
  24. {nonebot_plugin_bili_dynamic-0.2.2 → nonebot_plugin_bili_dynamic-0.2.3}/tests/test_dynamic_expire.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nonebot-plugin-bili-dynamic
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: B站动态/直播推送 NoneBot2 插件(基于 Colter23/mirai 插件移植)
5
5
  Author: Tony
6
6
  License: MIT
@@ -375,7 +375,8 @@ async def _download_image(url: str) -> Optional[skia.Image]:
375
375
  client = await _client()
376
376
  resp = await client.get(url)
377
377
  if resp.status_code == 200 and resp.content:
378
- img = skia.Image.MakeFromEncoded(resp.content)
378
+ # MakeWithCopy:MakeFromEncoded 零拷贝不持有数据,resp.content 释放后即成悬垂指针
379
+ img = skia.Image.MakeFromEncoded(skia.Data.MakeWithCopy(resp.content))
379
380
  if img:
380
381
  try:
381
382
  img = img.makeRasterImage() or img
@@ -549,7 +550,8 @@ def _make_pil_processed_image(
549
550
  pil = pil.convert("RGB")
550
551
  buf = io.BytesIO()
551
552
  pil.save(buf, format="PNG")
552
- return skia.Image.MakeFromEncoded(buf.getvalue())
553
+ # MakeWithCopy:MakeFromEncoded 零拷贝不持有数据,防止临时 buffer 被 GC 后悬垂
554
+ return skia.Image.MakeFromEncoded(skia.Data.MakeWithCopy(buf.getvalue()))
553
555
  except Exception as e:
554
556
  logger.debug(f"[BiliDynamic] Pillow 图片预处理失败: {e}")
555
557
  return None
@@ -687,7 +689,8 @@ def _draw_fake_qr(canvas: skia.Canvas, link: str, color: int, x: float, y: float
687
689
  img = qr.make_image(fill_color="black", back_color="white").convert("RGB")
688
690
  buf = io.BytesIO()
689
691
  img.save(buf, format="PNG")
690
- qimg = skia.Image.MakeFromEncoded(buf.getvalue())
692
+ # MakeWithCopy:MakeFromEncoded 零拷贝不持有数据,防止临时 buffer 被 GC 后悬垂
693
+ qimg = skia.Image.MakeFromEncoded(skia.Data.MakeWithCopy(buf.getvalue()))
691
694
  if qimg:
692
695
  _draw_image_rrect(canvas, qimg, skia.RRect.MakeRectXY(skia.Rect.MakeXYWH(x, y, size, size), 0, 0))
693
696
  except Exception:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nonebot-plugin-bili-dynamic
3
- Version: 0.2.2
3
+ Version: 0.2.3
4
4
  Summary: B站动态/直播推送 NoneBot2 插件(基于 Colter23/mirai 插件移植)
5
5
  Author: Tony
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "nonebot-plugin-bili-dynamic"
3
- version = "0.2.2"
3
+ version = "0.2.3"
4
4
  description = "B站动态/直播推送 NoneBot2 插件(基于 Colter23/mirai 插件移植)"
5
5
  readme = "README.md"
6
6
  license = {text = "MIT"}