edq-utils 0.1.5__tar.gz → 0.1.6__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.

Potentially problematic release.


This version of edq-utils might be problematic. Click here for more details.

Files changed (105) hide show
  1. {edq_utils-0.1.5 → edq_utils-0.1.6}/PKG-INFO +1 -1
  2. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/__init__.py +1 -1
  3. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/net.py +3 -2
  4. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq_utils.egg-info/PKG-INFO +1 -1
  5. {edq_utils-0.1.5 → edq_utils-0.1.6}/.github/workflows/main.yml +0 -0
  6. {edq_utils-0.1.5 → edq_utils-0.1.6}/.gitignore +0 -0
  7. {edq_utils-0.1.5 → edq_utils-0.1.6}/.mypy.ini +0 -0
  8. {edq_utils-0.1.5 → edq_utils-0.1.6}/.pylintrc +0 -0
  9. {edq_utils-0.1.5 → edq_utils-0.1.6}/LICENSE +0 -0
  10. {edq_utils-0.1.5 → edq_utils-0.1.6}/README.md +0 -0
  11. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/cli/__init__.py +0 -0
  12. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/cli/config/__init__.py +0 -0
  13. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/cli/config/list.py +0 -0
  14. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/cli/http/__init__.py +0 -0
  15. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/cli/http/exchange-server.py +0 -0
  16. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/cli/http/send-exchange.py +0 -0
  17. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/cli/http/verify-exchanges.py +0 -0
  18. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/cli/testing/__init__.py +0 -0
  19. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/cli/testing/cli-test.py +0 -0
  20. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/cli/version.py +0 -0
  21. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/core/__init__.py +0 -0
  22. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/core/argparser.py +0 -0
  23. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/core/argparser_test.py +0 -0
  24. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/core/config.py +0 -0
  25. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/core/config_test.py +0 -0
  26. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/core/log.py +0 -0
  27. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/core/version.py +0 -0
  28. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/procedure/__init__.py +0 -0
  29. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/procedure/verify_exchanges.py +0 -0
  30. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/py.typed +0 -0
  31. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/__init__.py +0 -0
  32. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/asserts.py +0 -0
  33. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/cli.py +0 -0
  34. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/cli_test.py +0 -0
  35. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/httpserver.py +0 -0
  36. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/httpserver_test.py +0 -0
  37. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/run.py +0 -0
  38. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/data/configs/empty/edq-config.json +0 -0
  39. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/data/configs/simple-1/edq-config.json +0 -0
  40. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/data/configs/simple-2/edq-config.json +0 -0
  41. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/data/configs/value-number/edq-config.json +0 -0
  42. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/tests/config/list/config_list_base.txt +0 -0
  43. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/tests/config/list/config_list_config_value_number.txt +0 -0
  44. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/tests/config/list/config_list_ignore_config.txt +0 -0
  45. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/tests/config/list/config_list_no_config.txt +0 -0
  46. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/tests/config/list/config_list_show_origin.txt +0 -0
  47. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/tests/config/list/config_list_skip_header.txt +0 -0
  48. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/tests/help_base.txt +0 -0
  49. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/tests/platform_skip.txt +0 -0
  50. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/cli/tests/version_base.txt +0 -0
  51. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple.httpex.json +0 -0
  52. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_anchor.httpex.json +0 -0
  53. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_file.httpex.json +0 -0
  54. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_file_binary.httpex.json +0 -0
  55. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_file_get_params.httpex.json +0 -0
  56. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_file_multiple.httpex.json +0 -0
  57. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_file_name.httpex.json +0 -0
  58. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_file_post_multiple.httpex.json +0 -0
  59. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_file_post_params.httpex.json +0 -0
  60. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_headers.httpex.json +0 -0
  61. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_jsonresponse_dict.httpex.json +0 -0
  62. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_jsonresponse_list.httpex.json +0 -0
  63. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_params.httpex.json +0 -0
  64. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_post.httpex.json +0 -0
  65. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_post_params.httpex.json +0 -0
  66. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_post_urlparams.httpex.json +0 -0
  67. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/simple_urlparams.httpex.json +0 -0
  68. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/specialcase_listparams_explicit.httpex.json +0 -0
  69. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/exchanges/specialcase_listparams_url.httpex.json +0 -0
  70. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/files/a.txt +0 -0
  71. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/testdata/http/files/tiny.png +0 -0
  72. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/testing/unittest.py +0 -0
  73. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/__init__.py +0 -0
  74. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/dirent.py +0 -0
  75. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/dirent_test.py +0 -0
  76. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/hash.py +0 -0
  77. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/hash_test.py +0 -0
  78. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/json.py +0 -0
  79. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/json_test.py +0 -0
  80. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/parse.py +0 -0
  81. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/pyimport.py +0 -0
  82. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/pyimport_test.py +0 -0
  83. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/reflection.py +0 -0
  84. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/time.py +0 -0
  85. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq/util/time_test.py +0 -0
  86. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq_utils.egg-info/SOURCES.txt +0 -0
  87. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq_utils.egg-info/dependency_links.txt +0 -0
  88. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq_utils.egg-info/requires.txt +0 -0
  89. {edq_utils-0.1.5 → edq_utils-0.1.6}/edq_utils.egg-info/top_level.txt +0 -0
  90. {edq_utils-0.1.5 → edq_utils-0.1.6}/pyproject.toml +0 -0
  91. {edq_utils-0.1.5 → edq_utils-0.1.6}/requirements-dev.txt +0 -0
  92. {edq_utils-0.1.5 → edq_utils-0.1.6}/requirements.txt +0 -0
  93. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/build_site.sh +0 -0
  94. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/check_all.sh +0 -0
  95. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/check_lint.sh +0 -0
  96. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/check_python_version.sh +0 -0
  97. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/check_strict_types.sh +0 -0
  98. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/check_types.sh +0 -0
  99. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/gen_docs.sh +0 -0
  100. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/run_tests.sh +0 -0
  101. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/template/html/css/style.css +0 -0
  102. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/template/html/favicon.ico +0 -0
  103. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/template/html/images/favicon.png +0 -0
  104. {edq_utils-0.1.5 → edq_utils-0.1.6}/scripts/template/html/index.html +0 -0
  105. {edq_utils-0.1.5 → edq_utils-0.1.6}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edq-utils
3
- Version: 0.1.5
3
+ Version: 0.1.6
4
4
  Summary: Common utilities used by EduLinq Python projects.
5
5
  Author-email: Eriq Augustine <eriq@edulinq.org>
6
6
  License: MIT License
@@ -2,4 +2,4 @@
2
2
  General Python tools used by several EduLinq projects.
3
3
  """
4
4
 
5
- __version__ = '0.1.5'
5
+ __version__ = '0.1.6'
@@ -887,13 +887,14 @@ def parse_content_dispositions(headers: typing.Union[email.message.Message, typi
887
887
 
888
888
  def parse_query_string(text: str,
889
889
  replace_single_lists: bool = True,
890
- ) -> typing.Dict[str, typing.Any]:
890
+ keep_blank_values: bool = True,
891
+ **kwargs: typing.Any) -> typing.Dict[str, typing.Any]:
891
892
  """
892
893
  Parse a query string (like urllib.parse.parse_qs()), and normalize the result.
893
894
  If specified, lists with single values (as returned from urllib.parse.parse_qs()) will be replaced with the single value.
894
895
  """
895
896
 
896
- results = urllib.parse.parse_qs(text)
897
+ results = urllib.parse.parse_qs(text, keep_blank_values = True)
897
898
  for (key, value) in results.items():
898
899
  if (replace_single_lists and (len(value) == 1)):
899
900
  results[key] = value[0] # type: ignore[assignment]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: edq-utils
3
- Version: 0.1.5
3
+ Version: 0.1.6
4
4
  Summary: Common utilities used by EduLinq Python projects.
5
5
  Author-email: Eriq Augustine <eriq@edulinq.org>
6
6
  License: MIT License
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