PyPtt 2.3.13__tar.gz → 2.3.14__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. {pyptt-2.3.13 → pyptt-2.3.14}/PKG-INFO +1 -1
  2. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/__init__.py +1 -1
  3. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_get_time.py +3 -2
  4. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt.egg-info/PKG-INFO +1 -1
  5. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_new_screen_fixes.py +11 -1
  6. {pyptt-2.3.13 → pyptt-2.3.14}/LICENSE +0 -0
  7. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/PTT.py +0 -0
  8. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_bucket.py +0 -0
  9. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_call_status.py +0 -0
  10. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_change_pw.py +0 -0
  11. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_comment.py +0 -0
  12. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_del_post.py +0 -0
  13. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_get_board_info.py +0 -0
  14. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_get_board_list.py +0 -0
  15. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_get_bottom_post_list.py +0 -0
  16. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_get_favourite_board.py +0 -0
  17. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_get_newest_index.py +0 -0
  18. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_get_post.py +0 -0
  19. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_get_post_index.py +0 -0
  20. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_get_post_list.py +0 -0
  21. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_get_user.py +0 -0
  22. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_get_waterball.py +0 -0
  23. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_give_money.py +0 -0
  24. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_has_new_mail.py +0 -0
  25. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_loginout.py +0 -0
  26. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_mail.py +0 -0
  27. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_mark_post.py +0 -0
  28. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_post.py +0 -0
  29. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_reply_post.py +0 -0
  30. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_search_user.py +0 -0
  31. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_set_board_title.py +0 -0
  32. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_set_signature_file.py +0 -0
  33. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_api_util.py +0 -0
  34. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_uao/LICENSE +0 -0
  35. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_uao/__init__.py +0 -0
  36. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_uao/b2u.py +0 -0
  37. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/_uao/u2b.py +0 -0
  38. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/api_server.py +0 -0
  39. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/check_value.py +0 -0
  40. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/command.py +0 -0
  41. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/config.py +0 -0
  42. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/connect_core.py +0 -0
  43. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/data_type.py +0 -0
  44. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/exceptions.py +0 -0
  45. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/i18n.py +0 -0
  46. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/lang_en_US.py +0 -0
  47. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/lang_zh_TW.py +0 -0
  48. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/lib_util.py +0 -0
  49. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/log.py +0 -0
  50. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/screens.py +0 -0
  51. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/service.py +0 -0
  52. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt/ssl_config.py +0 -0
  53. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt.egg-info/SOURCES.txt +0 -0
  54. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt.egg-info/dependency_links.txt +0 -0
  55. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt.egg-info/requires.txt +0 -0
  56. {pyptt-2.3.13 → pyptt-2.3.14}/PyPtt.egg-info/top_level.txt +0 -0
  57. {pyptt-2.3.13 → pyptt-2.3.14}/README.md +0 -0
  58. {pyptt-2.3.13 → pyptt-2.3.14}/pyproject.toml +0 -0
  59. {pyptt-2.3.13 → pyptt-2.3.14}/setup.cfg +0 -0
  60. {pyptt-2.3.13 → pyptt-2.3.14}/setup.py +0 -0
  61. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_backup_effective.py +0 -0
  62. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_backup_param.py +0 -0
  63. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_board_setting_flow.py +0 -0
  64. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_bucket.py +0 -0
  65. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_change_pw.py +0 -0
  66. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_comment.py +0 -0
  67. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_connect_core_timeout.py +0 -0
  68. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_del_post.py +0 -0
  69. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_del_post_unit.py +0 -0
  70. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_exceptions.py +0 -0
  71. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_fast_post.py +0 -0
  72. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_board_info.py +0 -0
  73. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_board_info_parser.py +0 -0
  74. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_board_list.py +0 -0
  75. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_bottom_post_list.py +0 -0
  76. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_content_formula.py +0 -0
  77. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_favourite_boards.py +0 -0
  78. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_mail.py +0 -0
  79. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_newest_index.py +0 -0
  80. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_post.py +0 -0
  81. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_post_list.py +0 -0
  82. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_post_list_parser.py +0 -0
  83. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_post_parser.py +0 -0
  84. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_time.py +0 -0
  85. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_user.py +0 -0
  86. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_get_waterball.py +0 -0
  87. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_give_money.py +0 -0
  88. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_half_dead_connection.py +0 -0
  89. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_i18n.py +0 -0
  90. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_incremental_parity.py +0 -0
  91. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_init.py +0 -0
  92. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_logger.py +0 -0
  93. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_login_logout.py +0 -0
  94. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_mail_send_and_del.py +0 -0
  95. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_main_menu_status_bar.py +0 -0
  96. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_mark_post.py +0 -0
  97. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_parse_query_post.py +0 -0
  98. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_post.py +0 -0
  99. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_post_anonymous.py +0 -0
  100. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_pyte_parity.py +0 -0
  101. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_reply_post.py +0 -0
  102. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_search_user.py +0 -0
  103. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_service.py +0 -0
  104. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_set_board_title.py +0 -0
  105. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_set_signature_file.py +0 -0
  106. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_status_line.py +0 -0
  107. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_uao_codec.py +0 -0
  108. {pyptt-2.3.13 → pyptt-2.3.14}/tests/test_vt100_parser.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyPtt
3
- Version: 2.3.13
3
+ Version: 2.3.14
4
4
  Summary: PyPtt github: https://github.com/PyPtt/PyPtt
5
5
  Author-email: CodingMan <pttcodingman@gmail.com>
6
6
  License: GNU Lesser General Public License v3 (LGPLv3)
@@ -1,4 +1,4 @@
1
- __version__ = '2.3.13'
1
+ __version__ = '2.3.14'
2
2
  __author__ = 'CodingMan'
3
3
  __email__ = 'pttcodingman@gmail.com'
4
4
 
@@ -8,7 +8,7 @@ from . import i18n
8
8
  from . import log
9
9
  from . import screens
10
10
 
11
- pattern = re.compile(r'[\d]+:[\d][\d]')
11
+ pattern = re.compile(r'(\d{1,2}):(\d{2})')
12
12
 
13
13
 
14
14
  def get_time(api) -> str:
@@ -46,5 +46,6 @@ def _find_time(line_list):
46
46
  if '線上' in line:
47
47
  result = pattern.search(line)
48
48
  if result is not None:
49
- return result.group(0)
49
+ # 10 點前小時不補零 (週六 9:18), 統一回傳 HH:MM
50
+ return f'{int(result.group(1)):02d}:{result.group(2)}'
50
51
  return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PyPtt
3
- Version: 2.3.13
3
+ Version: 2.3.14
4
4
  Summary: PyPtt github: https://github.com/PyPtt/PyPtt
5
5
  Author-email: CodingMan <pttcodingman@gmail.com>
6
6
  License: GNU Lesser General Public License v3 (LGPLv3)
@@ -17,7 +17,7 @@ from unittest.mock import MagicMock
17
17
  import pytest
18
18
 
19
19
  import PyPtt
20
- from PyPtt import (_api_get_favourite_board, _api_get_newest_index, _api_get_post_list, _api_give_money,
20
+ from PyPtt import (_api_get_favourite_board, _api_get_newest_index, _api_get_time, _api_get_post_list, _api_give_money,
21
21
  _api_util, command, config, connect_core, data_type, exceptions, i18n, screens)
22
22
 
23
23
  i18n.init(PyPtt.Language.ENGLISH)
@@ -404,3 +404,13 @@ def test_favourites_target_matches(name):
404
404
  core.get_screen_queue.return_value = [_fx('favourites_new_p5.txt')]
405
405
  _api_get_favourite_board.get_favourite_board(_mock_api(core))
406
406
  assert target_list[0].is_match(_fx(name), '>')
407
+
408
+
409
+ @pytest.mark.parametrize('bar, expected', [
410
+ # 10 點前狀態列的小時不補零, get_time 仍要回 HH:MM
411
+ (' 主選單 [ 獅子時 ] 10/24 週六 9:18 | DeepLearning | 線上23636人 (h)說明 ', '09:18'),
412
+ (' 主選單 [ 獅子時 ] 10/24 週六 0:05 | DeepLearning | 線上23636人 (h)說明 ', '00:05'),
413
+ ('主選單 世界郵政日 10/9 週五 15:04 | janice001 | 線上24305人 (h)說明', '15:04'),
414
+ ])
415
+ def test_get_time_zero_pads_hour(bar, expected):
416
+ assert _api_get_time._find_time(['', bar]) == expected
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes