re-common 10.0.11__tar.gz → 10.0.13__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 (223) hide show
  1. {re_common-10.0.11 → re_common-10.0.13}/PKG-INFO +1 -1
  2. re_common-10.0.13/re_common/v2/baselibrary/tools/list_tools.py +9 -0
  3. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/utils/BusinessStringUtil.py +59 -0
  4. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/utils/basedict.py +13 -1
  5. re_common-10.0.13/re_common/v2/baselibrary/utils/string_smi.py +18 -0
  6. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/utils/stringutils.py +59 -0
  7. {re_common-10.0.11 → re_common-10.0.13}/re_common.egg-info/PKG-INFO +1 -1
  8. {re_common-10.0.11 → re_common-10.0.13}/re_common.egg-info/SOURCES.txt +1 -0
  9. {re_common-10.0.11 → re_common-10.0.13}/setup.py +1 -1
  10. re_common-10.0.11/re_common/v2/baselibrary/tools/list_tools.py +0 -0
  11. {re_common-10.0.11 → re_common-10.0.13}/LICENSE +0 -0
  12. {re_common-10.0.11 → re_common-10.0.13}/README.md +0 -0
  13. {re_common-10.0.11 → re_common-10.0.13}/re_common/__init__.py +0 -0
  14. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/__init__.py +0 -0
  15. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/baseabs/__init__.py +0 -0
  16. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/baseabs/baseabs.py +0 -0
  17. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/database/__init__.py +0 -0
  18. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/database/mbuilder.py +0 -0
  19. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/database/moudle.py +0 -0
  20. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/database/msqlite3.py +0 -0
  21. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/database/mysql.py +0 -0
  22. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/database/sql_factory.py +0 -0
  23. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/mthread/MThreadingRun.py +0 -0
  24. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/mthread/MThreadingRunEvent.py +0 -0
  25. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/mthread/__init__.py +0 -0
  26. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/mthread/mythreading.py +0 -0
  27. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/pakge_other/__init__.py +0 -0
  28. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/pakge_other/socks.py +0 -0
  29. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/readconfig/__init__.py +0 -0
  30. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/readconfig/config_factory.py +0 -0
  31. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/readconfig/ini_config.py +0 -0
  32. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/readconfig/toml_config.py +0 -0
  33. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/temporary/__init__.py +0 -0
  34. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/temporary/envdata.py +0 -0
  35. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/__init__.py +0 -0
  36. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/all_requests/__init__.py +0 -0
  37. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/all_requests/aiohttp_request.py +0 -0
  38. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/all_requests/httpx_requet.py +0 -0
  39. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/all_requests/mrequest.py +0 -0
  40. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/all_requests/requests_request.py +0 -0
  41. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/batch_compre/__init__.py +0 -0
  42. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/batch_compre/bijiao_batch.py +0 -0
  43. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/contrast_db3.py +0 -0
  44. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/copy_file.py +0 -0
  45. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/db3_2_sizedb3.py +0 -0
  46. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/foreachgz.py +0 -0
  47. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/get_attr.py +0 -0
  48. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/image_to_pdf.py +0 -0
  49. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/java_code_deal.py +0 -0
  50. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/javacode.py +0 -0
  51. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/mdb_db3.py +0 -0
  52. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/merge_file.py +0 -0
  53. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/merge_gz_file.py +0 -0
  54. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/mhdfstools/__init__.py +0 -0
  55. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py +0 -0
  56. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/mhdfstools/hdfst.py +0 -0
  57. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/mhdfstools/up_hdfs_files.py +0 -0
  58. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/mongo_tools.py +0 -0
  59. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/move_file.py +0 -0
  60. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/move_mongo/__init__.py +0 -0
  61. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py +0 -0
  62. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/move_mongo/move_mongo_table.py +0 -0
  63. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/move_mongo/use_mttf.py +0 -0
  64. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/move_mongo/use_mv.py +0 -0
  65. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/mpandas/__init__.py +0 -0
  66. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/mpandas/mpandasreadexcel.py +0 -0
  67. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/mpandas/pandas_visualization.py +0 -0
  68. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/myparsel.py +0 -0
  69. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/rename_dir_file.py +0 -0
  70. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/sequoiadb_utils.py +0 -0
  71. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/split_line_to_many.py +0 -0
  72. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/stringtodicts.py +0 -0
  73. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/tools/workwechant_bot.py +0 -0
  74. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/__init__.py +0 -0
  75. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseaiohttp.py +0 -0
  76. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseaiomysql.py +0 -0
  77. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseallstep.py +0 -0
  78. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseavro.py +0 -0
  79. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseboto3.py +0 -0
  80. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basecsv.py +0 -0
  81. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basedict.py +0 -0
  82. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basedir.py +0 -0
  83. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseencode.py +0 -0
  84. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseencoding.py +0 -0
  85. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseesdsl.py +0 -0
  86. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseexcel.py +0 -0
  87. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseexcept.py +0 -0
  88. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basefile.py +0 -0
  89. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseftp.py +0 -0
  90. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basegzip.py +0 -0
  91. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basehdfs.py +0 -0
  92. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basehttpx.py +0 -0
  93. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseip.py +0 -0
  94. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basejson.py +0 -0
  95. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baselist.py +0 -0
  96. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basemotor.py +0 -0
  97. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basemssql.py +0 -0
  98. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseodbc.py +0 -0
  99. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basepandas.py +0 -0
  100. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basepeewee.py +0 -0
  101. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basepika.py +0 -0
  102. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basepydash.py +0 -0
  103. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basepymongo.py +0 -0
  104. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basequeue.py +0 -0
  105. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baserar.py +0 -0
  106. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baserequest.py +0 -0
  107. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseset.py +0 -0
  108. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basesmb.py +0 -0
  109. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basestring.py +0 -0
  110. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basetime.py +0 -0
  111. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basetuple.py +0 -0
  112. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/baseurl.py +0 -0
  113. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/basezip.py +0 -0
  114. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/core/__init__.py +0 -0
  115. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/core/bottomutils.py +0 -0
  116. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/core/mdeprecated.py +0 -0
  117. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/core/mlamada.py +0 -0
  118. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/core/msginfo.py +0 -0
  119. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/core/requests_core.py +0 -0
  120. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/fateadm.py +0 -0
  121. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/importfun.py +0 -0
  122. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/mfaker.py +0 -0
  123. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/my_abc/__init__.py +0 -0
  124. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/my_abc/better_abc.py +0 -0
  125. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/mylogger.py +0 -0
  126. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/myredisclient.py +0 -0
  127. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/pipupgrade.py +0 -0
  128. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/ringlist.py +0 -0
  129. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/version_compare.py +0 -0
  130. {re_common-10.0.11 → re_common-10.0.13}/re_common/baselibrary/utils/ydmhttp.py +0 -0
  131. {re_common-10.0.11 → re_common-10.0.13}/re_common/facade/__init__.py +0 -0
  132. {re_common-10.0.11 → re_common-10.0.13}/re_common/facade/lazy_import.py +0 -0
  133. {re_common-10.0.11 → re_common-10.0.13}/re_common/facade/loggerfacade.py +0 -0
  134. {re_common-10.0.11 → re_common-10.0.13}/re_common/facade/mysqlfacade.py +0 -0
  135. {re_common-10.0.11 → re_common-10.0.13}/re_common/facade/now.py +0 -0
  136. {re_common-10.0.11 → re_common-10.0.13}/re_common/facade/sqlite3facade.py +0 -0
  137. {re_common-10.0.11 → re_common-10.0.13}/re_common/facade/use/__init__.py +0 -0
  138. {re_common-10.0.11 → re_common-10.0.13}/re_common/facade/use/mq_use_facade.py +0 -0
  139. {re_common-10.0.11 → re_common-10.0.13}/re_common/facade/use/proxy_use_facade.py +0 -0
  140. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/__init__.py +0 -0
  141. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/base_dict_test.py +0 -0
  142. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/baseavro_test.py +0 -0
  143. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/basefile_test.py +0 -0
  144. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/basemssql_test.py +0 -0
  145. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/baseodbc_test.py +0 -0
  146. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/basepandas_test.py +0 -0
  147. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/get_attr_test/__init__.py +0 -0
  148. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/get_attr_test/get_attr_test_settings.py +0 -0
  149. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/get_attr_test/settings.py +0 -0
  150. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/idencode_test.py +0 -0
  151. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/iniconfig_test.py +0 -0
  152. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/ip_test.py +0 -0
  153. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/merge_file_test.py +0 -0
  154. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/mfaker_test.py +0 -0
  155. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/mm3_test.py +0 -0
  156. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/mylogger_test.py +0 -0
  157. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/myparsel_test.py +0 -0
  158. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/mysql_test.py +0 -0
  159. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/pymongo_test.py +0 -0
  160. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/split_test.py +0 -0
  161. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/sqlite3_merge_test.py +0 -0
  162. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/sqlite3_test.py +0 -0
  163. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/tomlconfig_test.py +0 -0
  164. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/use_tools_test/__init__.py +0 -0
  165. {re_common-10.0.11 → re_common-10.0.13}/re_common/libtest/user/__init__.py +0 -0
  166. {re_common-10.0.11 → re_common-10.0.13}/re_common/studio/__init__.py +0 -0
  167. {re_common-10.0.11 → re_common-10.0.13}/re_common/studio/assignment_expressions.py +0 -0
  168. {re_common-10.0.11 → re_common-10.0.13}/re_common/studio/mydash/__init__.py +0 -0
  169. {re_common-10.0.11 → re_common-10.0.13}/re_common/studio/mydash/test1.py +0 -0
  170. {re_common-10.0.11 → re_common-10.0.13}/re_common/studio/pydashstudio/__init__.py +0 -0
  171. {re_common-10.0.11 → re_common-10.0.13}/re_common/studio/pydashstudio/first.py +0 -0
  172. {re_common-10.0.11 → re_common-10.0.13}/re_common/studio/streamlitstudio/__init__.py +0 -0
  173. {re_common-10.0.11 → re_common-10.0.13}/re_common/studio/streamlitstudio/first_app.py +0 -0
  174. {re_common-10.0.11 → re_common-10.0.13}/re_common/studio/streamlitstudio/uber_pickups.py +0 -0
  175. {re_common-10.0.11 → re_common-10.0.13}/re_common/studio/test.py +0 -0
  176. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/__init__.py +0 -0
  177. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/__init__.py +0 -0
  178. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/helpers/__init__.py +0 -0
  179. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/s3object/__init__.py +0 -0
  180. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/s3object/baseboto3.py +0 -0
  181. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/tools/WeChatRobot.py +0 -0
  182. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/tools/__init__.py +0 -0
  183. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/tools/dict_tools.py +0 -0
  184. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/tools/dolphinscheduler.py +0 -0
  185. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/tools/search_hash_tools.py +0 -0
  186. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/tools/text_matcher.py +0 -0
  187. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/tools/unionfind_tools.py +0 -0
  188. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/utils/__init__.py +0 -0
  189. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/utils/author_smi.py +0 -0
  190. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/utils/basehdfs.py +0 -0
  191. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/utils/json_cls.py +0 -0
  192. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/utils/n_ary_expression_tree.py +0 -0
  193. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/utils/string_bool.py +0 -0
  194. {re_common-10.0.11 → re_common-10.0.13}/re_common/v2/baselibrary/utils/string_clear.py +0 -0
  195. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/__init__.py +0 -0
  196. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/base_step_process.py +0 -0
  197. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/baseencodeid.py +0 -0
  198. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/changetaskname.py +0 -0
  199. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/core_var.py +0 -0
  200. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/mmh3Hash.py +0 -0
  201. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/proxy/__init__.py +0 -0
  202. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/proxy/allproxys.py +0 -0
  203. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/proxy/allproxys_thread.py +0 -0
  204. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/proxy/cnki_proxy.py +0 -0
  205. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/proxy/kuaidaili.py +0 -0
  206. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/proxy/proxy_all.py +0 -0
  207. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/proxy/update_kuaidaili_0.py +0 -0
  208. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/proxy/wanfang_proxy.py +0 -0
  209. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/proxy/wp_proxy_all.py +0 -0
  210. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/read_rawid_to_txt.py +0 -0
  211. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/title/__init__.py +0 -0
  212. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/title/transform/TransformBookTitleToZt.py +0 -0
  213. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/title/transform/TransformConferenceTitleToZt.py +0 -0
  214. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/title/transform/TransformCstadTitleToZt.py +0 -0
  215. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/title/transform/TransformJournalTitleToZt.py +0 -0
  216. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/title/transform/TransformPatentTitleToZt.py +0 -0
  217. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/title/transform/TransformRegulationTitleToZt.py +0 -0
  218. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/title/transform/TransformStandardTitleToZt.py +0 -0
  219. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/title/transform/TransformThesisTitleToZt.py +0 -0
  220. {re_common-10.0.11 → re_common-10.0.13}/re_common/vip/title/transform/__init__.py +0 -0
  221. {re_common-10.0.11 → re_common-10.0.13}/re_common.egg-info/dependency_links.txt +0 -0
  222. {re_common-10.0.11 → re_common-10.0.13}/re_common.egg-info/top_level.txt +0 -0
  223. {re_common-10.0.11 → re_common-10.0.13}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: re_common
