Hello community,

here is the log from the commit of package python-pingparsing for 
openSUSE:Factory checked in at 2020-08-18 15:04:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pingparsing (Old)
 and      /work/SRC/openSUSE:Factory/.python-pingparsing.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pingparsing"

Tue Aug 18 15:04:58 2020 rev:7 rq:825354 version:1.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pingparsing/python-pingparsing.changes    
2020-05-26 17:18:08.111821933 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-pingparsing.new.3399/python-pingparsing.changes
  2020-08-18 15:05:09.535894447 +0200
@@ -1,0 +2,10 @@
+Sun Aug  9 15:52:27 UTC 2020 - Martin Hauke <[email protected]>
+
+- Update to version 1.1.0
+  * Make it possible to parse ping timeouts includes timestamps.
+  * Add --addopts option to the CLI.
+  * Add -O option to ping execution when --timestamp option is
+    specified on Linux.
+  * Set default serializer for timestamps of ICMP replies.
+
+-------------------------------------------------------------------

Old:
----
  pingparsing-1.0.3.tar.gz

New:
----
  pingparsing-1.1.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pingparsing.spec ++++++
--- /var/tmp/diff_new_pack.uEQNqc/_old  2020-08-18 15:05:10.611894893 +0200
+++ /var/tmp/diff_new_pack.uEQNqc/_new  2020-08-18 15:05:10.615894894 +0200
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-pingparsing
-Version:        1.0.3
+Version:        1.1.0
 Release:        0
 Summary:        CLI-tool/Python-library for parsing ping command output
 License:        MIT

++++++ pingparsing-1.0.3.tar.gz -> pingparsing-1.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/.github/FUNDING.yml 
new/pingparsing-1.1.0/.github/FUNDING.yml
--- old/pingparsing-1.0.3/.github/FUNDING.yml   1970-01-01 01:00:00.000000000 
+0100
+++ new/pingparsing-1.1.0/.github/FUNDING.yml   2020-08-09 17:38:47.000000000 
+0200
@@ -0,0 +1,12 @@
+# These are supported funding model platforms
+
+github: thombashi
+patreon: # Replace with a single Patreon username
+open_collective: # Replace with a single Open Collective username
+ko_fi: # Replace with a single Ko-fi username
+tidelift: # Replace with a single Tidelift platform-name/package-name e.g., 
npm/babel
+community_bridge: # Replace with a single Community Bridge project-name e.g., 
cloud-foundry
+liberapay: # Replace with a single Liberapay username
+issuehunt: # Replace with a single IssueHunt username
+otechie: # Replace with a single Otechie username
+custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/.travis.yml 
new/pingparsing-1.1.0/.travis.yml
--- old/pingparsing-1.0.3/.travis.yml   2020-04-26 04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/.travis.yml   2020-08-09 17:38:47.000000000 +0200
@@ -2,7 +2,7 @@
 
 cache: pip
 
-matrix:
+jobs:
   include:
     - os: linux
       python: 3.5
@@ -48,7 +48,7 @@
   - travis_retry bash -x .travis/install.sh
 
 script:
-  - tox
+  - tox -- --md-report-color text
 
 notifications:
   slack:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/README.rst 
new/pingparsing-1.1.0/README.rst
--- old/pingparsing-1.0.3/README.rst    2020-04-26 04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/README.rst    2020-08-09 17:38:47.000000000 +0200
@@ -285,8 +285,9 @@
     usage: pingparsing [-h] [-V] [--max-workers MAX_WORKERS]
                        [--timestamp {none,epoch,datetime}] [-c COUNT]
                        [-s PACKET_SIZE] [--ttl TTL] [-w DEADLINE]
-                       [--timeout TIMEOUT] [-I INTERFACE] [--indent INDENT]
-                       [--icmp-reply] [--no-color] [--debug | --quiet]
+                       [--timeout TIMEOUT] [-I INTERFACE] [--addopts OPTIONS]
+                       [--indent INDENT] [--icmp-reply] [--no-color]
+                       [--debug | --quiet]
                        destination_or_file [destination_or_file ...]
 
     positional arguments:
@@ -339,6 +340,7 @@
                             system.
       -I INTERFACE, --interface INTERFACE
                             network interface
