Implement SpeedCalculator
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
"""
|
||||
pytchat.parser.live
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
This module is parser of live chat JSON.
|
||||
"""
|
||||
|
||||
import json
|
||||
from .. import config
|
||||
from .. import mylogger
|
||||
@@ -12,6 +18,27 @@ logger = mylogger.get_logger(__name__,mode=config.LOGGER_MODE)
|
||||
|
||||
class Parser:
|
||||
def parse(self, jsn):
|
||||
"""
|
||||
このparse関数はLiveChat._listen() 関数から定期的に呼び出される。
|
||||
引数jsnはYoutubeから取得したチャットデータの生JSONであり、
|
||||
このparse関数によって与えられたJSONを以下に分割して返す。
|
||||
+ timeout (次のチャットデータ取得までのインターバル)
|
||||
+ chat data(チャットデータ本体)
|
||||
+ continuation (次のチャットデータ取得に必要となるパラメータ).
|
||||
|
||||
Parameter
|
||||
----------
|
||||
+ jsn : dict
|
||||
+ Youtubeから取得したチャットデータのJSONオブジェクト。
|
||||
(pythonの辞書形式に変換済みの状態で渡される)
|
||||
|
||||
Returns
|
||||
-------
|
||||
+ metadata : dict
|
||||
+ チャットデータに付随するメタデータ。timeout、 動画ID、continuationパラメータで構成される。
|
||||
+ chatdata : list[dict]
|
||||
+ チャットデータ本体のリスト。
|
||||
"""
|
||||
if jsn is None:
|
||||
return {'timeoutMs':0,'continuation':None},[]
|
||||
if jsn['response']['responseContext'].get('errors'):
|
||||
|
||||
Reference in New Issue
Block a user