3
- Version: 10.0.11
3
+ Version: 10.0.13
4
4
  Summary: a library about all python projects
5
5
  Home-page: https://gitee.com/xujiangios/re-common
6
6
  Author: vic
@@ -0,0 +1,9 @@
1
+
2
+ def check_no_duplicates_2d(lst_2d):
3
+ """检查二维列表的每一行是否无重复"""
4
+ for row in lst_2d:
5
+ # 将行转为集合,比较长度
6
+ if len(row) != len(set(row)):
7
+ return False
8
+ return True
9
+
@@ -114,3 +114,62 @@ def get_wos_author_abbr(author_row: str):
114
114
  abbr_list = [author.strip() for author in abbr_list if
115
115
  author.strip() and author.strip().lower() not in ("*", "and")]
116
116
  return ";".join(abbr_list)
117
+
118
+
119
+ def deal_rel_vol(vol_str: str):
120
+ """
121
+ 处理 期刊融合时的卷处理逻辑
122
+ """
123
+ if vol_str.replace(".", "").isdigit():
124
+ try:
125
+ float_num = float(vol_str)
126
+ if int(float_num) == float_num:
127
+ return str(int(float_num))
128
+ except:
129
+ pass
130
+
131
+ if vol_str.lower().startswith("v "):
132
+ vol_str = vol_str.lower().replace("v ", "").strip()
133
+ return vol_str
134
+ if vol_str.lower().startswith("volume "):
135
+ vol_str = vol_str.lower().replace("volume ", "").strip()
136
+ return vol_str
137
+ if vol_str.lower().startswith("vol. "):
138
+ vol_str = vol_str.lower().replace("vol. ", "").strip()
139
+ return vol_str
140
+ if vol_str.lower().startswith("vol "):
141
+ vol_str = vol_str.lower().replace("vol ", "").strip()
142
+ return vol_str
143
+ return vol_str
144
+
145
+
146
+ def deal_num_strs(input_str):
147
+ """
148
+ int后在str 防止有浮点型的表达方式
149
+ """
150
+ number_list = re.findall(r'\d+', input_str)
151
+ transformed_numbers = [str(int(num)) for num in number_list]
152
+
153
+ # 替换原字符串中的数字为转换后的数字
154
+ for num, transformed_num in zip(number_list, transformed_numbers):
155
+ input_str = input_str.replace(num, transformed_num)
156
+ return input_str
157
+
158
+
159
+ def deal_num(strs):
160
+ """
161
+ 将 期格式化 方便 group尤其是有横杆的数据
162
+ 该方法 为融合二次分割时使用,如果场景合适也可以用于其他地方
163
+ :param strs:
164
+ :return:
165
+ """
166
+ strs = strs.replace("-", "_").replace(".", "_").upper()
167
+ if strs.find("_") > -1:
168
+ start, end = strs.split("_")
169
+ start = deal_num_strs(start)
170
+ end = deal_num_strs(end)
171
+ strs = start + "_" + end
172
+ else:
173
+ strs = deal_num_strs(strs)
174
+
175
+ return strs
@@ -1,11 +1,12 @@
1
1
  import logging
