mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-02 03:55:55 +00:00
fix(utils): preserve QQ image URL scheme (#2188)
This commit is contained in:
@@ -145,7 +145,8 @@ def get_qq_image_downloadable_url(image_url: str) -> tuple[str, dict]:
|
|||||||
"""获取QQ图片的下载链接"""
|
"""获取QQ图片的下载链接"""
|
||||||
parsed = urlparse(image_url)
|
parsed = urlparse(image_url)
|
||||||
query = parse_qs(parsed.query)
|
query = parse_qs(parsed.query)
|
||||||
return f'http://{parsed.netloc}{parsed.path}', query
|
scheme = parsed.scheme or 'http'
|
||||||
|
return f'{scheme}://{parsed.netloc}{parsed.path}', query
|
||||||
|
|
||||||
|
|
||||||
async def get_qq_image_bytes(image_url: str, query: dict = {}) -> tuple[bytes, str]:
|
async def get_qq_image_bytes(image_url: str, query: dict = {}) -> tuple[bytes, str]:
|
||||||
|
|||||||
22
tests/unit_tests/utils/test_image.py
Normal file
22
tests/unit_tests/utils/test_image.py
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
from langbot.pkg.utils.image import get_qq_image_downloadable_url
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_qq_image_downloadable_url_preserves_https_scheme():
|
||||||
|
url, query = get_qq_image_downloadable_url('https://gchat.qpic.cn/gchatpic_new/abc/0?term=2&is_origin=1')
|
||||||
|
|
||||||
|
assert url == 'https://gchat.qpic.cn/gchatpic_new/abc/0'
|
||||||
|
assert query == {'term': ['2'], 'is_origin': ['1']}
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_qq_image_downloadable_url_preserves_http_scheme():
|
||||||
|
url, query = get_qq_image_downloadable_url('http://gchat.qpic.cn/gchatpic_new/abc/0?term=2')
|
||||||
|
|
||||||
|
assert url == 'http://gchat.qpic.cn/gchatpic_new/abc/0'
|
||||||
|
assert query == {'term': ['2']}
|
||||||
|
|
||||||
|
|
||||||
|
def test_get_qq_image_downloadable_url_defaults_missing_scheme_to_http():
|
||||||
|
url, query = get_qq_image_downloadable_url('gchat.qpic.cn/gchatpic_new/abc/0?term=2')
|
||||||
|
|
||||||
|
assert url == 'http://gchat.qpic.cn/gchatpic_new/abc/0'
|
||||||
|
assert query == {'term': ['2']}
|
||||||
Reference in New Issue
Block a user