+      --addopts OPTIONS     extra command line options
 
     Output Options:
       --indent INDENT       JSON output will be pretty-printed with the indent
@@ -480,24 +482,16 @@
 
 Dependencies
 ============
-Python 3.5+
-
-- `humanreadable <https://github.com/thombashi/humanreadable>`__
-- `pyparsing <https://github.com/pyparsing/pyparsing>`__
-- `subprocrunner <https://github.com/thombashi/subprocrunner>`__
-- `typepy <https://github.com/thombashi/typepy>`__
+- Python 3.5+
+- `Python package dependencies (automatically installed) 
<https://github.com/thombashi/pingparsing/network/dependencies>`__
 
 Optional Dependencies
 ------------------------------------
-- `loguru <https://github.com/Delgan/loguru>`__
-    - Used for logging if the package installed
-- `Pygments <http://pygments.org/>`__
-    - Syntax highlighting to ``pingparsing`` command output when installed
-
-Test Dependencies
------------------
-- `pytest <https://pypi.org/project/pytest>`__
-- `tox <https://pypi.org/project/tox>`__
+- pingparsing[cli] extras
+    - `loguru <https://github.com/Delgan/loguru>`__
+        - Used for logging if the package installed
+    - `Pygments <http://pygments.org/>`__
+        - Syntax highlighting to ``pingparsing`` command output when installed
 
 
 Docker Image
@@ -539,3 +533,11 @@
 ===============
 https://pingparsing.rtfd.io/
 
+Sponsors
+====================================
+.. image:: 
https://avatars0.githubusercontent.com/u/44389260?s=48&u=6da7176e51ae2654bcfd22564772ef8a3bb22318&v=4
+   :target: https://github.com/chasbecker
+   :alt: Charles Becker (chasbecker)
+
+`Become a sponsor <https://github.com/sponsors/thombashi>`__
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/docs/index.rst 
new/pingparsing-1.1.0/docs/index.rst
--- old/pingparsing-1.0.3/docs/index.rst        2020-04-26 04:02:28.000000000 
+0200
+++ new/pingparsing-1.1.0/docs/index.rst        2020-08-09 17:38:47.000000000 
+0200
@@ -14,10 +14,8 @@
    :numbered:
 
    pages/introduction/index
-   pages/installation
    pages/usage/index
    pages/reference/index
-   pages/genindex
    pages/links
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/docs/make_readme.py 
new/pingparsing-1.1.0/docs/make_readme.py
--- old/pingparsing-1.0.3/docs/make_readme.py   2020-04-26 04:02:28.000000000 
+0200
+++ new/pingparsing-1.1.0/docs/make_readme.py   2020-08-09 17:38:47.000000000 
+0200
@@ -39,7 +39,7 @@
 
     write_examples(maker)
 
-    maker.write_file(maker.doc_page_root_dir_path.joinpath("installation.rst"))
+    maker.write_introduction_file("installation.rst")
     maker.write_introduction_file("supported_environment.txt")
     
maker.write_file(maker.doc_page_root_dir_path.joinpath("introduction/premise.txt"))
 
@@ -47,6 +47,8 @@
     maker.write_chapter("Documentation")
     maker.write_lines(["https://{:s}.rtfd.io/".format(PROJECT_NAME)])
 
