Compare commits

...

23 Commits

Author SHA1 Message Date
55448286+taizan-hokuto@users.noreply.github.com
44dc5ff1c3 Merge branch 'develop' 2019-11-03 19:53:10 +09:00
55448286+taizan-hokuto@users.noreply.github.com
0676ee5c8c Increment version 2019-11-03 19:50:22 +09:00
55448286+taizan-hokuto@users.noreply.github.com
89ddc0551f Export ChatProcessor 2019-11-03 19:41:15 +09:00
55448286+taizan-hokuto@users.noreply.github.com
0a8cd83d41 Update README 2019-11-03 19:38:09 +09:00
55448286+taizan-hokuto@users.noreply.github.com
cb505074f7 Modify comment 2019-11-03 19:04:02 +09:00
55448286+taizan-hokuto@users.noreply.github.com
e9e16b2bcc Export ChatProcessor 2019-11-03 19:02:40 +09:00
55448286+taizan-hokuto@users.noreply.github.com
c596911901 Add DEMO graphic 2019-11-03 18:30:44 +09:00
55448286+taizan-hokuto@users.noreply.github.com
275e1a7aa8 Fix comment typo 2019-11-03 18:01:00 +09:00
55448286+taizan-hokuto@users.noreply.github.com
737095e7fb Merge branch 'develop' 2019-11-03 16:09:41 +09:00
55448286+taizan-hokuto@users.noreply.github.com
10d9f76f67 Increment version 2019-11-03 16:09:13 +09:00
55448286+taizan-hokuto@users.noreply.github.com
34a74f28aa Add remarks 2019-11-03 16:08:50 +09:00
55448286+taizan-hokuto@users.noreply.github.com
c3c4827798 Fix currency name typo 2019-11-03 16:07:50 +09:00
55448286+taizan-hokuto@users.noreply.github.com
e930c75e2d Update README 2019-11-03 16:07:20 +09:00
55448286+taizan-hokuto@users.noreply.github.com
d5efede758 Merge branch 'develop' 2019-11-03 15:31:06 +09:00
55448286+taizan-hokuto@users.noreply.github.com
dc9b067d1d Increment version 2019-11-03 15:30:35 +09:00
55448286+taizan-hokuto@users.noreply.github.com
940e2a7431 Update manifest.in 2019-11-03 15:26:24 +09:00
55448286+taizan-hokuto@users.noreply.github.com
8fcb3ab50f Merge branch 'develop' 2019-11-03 15:15:47 +09:00
55448286+taizan-hokuto@users.noreply.github.com
8ef6474c90 Increment version 2019-11-03 15:14:52 +09:00
55448286+taizan-hokuto@users.noreply.github.com
5da28e4d89 Update setup.py 2019-11-03 15:03:09 +09:00
55448286+taizan-hokuto@users.noreply.github.com
8902955fed Update setup.py 2019-11-03 15:02:22 +09:00
55448286+taizan-hokuto@users.noreply.github.com
30429b05a5 Merge branch 'develop' 2019-11-03 14:12:44 +09:00
55448286+taizan-hokuto@users.noreply.github.com
ca266ef04b Increment version 2019-11-03 14:12:24 +09:00
55448286+taizan-hokuto@users.noreply.github.com
8891b35dc7 Devide requirements_test.txt
/ Eliminate version from requirements.txt
2019-11-03 13:59:15 +09:00
12 changed files with 46 additions and 26 deletions

View File

@@ -1 +1,3 @@
include requirements.txt include requirements.txt
include requirements_test.txt

View File