2
+ from itertools import groupby
2
3
 
3
4
  logger = logging.getLogger(__name__) # 创建 logger 实例
4
5
 
5
6
 
6
7
  class BaseDict(object):
7
8
  @classmethod
8
- def flip_dict(cls, original_dict, raise_on_conflict=False):
9
+ def flip_dict(cls, original_dict, raise_on_conflict=True):
9
10
  """
10
11
  翻转字典:将 key 是字符串、value 是列表的字典,转换为 key 是原 value 列表中的元素、value 是原 key 的字典。
11
12
  :param original_dict: 原始字典
@@ -24,3 +25,14 @@ class BaseDict(object):
24
25
  f"Warning: Key conflict detected for {value}. Overwriting with new value: {key}.")
25
26
  flipped_dict[value] = key
26
27
  return flipped_dict
28
+
29
+ @classmethod
30
+ def get_temp_gid_dicts(cls,lists,key_name):
31
+ """
32
+ 对 列表字典 分组 组成 分组id的字典
33
+ """
34
+ dicts = {}
35
+ for group_id, group_tmp in groupby(sorted(lists, key=lambda x: x[key_name]),
36
+ key=lambda x: x[key_name]):
37
+ dicts[group_id] = group_tmp
38
+ return dicts
@@ -0,0 +1,18 @@
1
+ import jellyfish
2
+ from rapidfuzz.distance import DamerauLevenshtein
3
+
4
+
5
+ class JaroDamerauLevenshteinMaxSim(object):
6
+ """
7
+ jaro_similarity 有缺陷 以下样例数据会导致分很低
8
+ s1 = "in situ monitoring of semiconductor wafer temperature using infrared interfe rometry"
9
+ s2 = "insitu monitoring of semiconductor wafer temperature using infrared interferometry"
10
+ """
11
+
12
+ def get_sim(self, str1: str, str2: str) -> float:
13
+ similarity1 = jellyfish.jaro_similarity(str1, str2)
14
+ if str1.strip() == "" and str2.strip() == "":
15
+ similarity2 = 0
16
+ else:
17
+ similarity2 = 1 - DamerauLevenshtein.normalized_distance(str1, str2)
18
+ return max(similarity1, similarity2)
@@ -1,11 +1,15 @@
1
1
  import re
2
2
  import threading
3
+ from itertools import combinations
3
4
 
4
5
  import regex
5
6
  import unicodedata
6
7
  from html.parser import HTMLParser
7
8
 
8
9
 
10
+ from re_common.v2.baselibrary.utils.string_smi import JaroDamerauLevenshteinMaxSim
11
+
12
+
9
13
  def bj2qj(src):
10
14
  if src is None:
11
15
  return src
@@ -152,3 +156,58 @@ def remove_spaces_between_chinese_characters(text):
152
156
  """