+    maker.write_file(maker.doc_page_root_dir_path.joinpath("sponsors.rst"))
+
     return 0
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/docs/pages/installation.rst 
new/pingparsing-1.1.0/docs/pages/installation.rst
--- old/pingparsing-1.0.3/docs/pages/installation.rst   2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/docs/pages/installation.rst   1970-01-01 
01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-Installation
-============
-::
-
-    pip install pingparsing
-
-
-Dependencies
-============
-Python 3.5+
-
-- `humanreadable <https://github.com/thombashi/humanreadable>`__
-- `pyparsing <https://github.com/pyparsing/pyparsing>`__
-- `subprocrunner <https://github.com/thombashi/subprocrunner>`__
-- `typepy <https://github.com/thombashi/typepy>`__
-
-Optional Dependencies
-------------------------------------
-- `loguru <https://github.com/Delgan/loguru>`__
-    - Used for logging if the package installed
-- `Pygments <http://pygments.org/>`__
-    - Syntax highlighting to ``pingparsing`` command output when installed
-
-Test Dependencies
------------------
-- `pytest <https://pypi.org/project/pytest>`__
-- `tox <https://pypi.org/project/tox>`__
-
-
-Docker Image
-==================
-`thombashi/pingparsing - Docker Hub 
<https://hub.docker.com/r/thombashi/pingparsing/>`__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/docs/pages/introduction/index.rst 
new/pingparsing-1.1.0/docs/pages/introduction/index.rst
--- old/pingparsing-1.0.3/docs/pages/introduction/index.rst     2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/docs/pages/introduction/index.rst     2020-08-09 
17:38:47.000000000 +0200
@@ -8,5 +8,16 @@
 -------
 
 .. include:: summary.txt
+
+.. raw:: html
+
+    <div class='ghscard' 
src='//raw.githubusercontent.com/thombashi/thombashi.github.io/master/data/thombashi_pingparsing.json'></div>
+    <script 
src='//cdn.jsdelivr.net/gh/thombashi/ghscard@master/dist/ghscard.min.js'></script>
+    <br>
+    <br>
+
 .. include:: supported_environment.txt
+
 .. include:: premise.txt
+
+.. include:: installation.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pingparsing-1.0.3/docs/pages/introduction/installation.rst 
new/pingparsing-1.1.0/docs/pages/introduction/installation.rst
--- old/pingparsing-1.0.3/docs/pages/introduction/installation.rst      
1970-01-01 01:00:00.000000000 +0100
+++ new/pingparsing-1.1.0/docs/pages/introduction/installation.rst      
2020-08-09 17:38:47.000000000 +0200
@@ -0,0 +1,24 @@
+Installation
+============
+::
+
+    pip install pingparsing
+
+
+Dependencies
+============
+- Python 3.5+
+- `Python package dependencies (automatically installed) 
<https://github.com/thombashi/pingparsing/network/dependencies>`__
+
+Optional Dependencies
+------------------------------------
+- pingparsing[cli] extras
+    - `loguru <https://github.com/Delgan/loguru>`__
+        - Used for logging if the package installed
+    - `Pygments <http://pygments.org/>`__
+        - Syntax highlighting to ``pingparsing`` command output when installed
+
+
+Docker Image
+==================
+`thombashi/pingparsing - Docker Hub 
<https://hub.docker.com/r/thombashi/pingparsing/>`__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/docs/pages/links.rst 
new/pingparsing-1.1.0/docs/pages/links.rst
--- old/pingparsing-1.0.3/docs/pages/links.rst  2020-04-26 04:02:28.000000000 
+0200
+++ new/pingparsing-1.1.0/docs/pages/links.rst  2020-08-09 17:38:47.000000000 
+0200
@@ -1,6 +1,16 @@
+Changelog
+==========
+https://github.com/thombashi/pingparsing/releases
+
+
+.. include:: sponsors.rst
+
+
+.. include:: genindex.rst
+
+
 Links
 =====
 - `GitHub repository <https://github.com/thombashi/pingparsing>`__
 - `Issue tracker <https://github.com/thombashi/pingparsing/issues>`__
-- `PyPI <https://pypi.org/project/pingparsing>`__
 - `pip: A tool for installing Python packages 
<https://pip.pypa.io/en/stable/>`__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/docs/pages/sponsors.rst 
new/pingparsing-1.1.0/docs/pages/sponsors.rst
--- old/pingparsing-1.0.3/docs/pages/sponsors.rst       1970-01-01 
01:00:00.000000000 +0100
+++ new/pingparsing-1.1.0/docs/pages/sponsors.rst       2020-08-09 
17:38:47.000000000 +0200
@@ -0,0 +1,7 @@
+Sponsors
+====================================
+.. image:: 
https://avatars0.githubusercontent.com/u/44389260?s=48&u=6da7176e51ae2654bcfd22564772ef8a3bb22318&v=4
+   :target: https://github.com/chasbecker
+   :alt: Charles Becker (chasbecker)
+
+`Become a sponsor <https://github.com/sponsors/thombashi>`__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/docs/pages/usage/cli_help.txt 
new/pingparsing-1.1.0/docs/pages/usage/cli_help.txt
--- old/pingparsing-1.0.3/docs/pages/usage/cli_help.txt 2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/docs/pages/usage/cli_help.txt 2020-08-09 
17:38:47.000000000 +0200
@@ -5,8 +5,9 @@
     usage: pingparsing [-h] [-V] [--max-workers MAX_WORKERS]
                        [--timestamp {none,epoch,datetime}] [-c COUNT]
                        [-s PACKET_SIZE] [--ttl TTL] [-w DEADLINE]