@@ -13,10 +13,14 @@ Other features:
+ Quick fetching of initial chat data by generating continuation params + Quick fetching of initial chat data by generating continuation params
instead of web scraping. instead of web scraping.
For more detailed information, see [wiki](https://github.com/taizan-hokuto/pytchat/wiki)
## Install ## Install
```python ```python
pip install pytchat pip install pytchat
``` ```
## Demo
![demo](https://taizan-hokuto.github.io/statics/demo.gif "demo")
## Examples ## Examples
### on-demand mode ### on-demand mode
@@ -133,7 +137,12 @@ Structure of each item which got from items() function.
<tr> <tr>
<td>currency</td> <td>currency</td>
<td>str</td> <td>str</td>
<td>ex. "USD"</td> <td>ISO 4217 currency codes (ex. "USD")</td>
</tr>
<tr>
<td>bgColor</td>
<td>int</td>
<td>RGB Int</td>
</tr> </tr>
<tr> <tr>
<td>author</td> <td>author</td>

View File

@@ -2,17 +2,18 @@
pytchat is a python library for fetching youtube live chat. pytchat is a python library for fetching youtube live chat.
""" """
__copyright__ = 'Copyright (C) 2019 taizan-hokuto' __copyright__ = 'Copyright (C) 2019 taizan-hokuto'
__version__ = '0.0.1.7' __version__ = '0.0.2.2'
__license__ = 'MIT' __license__ = 'MIT'
__author__ = 'taizan-hokuto' __author__ = 'taizan-hokuto'
__author_email__ = '55448286+taizan-hokuto@users.noreply.github.com' __author_email__ = '55448286+taizan-hokuto@users.noreply.github.com'
__url__ = 'https://github.com/taizan-hokuto' __url__ = 'https://github.com/taizan-hokuto/pytchat'
__all__ = ["core_async","core_multithread","processors"] __all__ = ["core_async","core_multithread","processors"]
from .api import ( from .api import (
LiveChat, LiveChat,
LiveChatAsync, LiveChatAsync,
ChatProcessor,
CompatibleProcessor, CompatibleProcessor,
SimpleDisplayProcessor, SimpleDisplayProcessor,
JsonfileArchiveProcessor JsonfileArchiveProcessor

View File

@@ -1,5 +1,6 @@
from .core_async.livechat import LiveChatAsync from .core_async.livechat import LiveChatAsync
from .core_multithread.livechat import LiveChat from .core_multithread.livechat import LiveChat
from .processors.chat_processor import ChatProcessor
from .processors.default.processor import DefaultProcessor from .processors.default.processor import DefaultProcessor
from .processors.compatible.processor import CompatibleProcessor from .processors.compatible.processor import CompatibleProcessor
from .processors.simple_display_processor import SimpleDisplayProcessor from .processors.simple_display_processor import SimpleDisplayProcessor

View File

@@ -2,7 +2,7 @@
import asyncio import asyncio
class Buffer(asyncio.Queue): class Buffer(asyncio.Queue):
''' '''
チャットデータを格納するバッファの役割を持つLIFOキュー チャットデータを格納するバッファの役割を持つFIFOキュー
Parameter Parameter
--------- ---------

View File

@@ -1,4 +1,4 @@
import aiohttp, asyncio, async_timeout import aiohttp, asyncio
import datetime import datetime
import json import json
import random import random

View File

@@ -3,7 +3,7 @@ import queue
class Buffer(queue.Queue): class Buffer(queue.Queue):
''' '''
チャットデータを格納するバッファの役割を持つLIFOキュー チャットデータを格納するバッファの役割を持つFIFOキュー
Parameter Parameter
--------- ---------

View File

@@ -5,11 +5,12 @@ class ChatProcessor:
''' '''
def process(self, chat_components: list): def process(self, chat_components: list):
''' '''
チャットデータの加工を表すインターフェース チャットデータの加工を表すインターフェース
Listenerから呼び出される。 LiveChatオブジェクトから呼び出される。
Parameter Parameter
---------- ----------
chat_components: list<component> chat_components: [LIST:component]
component : dict { component : dict {
"video_id" : str "video_id" : str
動画ID 動画ID

View File

@@ -23,7 +23,7 @@ symbols = {
"PLN\xa0": {"fxtext": "PLN", "jptext": "ポーランド・ズロチ"}, "PLN\xa0": {"fxtext": "PLN", "jptext": "ポーランド・ズロチ"},
"R$": {"fxtext": "BRL", "jptext": "ブラジル・レアル"}, "R$": {"fxtext": "BRL", "jptext": "ブラジル・レアル"},
"RUB\xa0": {"fxtext": "RUB", "jptext": "ロシア・ルーブル"}, "RUB\xa0": {"fxtext": "RUB", "jptext": "ロシア・ルーブル"},
"SEK\xa0": {"fxtext": "SEK", "jptext": "スウェーデン・クロー"}, "SEK\xa0": {"fxtext": "SEK", "jptext": "スウェーデン・クロー"},
"£": {"fxtext": "GBP", "jptext": "英・ポンド"}, "£": {"fxtext": "GBP", "jptext": "英・ポンド"},
"": {"fxtext": "KRW", "jptext": "韓国・ウォン"}, "": {"fxtext": "KRW", "jptext": "韓国・ウォン"},
"": {"fxtext": "EUR", "jptext": "欧・ユーロ"}, "": {"fxtext": "EUR", "jptext": "欧・ユーロ"},

View File

@@ -1,9 +1,4 @@
aiohttp==3.6.0 aiohttp
aioresponses==0.6.0 pytz
mock==3.0.5 requests
mocker==1.1.1 urllib3
pytest==5.1.2
pytest-mock==1.10.4
pytz==2019.2
requests==2.22.0
urllib3==1.25.3

5
requirements_test.txt Normal file
View File

@@ -0,0 +1,5 @@
aioresponses
mock
mocker
pytest
pytest-mock

View File

@@ -1,14 +1,18 @@
from setuptools import setup, find_packages from setuptools import setup, find_packages, Command
from codecs import open from codecs import open
from os import path from os import path, system
import re import re
package_name = "pytchat" package_name = "pytchat"
root_dir = path.abspath(path.dirname(__file__)) root_dir = path.abspath(path.dirname(__file__))
def _requires_from_file(filename): def _requirements():
return open(filename).read().splitlines() return [name.rstrip() for name in open(path.join(root_dir, 'requirements.txt')).readlines()]
def _test_requirements():
return [name.rstrip() for name in open(path.join(root_dir, 'requirements_test.txt')).readlines()]
with open(path.join(root_dir, package_name, '__init__.py')) as f: with open(path.join(root_dir, package_name, '__init__.py')) as f:
init_text = f.read() init_text = f.read()
@@ -27,18 +31,20 @@ assert url
with open('README.md', encoding='utf-8') as f: with open('README.md', encoding='utf-8') as f:
long_description = f.read() long_description = f.read()
setup( setup(
name=package_name, name=package_name,
packages=find_packages(), packages=find_packages(),
version=version, version=version,
url=url, url=url,
author=author, author=author,
author_email=author_email, author_email=author_email,
long_description=long_description, long_description=long_description,
long_description_content_type='text/markdown', long_description_content_type='text/markdown',
license=license, license=license,
install_requires=_requirements(),
tests_require=_test_requirements(),
description="a python library for fetching youtube live chat.", description="a python library for fetching youtube live chat.",
classifiers=[ classifiers=[
'Natural Language :: Japanese', 'Natural Language :: Japanese',
@@ -52,5 +58,5 @@ setup(
'License :: OSI Approved :: MIT License', 'License :: OSI Approved :: MIT License',
], ],
keywords='youtube livechat asyncio', keywords='youtube livechat asyncio',
install_requires=_requires_from_file('requirements.txt')
) )