<commit_before>"""
組み込み関数 iter(callable, sentinel) についてのサンプルです。

iter(callable, sentinel) と functools.partial を組合せて
ソケット通信時の受信処理をループせずに行っています。

REMARKS::
本サンプルを実行する前に予め以下をコマンドラインで実行しておく必要があります。

$ python -m trypython.advanced.socket_server01
"""
import functools
import socket

from trypython.common.commoncls import SampleBase


class Sample(SampleBase):
    """本サンプルの処理を実装しているクラスです"""
    def __init__(self):
        self._host = '127.0.0.1'
        self._port = 8888

    def exec(self):<commit_msg>add comments<commit_after>"""
組み込み関数 iter(callable, sentinel) についてのサンプルです。

iter(callable, sentinel) と functools.partial を組合せて
ソケット通信時の受信処理をループせずに行っています。

REMARKS::
本サンプルを実行する前に予め以下をコマンドラインで実行しておく必要があります。

$ python -m trypython.advanced.socket_server01

REFERENCES::
http://pythonwise.blogspot.jp/2018/02/pythons-iter-functoolspartial.html
"""
import functools
import socket

from trypython.common.commoncls import SampleBase


class Sample(SampleBase):
    """本サンプルの処理を実装しているクラスです"""
    def __init__(self):
        self._host = '127.0.0.1'
        self._port = 8888

    def exec(self):
{'fraction_non_alphanumeric': 0.10550458715596331, 'fraction_numerical': 0.027522935779816515, 'mean_word_length': 4.961748633879782, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7530728', 'n_tokens_mistral': 555, 'n_tokens_neox': 504, 'n_words': 72}