-                       [--timeout TIMEOUT] [-I INTERFACE] [--indent INDENT]
-                       [--icmp-reply] [--no-color] [--debug | --quiet]
+                       [--timeout TIMEOUT] [-I INTERFACE] [--addopts OPTIONS]
+                       [--indent INDENT] [--icmp-reply] [--no-color]
+                       [--debug | --quiet]
                        destination_or_file [destination_or_file ...]
 
     positional arguments:
@@ -59,6 +60,7 @@
                             system.
       -I INTERFACE, --interface INTERFACE
                             network interface
+      --addopts OPTIONS     extra command line options
 
     Output Options:
       --indent INDENT       JSON output will be pretty-printed with the indent
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/invoke_pytest.py 
new/pingparsing-1.1.0/invoke_pytest.py
--- old/pingparsing-1.0.3/invoke_pytest.py      2020-04-26 04:02:28.000000000 
+0200
+++ new/pingparsing-1.1.0/invoke_pytest.py      2020-08-09 17:38:47.000000000 
+0200
@@ -1,13 +1,17 @@
+#!/usr/bin/env python3
+
 """
 Unit tests at Windows environments required to invoke from py module,
 because of multiprocessing:
 
https://py.rtfd.io/en/latest/faq.html?highlight=cmdline#issues-with-py-test-multiprocess-and-setuptools
 """
 
+import os
 import sys
 
 import py
 
 
 if __name__ == "__main__":
+    os.environ["PYTEST_MD_REPORT_COLOR"] = "text"
     sys.exit(py.test.cmdline.main())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/pingparsing/__main__.py 
new/pingparsing-1.1.0/pingparsing/__main__.py
--- old/pingparsing-1.0.3/pingparsing/__main__.py       2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/pingparsing/__main__.py       2020-08-09 
17:38:47.000000000 +0200
@@ -138,6 +138,7 @@
         ),
     )
     group.add_argument("-I", "--interface", dest="interface", help="network 
interface")
+    group.add_argument("--addopts", metavar="OPTIONS", help="extra command 
line options")
 
     group = parser.add_argument_group("Output Options")  # type: ignore
     group.add_argument(
@@ -227,6 +228,7 @@
     timeout: TimeArg,
     is_parse_icmp_reply: bool,
     timestamp: str,
+    addopts: str,
 ) -> Tuple[str, Any]:
     if os.path.isfile(dest_or_file):
         with open(dest_or_file) as f:
@@ -242,6 +244,7 @@
         transmitter.timeout = timeout
         transmitter.is_quiet = not is_parse_icmp_reply
         transmitter.timestamp = timestamp != TimestampFormat.NONE
+        transmitter.ping_option = addopts
 
         try:
             result = transmitter.ping()
@@ -280,8 +283,8 @@
 
     try:
         from pygments import highlight
-        from pygments.lexers import JsonLexer
         from pygments.formatters import TerminalTrueColorFormatter
+        from pygments.lexers import JsonLexer
 
         print(
             highlight(
@@ -313,7 +316,7 @@
 
 
 timestamp_serialize_map = {
-    TimestampFormat.NONE: None,
+    TimestampFormat.NONE: _serialize_datetime,
     TimestampFormat.EPOCH: _serialize_epoch,
     TimestampFormat.DATETIME: _serialize_datetime,
 }
@@ -364,6 +367,7 @@
                             timeout,
                             options.icmp_reply,
                             options.timestamp,
+                            options.addopts,
                         )
                     )
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/pingparsing/__version__.py 
new/pingparsing-1.1.0/pingparsing/__version__.py
--- old/pingparsing-1.0.3/pingparsing/__version__.py    2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/pingparsing/__version__.py    2020-08-09 
17:38:47.000000000 +0200
@@ -1,6 +1,6 @@
 __author__ = "Tsuyoshi Hombashi"
 __copyright__ = "Copyright 2016, {}".format(__author__)
 __license__ = "MIT License"
-__version__ = "1.0.3"
+__version__ = "1.1.0"
 __maintainer__ = __author__
 __email__ = "[email protected]"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/pingparsing/_cmd_maker.py 
new/pingparsing-1.1.0/pingparsing/_cmd_maker.py
--- old/pingparsing-1.0.3/pingparsing/_cmd_maker.py     2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/pingparsing/_cmd_maker.py     2020-08-09 
17:38:47.000000000 +0200
@@ -116,7 +116,7 @@
         return "-q"
 
     def _get_timestamp_option(self) -> str:
-        return "-D"
+        return "-D -O"
 
     def _get_count_option(self) -> str:
         try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/pingparsing/_logger.py 
new/pingparsing-1.1.0/pingparsing/_logger.py
--- old/pingparsing-1.0.3/pingparsing/_logger.py        2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/pingparsing/_logger.py        2020-08-09 
17:38:47.000000000 +0200
@@ -73,4 +73,4 @@
 
 def set_log_level(log_level):
     # deprecated
-    return
+    logger.disable(MODULE_NAME)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/pingparsing/_parser.py 
new/pingparsing-1.1.0/pingparsing/_parser.py
--- old/pingparsing-1.0.3/pingparsing/_parser.py        2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/pingparsing/_parser.py        2020-08-09 
17:38:47.000000000 +0200
@@ -21,6 +21,7 @@
 
 class IcmpReplyKey:
     TIMESTAMP = "timestamp"
+    TIMESTAMP_NO_ANS = "timestamp_no_ans"
     SEQUENCE_NO = "icmp_seq"
     TTL = "ttl"
     TIME = "time"
@@ -43,6 +44,10 @@
         pass
 
     @property
+    def _icmp_no_ans_pattern(self) -> str:
+        return "(?!x)x"  # never matching anything
+
+    @property
     def _duplicate_packet_pattern(self) -> str:
         return r".+ \(DUP!\)$"
 
@@ -56,21 +61,28 @@
 
     def _parse_icmp_reply(self, ping_lines: Sequence[str]) -> IcmpReplies:
         icmp_reply_regexp = re.compile(self._icmp_reply_pattern, re.IGNORECASE)
+        icmp_no_ans_regexp = re.compile(self._icmp_no_ans_pattern, 
re.IGNORECASE)
         duplicate_packet_regexp = re.compile(self._duplicate_packet_pattern)
         icmp_reply_list = []
 
         for line in ping_lines:
             match = icmp_reply_regexp.search(line)
             if not match:
+                match = icmp_no_ans_regexp.search(line)
+            if not match:
                 continue
 
             results = match.groupdict()
             reply = {}  # type: Dict[str, Union[bool, float, int, datetime]]
 
             if results.get(IcmpReplyKey.TIMESTAMP):
-                reply[IcmpReplyKey.TIMESTAMP] = DateTime(
-                    results[IcmpReplyKey.TIMESTAMP].lstrip("[").rstrip("]")
-                ).force_convert()
+                reply[IcmpReplyKey.TIMESTAMP] = self.__timestamp_to_datetime(
+                    results[IcmpReplyKey.TIMESTAMP]
+                )
+            elif results.get(IcmpReplyKey.TIMESTAMP_NO_ANS):
+                reply[IcmpReplyKey.TIMESTAMP] = self.__timestamp_to_datetime(
+                    results[IcmpReplyKey.TIMESTAMP_NO_ANS]
+                )
 
             if results.get(IcmpReplyKey.SEQUENCE_NO):
                 reply[IcmpReplyKey.SEQUENCE_NO] = 
int(results[IcmpReplyKey.SEQUENCE_NO])
@@ -115,6 +127,9 @@
 
         return i
 
+    def __timestamp_to_datetime(self, timestamp: str) -> datetime:
+        return DateTime(timestamp.lstrip("[").rstrip("]")).force_convert()
+
     def __validate_stats_body(self, body_line_list: Sequence[str]) -> None:
         if typepy.is_empty_sequence(body_line_list):
             raise ParseError(reason=ParseErrorReason.EMPTY_STATISTICS)
@@ -168,10 +183,18 @@
     def _parser_name(self) -> str:
         return "Linux"
 
+    _TIMESTAMP_PATTERN = r"(?P<timestamp>\[[0-9\.]+\])"
+    _NO_ANS_TIMESTAMP_PATTERN = r"(?P<timestamp_no_ans>\[[0-9\.]+\])"
+
+    @property
+    def _icmp_no_ans_pattern(self) -> str:
+        return self._NO_ANS_TIMESTAMP_PATTERN + " no answer yet for " + 
self._ICMP_SEQ_PATTERN
+
     @property
     def _icmp_reply_pattern(self) -> str:
         return (
-            r"(?P<timestamp>\[[0-9\.]+\])?\s?.+ from .+?: "
+            self._TIMESTAMP_PATTERN
+            + r"?\s?.+ from .+?: "
             + self._ICMP_SEQ_PATTERN
             + " "
             + self._TTL_PATTERN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/pingparsing/_pingtransmitter.py 
new/pingparsing-1.1.0/pingparsing/_pingtransmitter.py
--- old/pingparsing-1.0.3/pingparsing/_pingtransmitter.py       2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/pingparsing/_pingtransmitter.py       2020-08-09 
17:38:47.000000000 +0200
@@ -25,14 +25,17 @@
     Data class to store ``ping`` command execution result.
 
     .. py:attribute:: stdout
+        :type: Optional[str]
 
         Standard output of ``ping`` command execution result.
 
     .. py:attribute:: stderr
+        :type: Optional[str]
 
         Standard error of ``ping`` command execution result.
 
     .. py:attribute:: returncode
+        :type: int
 
         Return code of ``ping`` command execution result.
     """
@@ -44,34 +47,46 @@
     command.
 
     .. py:attribute:: count
+        :type: Optional[int]
+        :value: None
 
-        Number of sending ICMP packets. This attribute ignored if the value is
-        |None|. Defaults to |None|.
+        Number of sending ICMP packets. This attribute ignored if the value is 
|None|.
 
     .. py:attribute:: packet_size
+        :type: Optional[int]
+        :value: None
 
         Specifies the number of data bytes to be sent.
 
     .. py:attribute:: ttl
+        :type: Optional[int]
+        :value: None
 
         Specifies the Time to Live.
 
     .. py:attribute:: ping_option
+        :type: str
+        :value: ""
 
         Additional ``ping`` command option.
 
     .. py:attribute:: interface
+        :type: Optional[str]
+        :value: None
 
         Interface name or zone-id. The attribute required when
         :py:attr:`~.destination` is IPv6 link-local scope address.
-        Defaults to |None|.
 
     .. py:attribute:: timestamp
+        :type: bool
+        :value: False
 
         [Only for Linux environment] If |True|, add timestamp for each ping 
result.
         Defaults to ``False``.
 
     .. py:attribute:: auto_codepage
+        :type: bool
+        :value: True
 
         [Only for Windows environment] Automatically change code page if
         ``True``. Defaults to ``True``.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/pyproject.toml 
new/pingparsing-1.1.0/pyproject.toml
--- old/pingparsing-1.0.3/pyproject.toml        2020-04-26 04:02:28.000000000 
+0200
+++ new/pingparsing-1.1.0/pyproject.toml        2020-08-09 17:38:47.000000000 
+0200
@@ -17,7 +17,6 @@
 '''
 
 [tool.isort]
-dont_skip="*/**/__init__.py"
 known_third_party= [
     "logbook",
     "humanreadable",
@@ -55,3 +54,11 @@
     'abstractclassmethod',
     'warnings.warn',
 ]
+
+[tool.pytest.ini_options]
+testpaths = [
+    "test",
+]
+md_report = true
+md_report_verbose = 0
+md_report_color = "auto"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/requirements/docs_requirements.txt 
new/pingparsing-1.1.0/requirements/docs_requirements.txt
--- old/pingparsing-1.0.3/requirements/docs_requirements.txt    2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/requirements/docs_requirements.txt    2020-08-09 
17:38:47.000000000 +0200
@@ -1,2 +1,2 @@
 sphinx_rtd_theme
-Sphinx
+Sphinx>=2.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/requirements/test_requirements.txt 
new/pingparsing-1.1.0/requirements/test_requirements.txt
--- old/pingparsing-1.0.3/requirements/test_requirements.txt    2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/requirements/test_requirements.txt    2020-08-09 
17:38:47.000000000 +0200
@@ -1,2 +1,2 @@
-pytest
-simplejson
+pytest>=6.0.1
+pytest-md-report>=0.0.12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/test/test_cli.py 
new/pingparsing-1.1.0/test/test_cli.py
--- old/pingparsing-1.0.3/test/test_cli.py      2020-04-26 04:02:28.000000000 
+0200
+++ new/pingparsing-1.1.0/test/test_cli.py      2020-08-09 17:38:47.000000000 
+0200
@@ -2,11 +2,11 @@
 .. codeauthor:: Tsuyoshi Hombashi <[email protected]>
 """
 
+import json
 import sys
 from textwrap import dedent
 
 import pytest
-import simplejson as json
 from subprocrunner import SubprocessRunner
 
 from .data import DEBIAN_SUCCESS_0, UBUNTU_SUCCESS_2, WINDOWS7SP1_SUCCESS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/test/test_cmd_maker.py 
new/pingparsing-1.1.0/test/test_cmd_maker.py
--- old/pingparsing-1.0.3/test/test_cmd_maker.py        2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/test/test_cmd_maker.py        2020-08-09 
17:38:47.000000000 +0200
@@ -83,8 +83,8 @@
     @pytest.mark.parametrize(
         ["maker_class", "host", "expected"],
         [
-            [LinuxPingCmdMaker, "localhost", "ping -c 1 -D localhost"],
-            [MacosPingCmdMaker, "localhost", "ping -c 1 -D localhost"],
+            [LinuxPingCmdMaker, "localhost", "ping -c 1 -D -O localhost"],
+            [MacosPingCmdMaker, "localhost", "ping -c 1 -D -O localhost"],
             [WindowsPingCmdMaker, "localhost", "ping -n 1 localhost"],
         ],
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/test/test_pingparsing.py 
new/pingparsing-1.1.0/test/test_pingparsing.py
--- old/pingparsing-1.0.3/test/test_pingparsing.py      2020-04-26 
04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/test/test_pingparsing.py      2020-08-09 
17:38:47.000000000 +0200
@@ -2,6 +2,7 @@
 .. codeauthor:: Tsuyoshi Hombashi <[email protected]>
 """
 
+from datetime import datetime
 from textwrap import dedent
 
 import pytest
@@ -64,6 +65,66 @@
     DEBIAN_UNREACHABLE_1.value + "\n", DEBIAN_UNREACHABLE_0.expected, []
 )
 
+# Ubuntu 18.04
+UBUNTU_FAIL_0 = PingTestData(
+    # ping -D -O <ip addr>
+    dedent(
+        """\
+        PING 192.168.11.222 (192.168.11.222) 56(84) bytes of data.
+        [1596881133.081556] no answer yet for icmp_seq=1
+        [1596881133.081898] 64 bytes from 192.168.11.222: icmp_seq=2 ttl=64 
time=0.262 ms
+        [1596881135.129517] no answer yet for icmp_seq=3
+        [1596881136.153055] no answer yet for icmp_seq=4
+        [1596881137.180056] no answer yet for icmp_seq=5
+        [1596881137.180326] 64 bytes from 192.168.11.222: icmp_seq=6 ttl=64 
time=0.221 ms
+        [1596881138.201538] 64 bytes from 192.168.11.222: icmp_seq=7 ttl=64 
time=0.257 ms
+        ^C
+        --- 192.168.11.222 ping statistics ---
+        8 packets transmitted, 3 received, 62.5% packet loss, time 154ms
+        """
+    ),
+    {
+        "destination": "192.168.11.222",
+        "packet_transmit": 8,
+        "packet_receive": 3,
+        "packet_loss_count": 5,
+        "packet_loss_rate": 62.5,
+        "rtt_min": None,
+        "rtt_avg": None,
+        "rtt_max": None,
+        "rtt_mdev": None,
+        "packet_duplicate_count": 0,
+        "packet_duplicate_rate": 0.0,
+    },
+    [
+        {"timestamp": datetime(2020, 8, 8, 10, 5, 33, 81556), "icmp_seq": 1, 
"duplicate": False,},
+        {
+            "timestamp": datetime(2020, 8, 8, 10, 5, 33, 81898),
+            "icmp_seq": 2,
+            "ttl": 64,
+            "time": 0.262,
+            "duplicate": False,
+        },
+        {"timestamp": datetime(2020, 8, 8, 10, 5, 35, 129517), "icmp_seq": 3, 
"duplicate": False,},
+        {"timestamp": datetime(2020, 8, 8, 10, 5, 36, 153055), "icmp_seq": 4, 
"duplicate": False,},
+        {"timestamp": datetime(2020, 8, 8, 10, 5, 37, 180056), "icmp_seq": 5, 
"duplicate": False,},
+        {
+            "timestamp": datetime(2020, 8, 8, 10, 5, 37, 180326),
+            "icmp_seq": 6,
+            "ttl": 64,
+            "time": 0.221,
+            "duplicate": False,
+        },
+        {
+            "timestamp": datetime(2020, 8, 8, 10, 5, 38, 201538),
+            "icmp_seq": 7,
+            "ttl": 64,
+            "time": 0.257,
+            "duplicate": False,
+        },
+    ],
+)
+
 FEDORA_DUP_LOSS = PingTestData(
     dedent(
         """\
@@ -410,6 +471,7 @@
             [DEBIAN_UNREACHABLE_1, "Linux"],
             [DEBIAN_UNREACHABLE_2, "Linux"],
             [UBUNTU_SUCCESS_0, "Linux"],
+            [UBUNTU_FAIL_0, "Linux"],
             [FEDORA_DUP_LOSS, "Linux"],
             [FEDORA_UNREACHABLE, "Linux"],
             [MACOS_SUCCESS_0, "macOS"],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pingparsing-1.0.3/tox.ini 
new/pingparsing-1.1.0/tox.ini
--- old/pingparsing-1.0.3/tox.ini       2020-04-26 04:02:28.000000000 +0200
+++ new/pingparsing-1.1.0/tox.ini       2020-08-09 17:38:47.000000000 +0200
@@ -17,7 +17,7 @@
     pytest {posargs}
 
 [testenv:build]
-basepython = python3.8
+basepython = python3.7
 deps =
     twine
     wheel
@@ -41,22 +41,22 @@
     pytest --cov {posargs:-vv}
 
 [testenv:docs]
-basepython = python3.8
+basepython = python3.7
 deps =
     -r{toxinidir}/requirements/docs_requirements.txt
 commands =
     python setup.py build_sphinx --source-dir=docs/ --build-dir=docs/_build 
--all-files
 
 [testenv:fmt]
-basepython = python3.8
+basepython = python3.7
 deps =
     autoflake
     black
-    isort[pyproject]
+    isort>=5
 commands =
     autoflake --in-place --recursive --remove-all-unused-imports 
--ignore-init-module-imports .
-    isort --apply --recursive
-    black setup.py test pingparsing
+    isort .
+    black invoke_pytest.py setup.py test pingparsing
 
 [testenv:lint]
 basepython = python3.7
@@ -68,9 +68,9 @@
 commands =
     python setup.py check
     codespell pingparsing docs/pages examples test -q 2 --check-filenames
-    pytype --keep-going --jobs 2 --disable import-error pingparsing
-    mypy pingparsing setup.py --ignore-missing-imports --show-error-context 
--show-error-codes --python-version 3.5
-    pylama
+    -pytype --keep-going --jobs 2 --disable import-error pingparsing
+    -mypy pingparsing setup.py --ignore-missing-imports --show-error-context 
--show-error-codes --python-version 3.5
+    -pylama
 
 [testenv:readme]
 changedir = docs


Reply via email to