re-common 10.0.27__tar.gz → 10.0.29__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 (243) hide show
  1. {re_common-10.0.27/re_common.egg-info → re_common-10.0.29}/PKG-INFO +1 -1
  2. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/business_utils/baseencodeid.py +5 -5
  3. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/business_utils/full_doi_path.py +2 -2
  4. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/author_smi.py +1 -0
  5. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/string_clear.py +15 -1
  6. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/stringutils.py +35 -1
  7. {re_common-10.0.27 → re_common-10.0.29/re_common.egg-info}/PKG-INFO +1 -1
  8. {re_common-10.0.27 → re_common-10.0.29}/setup.py +1 -1
  9. {re_common-10.0.27 → re_common-10.0.29}/LICENSE +0 -0
  10. {re_common-10.0.27 → re_common-10.0.29}/README.md +0 -0
  11. {re_common-10.0.27 → re_common-10.0.29}/pyproject.toml +0 -0
  12. {re_common-10.0.27 → re_common-10.0.29}/re_common/__init__.py +0 -0
  13. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/__init__.py +0 -0
  14. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/baseabs/__init__.py +0 -0
  15. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/baseabs/baseabs.py +0 -0
  16. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/database/__init__.py +0 -0
  17. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/database/mbuilder.py +0 -0
  18. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/database/moudle.py +0 -0
  19. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/database/msqlite3.py +0 -0
  20. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/database/mysql.py +0 -0
  21. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/database/sql_factory.py +0 -0
  22. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/mthread/MThreadingRun.py +0 -0
  23. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/mthread/MThreadingRunEvent.py +0 -0
  24. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/mthread/__init__.py +0 -0
  25. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/mthread/mythreading.py +0 -0
  26. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/pakge_other/__init__.py +0 -0
  27. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/pakge_other/socks.py +0 -0
  28. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/readconfig/__init__.py +0 -0
  29. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/readconfig/config_factory.py +0 -0
  30. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/readconfig/ini_config.py +0 -0
  31. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/readconfig/toml_config.py +0 -0
  32. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/temporary/__init__.py +0 -0
  33. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/temporary/envdata.py +0 -0
  34. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/__init__.py +0 -0
  35. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/all_requests/__init__.py +0 -0
  36. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/all_requests/aiohttp_request.py +0 -0
  37. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/all_requests/httpx_requet.py +0 -0
  38. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/all_requests/mrequest.py +0 -0
  39. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/all_requests/requests_request.py +0 -0
  40. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/batch_compre/__init__.py +0 -0
  41. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/batch_compre/bijiao_batch.py +0 -0
  42. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/contrast_db3.py +0 -0
  43. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/copy_file.py +0 -0
  44. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/db3_2_sizedb3.py +0 -0
  45. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/foreachgz.py +0 -0
  46. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/get_attr.py +0 -0
  47. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/image_to_pdf.py +0 -0
  48. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/java_code_deal.py +0 -0
  49. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/javacode.py +0 -0
  50. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/mdb_db3.py +0 -0
  51. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/merge_file.py +0 -0
  52. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/merge_gz_file.py +0 -0
  53. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/mhdfstools/__init__.py +0 -0
  54. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py +0 -0
  55. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/mhdfstools/hdfst.py +0 -0
  56. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/mhdfstools/up_hdfs_files.py +0 -0
  57. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/mongo_tools.py +0 -0
  58. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/move_file.py +0 -0
  59. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/move_mongo/__init__.py +0 -0
  60. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py +0 -0
  61. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/move_mongo/move_mongo_table.py +0 -0
  62. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/move_mongo/use_mttf.py +0 -0
  63. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/move_mongo/use_mv.py +0 -0
  64. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/mpandas/__init__.py +0 -0
  65. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/mpandas/mpandasreadexcel.py +0 -0
  66. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/mpandas/pandas_visualization.py +0 -0
  67. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/myparsel.py +0 -0
  68. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/rename_dir_file.py +0 -0
  69. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/sequoiadb_utils.py +0 -0
  70. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/split_line_to_many.py +0 -0
  71. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/stringtodicts.py +0 -0
  72. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/tools/workwechant_bot.py +0 -0
  73. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/__init__.py +0 -0
  74. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseaiohttp.py +0 -0
  75. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseaiomysql.py +0 -0
  76. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseallstep.py +0 -0
  77. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseavro.py +0 -0
  78. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseboto3.py +0 -0
  79. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basecsv.py +0 -0
  80. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basedict.py +0 -0
  81. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basedir.py +0 -0
  82. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseencode.py +0 -0
  83. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseencoding.py +0 -0
  84. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseesdsl.py +0 -0
  85. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseexcel.py +0 -0
  86. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseexcept.py +0 -0
  87. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basefile.py +0 -0
  88. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseftp.py +0 -0
  89. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basegzip.py +0 -0
  90. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basehdfs.py +0 -0
  91. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basehttpx.py +0 -0
  92. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseip.py +0 -0
  93. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basejson.py +0 -0
  94. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baselist.py +0 -0
  95. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basemotor.py +0 -0
  96. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basemssql.py +0 -0
  97. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseodbc.py +0 -0
  98. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basepandas.py +0 -0
  99. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basepeewee.py +0 -0
  100. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basepika.py +0 -0
  101. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basepydash.py +0 -0
  102. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basepymongo.py +0 -0
  103. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basequeue.py +0 -0
  104. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baserar.py +0 -0
  105. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baserequest.py +0 -0
  106. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseset.py +0 -0
  107. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basesmb.py +0 -0
  108. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basestring.py +0 -0
  109. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basetime.py +0 -0
  110. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basetuple.py +0 -0
  111. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/baseurl.py +0 -0
  112. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/basezip.py +0 -0
  113. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/core/__init__.py +0 -0
  114. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/core/bottomutils.py +0 -0
  115. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/core/mdeprecated.py +0 -0
  116. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/core/mlamada.py +0 -0
  117. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/core/msginfo.py +0 -0
  118. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/core/requests_core.py +0 -0
  119. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/fateadm.py +0 -0
  120. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/importfun.py +0 -0
  121. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/mfaker.py +0 -0
  122. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/my_abc/__init__.py +0 -0
  123. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/my_abc/better_abc.py +0 -0
  124. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/mylogger.py +0 -0
  125. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/myredisclient.py +0 -0
  126. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/pipupgrade.py +0 -0
  127. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/ringlist.py +0 -0
  128. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/version_compare.py +0 -0
  129. {re_common-10.0.27 → re_common-10.0.29}/re_common/baselibrary/utils/ydmhttp.py +0 -0
  130. {re_common-10.0.27 → re_common-10.0.29}/re_common/facade/__init__.py +0 -0
  131. {re_common-10.0.27 → re_common-10.0.29}/re_common/facade/lazy_import.py +0 -0
  132. {re_common-10.0.27 → re_common-10.0.29}/re_common/facade/loggerfacade.py +0 -0
  133. {re_common-10.0.27 → re_common-10.0.29}/re_common/facade/mysqlfacade.py +0 -0
  134. {re_common-10.0.27 → re_common-10.0.29}/re_common/facade/now.py +0 -0
  135. {re_common-10.0.27 → re_common-10.0.29}/re_common/facade/sqlite3facade.py +0 -0
  136. {re_common-10.0.27 → re_common-10.0.29}/re_common/facade/use/__init__.py +0 -0
  137. {re_common-10.0.27 → re_common-10.0.29}/re_common/facade/use/mq_use_facade.py +0 -0
  138. {re_common-10.0.27 → re_common-10.0.29}/re_common/facade/use/proxy_use_facade.py +0 -0
  139. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/__init__.py +0 -0
  140. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/base_dict_test.py +0 -0
  141. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/baseavro_test.py +0 -0
  142. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/basefile_test.py +0 -0
  143. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/basemssql_test.py +0 -0
  144. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/baseodbc_test.py +0 -0
  145. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/basepandas_test.py +0 -0
  146. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/get_attr_test/__init__.py +0 -0
  147. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/get_attr_test/get_attr_test_settings.py +0 -0
  148. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/get_attr_test/settings.py +0 -0
  149. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/idencode_test.py +0 -0
  150. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/iniconfig_test.py +0 -0
  151. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/ip_test.py +0 -0
  152. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/merge_file_test.py +0 -0
  153. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/mfaker_test.py +0 -0
  154. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/mm3_test.py +0 -0
  155. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/mylogger_test.py +0 -0
  156. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/myparsel_test.py +0 -0
  157. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/mysql_test.py +0 -0
  158. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/pymongo_test.py +0 -0
  159. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/split_test.py +0 -0
  160. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/sqlite3_merge_test.py +0 -0
  161. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/sqlite3_test.py +0 -0
  162. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/tomlconfig_test.py +0 -0
  163. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/use_tools_test/__init__.py +0 -0
  164. {re_common-10.0.27 → re_common-10.0.29}/re_common/libtest/user/__init__.py +0 -0
  165. {re_common-10.0.27 → re_common-10.0.29}/re_common/studio/__init__.py +0 -0
  166. {re_common-10.0.27 → re_common-10.0.29}/re_common/studio/assignment_expressions.py +0 -0
  167. {re_common-10.0.27 → re_common-10.0.29}/re_common/studio/mydash/__init__.py +0 -0
  168. {re_common-10.0.27 → re_common-10.0.29}/re_common/studio/mydash/test1.py +0 -0
  169. {re_common-10.0.27 → re_common-10.0.29}/re_common/studio/pydashstudio/__init__.py +0 -0
  170. {re_common-10.0.27 → re_common-10.0.29}/re_common/studio/pydashstudio/first.py +0 -0
  171. {re_common-10.0.27 → re_common-10.0.29}/re_common/studio/streamlitstudio/__init__.py +0 -0
  172. {re_common-10.0.27 → re_common-10.0.29}/re_common/studio/streamlitstudio/first_app.py +0 -0
  173. {re_common-10.0.27 → re_common-10.0.29}/re_common/studio/streamlitstudio/uber_pickups.py +0 -0
  174. {re_common-10.0.27 → re_common-10.0.29}/re_common/studio/test.py +0 -0
  175. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/__init__.py +0 -0
  176. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/__init__.py +0 -0
  177. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/business_utils/BusinessStringUtil.py +0 -0
  178. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/business_utils/__init__.py +0 -0
  179. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/business_utils/rel_tools.py +0 -0
  180. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/decorators/__init__.py +0 -0
  181. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/decorators/utils.py +0 -0
  182. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/helpers/__init__.py +0 -0
  183. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/s3object/__init__.py +0 -0
  184. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/s3object/baseboto3.py +0 -0
  185. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/WeChatRobot.py +0 -0
  186. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/__init__.py +0 -0
  187. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/ac_ahocorasick.py +0 -0
  188. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/data_processer/__init__.py +0 -0
  189. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/data_processer/base.py +0 -0
  190. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/data_processer/data_processer.py +0 -0
  191. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/data_processer/data_reader.py +0 -0
  192. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/data_processer/data_writer.py +0 -0
  193. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/dict_tools.py +0 -0
  194. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/dolphinscheduler.py +0 -0
  195. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/hdfs_data_processer.py +0 -0
  196. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/list_tools.py +0 -0
  197. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/search_hash_tools.py +0 -0
  198. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/text_matcher.py +0 -0
  199. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/tools/unionfind_tools.py +0 -0
  200. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/BusinessStringUtil.py +0 -0
  201. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/__init__.py +0 -0
  202. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/api_net_utils.py +0 -0
  203. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/base_string_similarity.py +0 -0
  204. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/basedict.py +0 -0
  205. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/basehdfs.py +0 -0
  206. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/basepika.py +0 -0
  207. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/basetime.py +0 -0
  208. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/db.py +0 -0
  209. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/json_cls.py +0 -0
  210. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/mq.py +0 -0
  211. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/n_ary_expression_tree.py +0 -0
  212. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/string_bool.py +0 -0
  213. {re_common-10.0.27 → re_common-10.0.29}/re_common/v2/baselibrary/utils/string_smi.py +0 -0
  214. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/__init__.py +0 -0
  215. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/base_step_process.py +0 -0
  216. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/baseencodeid.py +0 -0
  217. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/changetaskname.py +0 -0
  218. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/core_var.py +0 -0
  219. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/mmh3Hash.py +0 -0
  220. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/proxy/__init__.py +0 -0
  221. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/proxy/allproxys.py +0 -0
  222. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/proxy/allproxys_thread.py +0 -0
  223. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/proxy/cnki_proxy.py +0 -0
  224. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/proxy/kuaidaili.py +0 -0
  225. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/proxy/proxy_all.py +0 -0
  226. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/proxy/update_kuaidaili_0.py +0 -0
  227. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/proxy/wanfang_proxy.py +0 -0
  228. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/proxy/wp_proxy_all.py +0 -0
  229. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/read_rawid_to_txt.py +0 -0
  230. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/title/__init__.py +0 -0
  231. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/title/transform/TransformBookTitleToZt.py +0 -0
  232. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/title/transform/TransformConferenceTitleToZt.py +0 -0
  233. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/title/transform/TransformCstadTitleToZt.py +0 -0
  234. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/title/transform/TransformJournalTitleToZt.py +0 -0
  235. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/title/transform/TransformPatentTitleToZt.py +0 -0
  236. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/title/transform/TransformRegulationTitleToZt.py +0 -0
  237. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/title/transform/TransformStandardTitleToZt.py +0 -0
  238. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/title/transform/TransformThesisTitleToZt.py +0 -0
  239. {re_common-10.0.27 → re_common-10.0.29}/re_common/vip/title/transform/__init__.py +0 -0
  240. {re_common-10.0.27 → re_common-10.0.29}/re_common.egg-info/SOURCES.txt +0 -0
  241. {re_common-10.0.27 → re_common-10.0.29}/re_common.egg-info/dependency_links.txt +0 -0
  242. {re_common-10.0.27 → re_common-10.0.29}/re_common.egg-info/top_level.txt +0 -0
  243. {re_common-10.0.27 → re_common-10.0.29}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: re_common
