Files
pytchat-fork/pytchat/processors/compatible/processor.py
55448286+taizan-hokuto@users.noreply.github.com 7c6e12cbe5 Change format of multithread parser to class
2019-11-04 23:29:00 +09:00

42 lines
1.2 KiB
Python

from . parser import Parser
import json
import os
import traceback
import datetime
import time
class CompatibleProcessor:
def __init__(self):
self.parser = Parser()
def process(self, chat_components: list):
chatlist = []
timeout = 0
ret={}
ret["kind"] = "youtube#liveChatMessageListResponse"
ret["etag"] = ""
ret["nextPageToken"] = ""
if chat_components:
for chat_component in chat_components:
timeout += chat_component.get('timeout', 0)
chatdata = chat_component.get('chatdata')
if chatdata is None: break
for action in chatdata:
if action is None: continue
if action.get('addChatItemAction') is None: continue
if action['addChatItemAction'].get('item') is None: continue
chat = self.parser.parse(action)
if chat:
chatlist.append(chat)
ret["pollingIntervalMillis"] = int(timeout*1000)
ret["pageInfo"]={
"totalResults":len(chatlist),
"resultsPerPage":len(chatlist),
}
ret["items"] = chatlist
return ret