From 5d86fb4b71d3e00ebed4287a8119da4e8e6fe750 Mon Sep 17 00:00:00 2001 From: taizan-hokuto <55448286+taizan-hokuto@users.noreply.github.com> Date: Sat, 4 Jan 2020 09:28:44 +0900 Subject: [PATCH] Fix parameter switching and tests --- pytchat/paramgen/arcparam.py | 19 ++----------------- tests/test_arcparam.py | 11 +++++++---- 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/pytchat/paramgen/arcparam.py b/pytchat/paramgen/arcparam.py index ba725b0..1d80ae1 100644 --- a/pytchat/paramgen/arcparam.py +++ b/pytchat/paramgen/arcparam.py @@ -52,33 +52,18 @@ def _nval(val): buf += val.to_bytes(1,'big') return buf - -def _tzparity(video_id,times): - t=0 - for i,s in enumerate(video_id): - ss = ord(s) - if(ss % 2 == 0): - t += ss*(12-i) - else: - t ^= ss*i - - return ((times^t) % 2).to_bytes(1,'big') - - def _build(video_id, seektime, topchatonly = False): switch_01 = b'\x04' if topchatonly else b'\x01' - - if seektime < 0: times =_nval(0) switch = b'\x04' - if seektime == 0: + elif seektime == 0: times =_nval(1) switch = b'\x03' else: times =_nval(int(seektime*1000000)) switch = b'\x03' - parity = _tzparity(video_id, seektime) + parity = b'\x00' header_magic= b'\xA2\x9D\xB0\xD3\x04' sep_0 = b'\x1A' diff --git a/tests/test_arcparam.py b/tests/test_arcparam.py index e53eda3..e30466e 100644 --- a/tests/test_arcparam.py +++ b/tests/test_arcparam.py @@ -5,13 +5,13 @@ import requests, json from pytchat.paramgen import arcparam def test_arcparam_0(mocker): - param = arcparam.getparam("01234567890") - assert "op2w0wRyGjxDZzhhRFFvTE1ERXlNelExTmpjNE9UQWFFLXFvM2JrQkRRb0xNREV5TXpRMU5qYzRPVEFnQVElM0QlM0QoATAAOABAAEgEUhwIABAAGAAgACoOc3RhdGljY2hlY2tzdW1AAFgDYAFoAXIECAEQAXgA" == param + param = arcparam.getparam("01234567890",-1) + assert "op2w0wRyGjxDZzhhRFFvTE1ERXlNelExTmpjNE9UQWFFLXFvM2JrQkRRb0xNREV5TXpRMU5qYzRPVEFnQVElM0QlM0QoADAAOABAAEgEUhwIABAAGAAgACoOc3RhdGljY2hlY2tzdW1AAFgDYAFoAHIECAEQAHgA" == param def test_arcparam_1(mocker): param = arcparam.getparam("01234567890", seektime = 100000) - assert "op2w0wR3GjxDZzhhRFFvTE1ERXlNelExTmpjNE9UQWFFLXFvM2JrQkRRb0xNREV5TXpRMU5qYzRPVEFnQVElM0QlM0QogNDbw_QCMAA4AEAASANSHAgAEAAYACAAKg5zdGF0aWNjaGVja3N1bUAAWANgAWgBcgQIARABeAA%3D" == param + assert "op2w0wR3GjxDZzhhRFFvTE1ERXlNelExTmpjNE9UQWFFLXFvM2JrQkRRb0xNREV5TXpRMU5qYzRPVEFnQVElM0QlM0QogNDbw_QCMAA4AEAASANSHAgAEAAYACAAKg5zdGF0aWNjaGVja3N1bUAAWANgAWgAcgQIARAAeAA%3D" == param def test_arcparam_2(mocker): param = arcparam.getparam("SsjCnHOk-Sk") @@ -23,4 +23,7 @@ def test_arcparam_2(mocker): test_id = chatdata[0]["addChatItemAction"]["item"]["liveChatTextMessageRenderer"]["id"] print(test_id) assert "CjoKGkNMYXBzZTdudHVVQ0Zjc0IxZ0FkTnFnQjVREhxDSnlBNHV2bnR1VUNGV0dnd2dvZDd3NE5aZy0w" == test_id - \ No newline at end of file + +def test_arcparam_3(mocker): + param = arcparam.getparam("01234567890") + assert "op2w0wRyGjxDZzhhRFFvTE1ERXlNelExTmpjNE9UQWFFLXFvM2JrQkRRb0xNREV5TXpRMU5qYzRPVEFnQVElM0QlM0QoATAAOABAAEgDUhwIABAAGAAgACoOc3RhdGljY2hlY2tzdW1AAFgDYAFoAHIECAEQAHgA" == param