3
- Version: 10.0.27
3
+ Version: 10.0.29
4
4
  Summary: a library about all python projects
5
5
  Home-page: https://gitee.com/xujiangios/re-common
6
6
  Author: vic
@@ -76,11 +76,12 @@ class BaseLngid(object):
76
76
 
77
77
  return lngid
78
78
 
79
- def getDoiid(self, doi):
80
- doi_upper = doi.upper()
81
- limited_id = self.BaseEncodeID(doi_upper)
79
+ def getDoiid(self, doi, case_insensitive=False):
80
+ if case_insensitive is False:
81
+ doi = doi.upper()
82
+ limited_id = self.BaseEncodeID(doi)
82
83
  if len(limited_id) > 240:
83
- limited_id = hashlib.md5(doi_upper.encode('utf8')).hexdigest().upper()
84
+ limited_id = hashlib.md5(doi.encode('utf8')).hexdigest().upper()
84
85
  return limited_id
85
86
 
86
87
  def GetRawid(self, limited_id, case_insensitive=False):
@@ -97,4 +98,3 @@ class BaseLngid(object):
97
98
  raise Exception("长度超过20,不可逆")
98
99
 
99
100
  return uppercase_rawid
100
-
@@ -109,8 +109,8 @@ def doi_to_dir(doi):
109
109
  return first_dir + "/" + second_dir