153
157
  pattern = r'(?<=[\u3400-\u9fff])\s+(?=[\u3400-\u9fff])'
154
158
  return re.sub(pattern, '', text)
159
+
160
+
161
+
162
+ sim_utils = JaroDamerauLevenshteinMaxSim()
163
+
164
+ def group_similar_texts(texts, threshold=0.9):
165
+ """根据相似度对文本进行分组"""
166
+ from re_common.v2.baselibrary.utils.string_clear import rel_clear
167
+ n = len(texts)
168
+ # 创建邻接表表示图
169
+ graph = [[] for _ in range(n)]
170
+ # 计算所有文本对的相似度并构建图
171
+ for i, j in combinations(range(n), 2):
172
+ similarity = sim_utils.get_sim(rel_clear(texts[i]), rel_clear(texts[j]))
173
+ if similarity >= threshold:
174
+ graph[i].append(j)
175
+ graph[j].append(i)
176
+
177
+ visited = [False] * n
178
+ groups = []
179
+
180
+ # 使用DFS找到连通分量
181
+ def dfs(node, group):
182
+ visited[node] = True
183
+ group.append(node)
184
+ for neighbor in graph[node]:
185
+ if not visited[neighbor]:
186
+ dfs(neighbor, group)
187
+
188
+ # 找到所有连通分量
189
+ for i in range(n):
190
+ if not visited[i]:
191
+ current_group = []
192
+ dfs(i, current_group)
193
+ groups.append(current_group)
194
+
195
+ return groups
196
+
197
+
198
+ def get_group_abstract(lists):
199
+ """
200
+ 这是一个 分组程序 ,会根据简单的连通图分组
201
+ lists: [(id,txt),...]
202
+ return: all_list 返回一个二维列表 每个列表里面是id 每个列表为一个分组
203
+ """
204
+ abstract_list = [i[1] for i in lists]
205
+ keyid_list = [i[0] for i in lists]
206
+ groups = group_similar_texts(abstract_list, threshold=0.9)
207
+ all_list = []
208
+ for group in groups:
209
+ t_list = []
210
+ for text_idx in group:
211
+ t_list.append(keyid_list[text_idx])
212
+ all_list.append(t_list)
213
+ return all_list
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: re_common
3
- Version: 10.0.11
3
+ Version: 10.0.13
4
4
  Summary: a library about all python projects
5
5
  Home-page: https://gitee.com/xujiangios/re-common
6
6
  Author: vic
@@ -190,6 +190,7 @@ re_common/v2/baselibrary/utils/json_cls.py
190
190
  re_common/v2/baselibrary/utils/n_ary_expression_tree.py
191
191
  re_common/v2/baselibrary/utils/string_bool.py
192
192
  re_common/v2/baselibrary/utils/string_clear.py
193
+ re_common/v2/baselibrary/utils/string_smi.py
193
194
  re_common/v2/baselibrary/utils/stringutils.py
194
195
  re_common/vip/__init__.py
195
196
  re_common/vip/base_step_process.py
@@ -34,7 +34,7 @@ long_description = """
34
34
  """
35
35
  setuptools.setup(
36
36
  name="re_common",
37
- version="10.0.11",
37
+ version="10.0.13",
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