110
110
 
111
111
 
112
- def get_doi_path(doi):
112
+ def get_doi_path(doi, case_insensitive=False):
113
113
  # 目前使用
114
114
  dir_path = doi_to_dir(doi)
115
- file_name = base_lngid.getDoiid(doi) + ".pdf"
115
+ file_name = base_lngid.getDoiid(doi, case_insensitive=case_insensitive) + ".pdf"
116
116
  return dir_path + "/" + file_name
@@ -185,6 +185,7 @@ def AuthorRatio(
185
185
  # 处理后是否为空字符串,如果有 返回0
186
186
  if not s1 or not s2:
187
187
  return 0
188
+ # get_diacritic_variant(unidecode(strs)) 更激进,会丢失非拉丁字符和原文信息,适合需要把多语言文本转换成 ASCII 拼音的场景。
188
189
  # 处理音标问题
189
190
  s1 = get_diacritic_variant(unidecode(s1))
190
191
  s2 = get_diacritic_variant(unidecode(s2))
@@ -9,7 +9,7 @@ from re_common.v2.baselibrary.utils.stringutils import (
9
9
  bj2qj,
10
10
  get_diacritic_variant,
11
11
  clean_html,
12
- remove_spaces_between_chinese_characters, clean_unicode_alnum,
12
+ remove_spaces_between_chinese_characters, clean_unicode_alnum, normalize_nfkc,
13
13
  )
14
14
 
15
15
 
@@ -112,10 +112,18 @@ class StringClear(object):
112
112
  return self
113
113
 
114
114
  def remove_diacritics(self):
115
+ """
116
+ 和 clear_nkfc的关键区别 不去除连字
117
+ """
115
118
  # 去除音标 转换成字母
116
119
  self.obj_str = get_diacritic_variant(self.obj_str)
117
120
  return self
118
121
 
122
+ def clear_nkfc(self):
123
+ self.obj_str = normalize_nfkc(self.obj_str)
124
+ return self
125
+
126
+
119
127
  def remove_brackets(self):
120
128
  # 移除 方括号里面的内容
121
129
  self.obj_str = re.sub("\\[.*?]", "", self.obj_str)
@@ -148,6 +156,12 @@ class StringClear(object):
148
156
  self.obj_str = unquote(self.obj_str)
149
157
  return self
150
158
 
159
+ def ascii_text(self):
160
+ # 只保留 ASCII 范围内的可见字符:空格(32) 到 ~ (126)
161
+ self.obj_str = ''.join(c for c in self.obj_str if 32 <= ord(c) <= 126)
162
+ return self
163
+
164
+
151
165
  def get_str(self):
152
166
  return self.obj_str
153
167
 
@@ -6,6 +6,7 @@ import regex
6
6
  import unicodedata
7
7
  from html.parser import HTMLParser
8
8
 
9
+ from unidecode import unidecode
9
10
 
10
11
  from re_common.v2.baselibrary.utils.string_smi import JaroDamerauLevenshteinMaxSim
11
12
 
@@ -59,7 +60,27 @@ def qj2bj(src):
59
60
  return ''.join(buf)
60
61
 
61
62
 
63
+ """
64
+ 总结对比表
65
+ 规范名 处理步骤 组合方式 兼容性归一化 主要用途
66
+ NFC 规范分解 → 规范组合 组合 否 保留预组合字符,文本呈现和存储
67
+ NFD 规范分解 不组合 否 拆解字符,便于逐字符处理
68
+ NFKC 兼容性分解 → 规范组合 组合 是 消除兼容差异,文本比较和索引
69
+ NFKD 兼容性分解 → 规范分解 不组合 是 最大程度拆解,文本分析和预处理
70
+ """
71
+
72
+
62
73
  def get_diacritic_variant(char1):
74
+ """
75
+ NFD: 规范分解(Normalization Form D)
76
+ 把字符拆分为基本字符 + 变音符号
77
+
78
+ 但不处理兼容字符(如连字)
79
+
80
+ print(unicodedata.normalize('NFD', 'é')) # 输出: 'é'(e + 组合符号) # 这里看起来是1个字符 len 其实是2
81
+ print(unicodedata.normalize('NFD', 'fl')) # 输出: 'fl'(不变化)
82
+
83
+ """
63
84
  # 将字符转换为标准的 Unicode 形式
64
85
  normalized_char1 = unicodedata.normalize('NFD', char1)
65
86
 
@@ -70,6 +91,19 @@ def get_diacritic_variant(char1):
70
91
  return base_char1
71
92
 
72
93
 
94
+ def normalize_nfkc(strs: str) -> str:
95
+ """
96
+ NFKC: 兼容字符归一化 + 组合(Normalization Form Compatibility Composition)
97
+ 把 连字、圈数字、全角字符 等兼容字符转换为标准形式
98
+
99
+ 同时做字符合并(例如 é 不再是 e+´,而是一个字符)
100
+ print(unicodedata.normalize('NFKC', 'fl')) # 输出: 'fl'
101
+ print(unicodedata.normalize('NFKC', '①')) # 输出: '1'
102
+ print(unicodedata.normalize('NFKC', 'A')) # 输出: 'A'
103
+ """
104
+ return unicodedata.normalize('NFKC', strs.strip())
105
+
106
+
73
107
  def get_alphabetic_ratio(text: str) -> float:
74
108
  # 返回字母型字符所占比例
75
109
  if not text:
@@ -158,9 +192,9 @@ def remove_spaces_between_chinese_characters(text):
158
192
  return re.sub(pattern, '', text)
159
193
 
160
194
 
161
-
162
195
  sim_utils = JaroDamerauLevenshteinMaxSim()
163
196
 
197
+
164
198
  def group_similar_texts(texts, threshold=0.9):
165
199
  """根据相似度对文本进行分组"""
166
200
  from re_common.v2.baselibrary.utils.string_clear import rel_clear
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: re_common
3
- Version: 10.0.27
3
+ Version: 10.0.29
4
4
  Summary: a library about all python projects
5
5
  Home-page: https://gitee.com/xujiangios/re-common
6
6
  Author: vic
@@ -34,7 +34,7 @@ long_description = """
34
34
  """
35
35
  setuptools.setup(
36
36
  name="re_common",
37
- version="10.0.27",
37
+ version="10.0.29",
38
38
  author="vic",
39
39
  author_email="xujiang5@163.com",
40
40
  description="a library about all python projects",
File without changes
File without changes
File without changes
File without changes