re-common 10.0.1__tar.gz → 10.0.2__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 (218) hide show
  1. {re_common-10.0.1 → re_common-10.0.2}/PKG-INFO +1 -1
  2. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/utils/BusinessStringUtil.py +45 -3
  3. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/utils/author_smi.py +9 -7
  4. re_common-10.0.2/re_common/v2/baselibrary/utils/string_bool.py +26 -0
  5. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/utils/string_clear.py +28 -1
  6. {re_common-10.0.1 → re_common-10.0.2}/re_common.egg-info/PKG-INFO +1 -1
  7. {re_common-10.0.1 → re_common-10.0.2}/setup.py +2 -2
  8. re_common-10.0.1/re_common/v2/baselibrary/utils/string_bool.py +0 -9
  9. {re_common-10.0.1 → re_common-10.0.2}/LICENSE +0 -0
  10. {re_common-10.0.1 → re_common-10.0.2}/README.md +0 -0
  11. {re_common-10.0.1 → re_common-10.0.2}/re_common/__init__.py +0 -0
  12. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/__init__.py +0 -0
  13. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/baseabs/__init__.py +0 -0
  14. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/baseabs/baseabs.py +0 -0
  15. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/database/__init__.py +0 -0
  16. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/database/mbuilder.py +0 -0
  17. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/database/moudle.py +0 -0
  18. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/database/msqlite3.py +0 -0
  19. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/database/mysql.py +0 -0
  20. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/database/sql_factory.py +0 -0
  21. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/mthread/MThreadingRun.py +0 -0
  22. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/mthread/MThreadingRunEvent.py +0 -0
  23. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/mthread/__init__.py +0 -0
  24. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/mthread/mythreading.py +0 -0
  25. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/pakge_other/__init__.py +0 -0
  26. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/pakge_other/socks.py +0 -0
  27. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/readconfig/__init__.py +0 -0
  28. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/readconfig/config_factory.py +0 -0
  29. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/readconfig/ini_config.py +0 -0
  30. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/readconfig/toml_config.py +0 -0
  31. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/temporary/__init__.py +0 -0
  32. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/temporary/envdata.py +0 -0
  33. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/__init__.py +0 -0
  34. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/all_requests/__init__.py +0 -0
  35. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/all_requests/aiohttp_request.py +0 -0
  36. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/all_requests/httpx_requet.py +0 -0
  37. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/all_requests/mrequest.py +0 -0
  38. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/all_requests/requests_request.py +0 -0
  39. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/batch_compre/__init__.py +0 -0
  40. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/batch_compre/bijiao_batch.py +0 -0
  41. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/contrast_db3.py +0 -0
  42. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/copy_file.py +0 -0
  43. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/db3_2_sizedb3.py +0 -0
  44. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/foreachgz.py +0 -0
  45. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/get_attr.py +0 -0
  46. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/image_to_pdf.py +0 -0
  47. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/java_code_deal.py +0 -0
  48. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/javacode.py +0 -0
  49. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/mdb_db3.py +0 -0
  50. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/merge_file.py +0 -0
  51. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/merge_gz_file.py +0 -0
  52. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/mhdfstools/__init__.py +0 -0
  53. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py +0 -0
  54. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/mhdfstools/hdfst.py +0 -0
  55. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/mhdfstools/up_hdfs_files.py +0 -0
  56. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/mongo_tools.py +0 -0
  57. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/move_file.py +0 -0
  58. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/move_mongo/__init__.py +0 -0
  59. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py +0 -0
  60. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/move_mongo/move_mongo_table.py +0 -0
  61. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/move_mongo/use_mttf.py +0 -0
  62. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/move_mongo/use_mv.py +0 -0
  63. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/mpandas/__init__.py +0 -0
  64. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/mpandas/mpandasreadexcel.py +0 -0
  65. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/mpandas/pandas_visualization.py +0 -0
  66. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/myparsel.py +0 -0
  67. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/rename_dir_file.py +0 -0
  68. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/sequoiadb_utils.py +0 -0
  69. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/split_line_to_many.py +0 -0
  70. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/stringtodicts.py +0 -0
  71. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/tools/workwechant_bot.py +0 -0
  72. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/__init__.py +0 -0
  73. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseaiohttp.py +0 -0
  74. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseaiomysql.py +0 -0
  75. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseallstep.py +0 -0
  76. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseavro.py +0 -0
  77. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseboto3.py +0 -0
  78. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basecsv.py +0 -0
  79. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basedict.py +0 -0
  80. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basedir.py +0 -0
  81. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseencode.py +0 -0
  82. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseencoding.py +0 -0
  83. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseesdsl.py +0 -0
  84. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseexcel.py +0 -0
  85. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseexcept.py +0 -0
  86. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basefile.py +0 -0
  87. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseftp.py +0 -0
  88. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basegzip.py +0 -0
  89. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basehdfs.py +0 -0
  90. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basehttpx.py +0 -0
  91. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseip.py +0 -0
  92. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basejson.py +0 -0
  93. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baselist.py +0 -0
  94. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basemotor.py +0 -0
  95. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basemssql.py +0 -0
  96. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseodbc.py +0 -0
  97. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basepandas.py +0 -0
  98. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basepeewee.py +0 -0
  99. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basepika.py +0 -0
  100. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basepydash.py +0 -0
  101. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basepymongo.py +0 -0
  102. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basequeue.py +0 -0
  103. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baserar.py +0 -0
  104. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baserequest.py +0 -0
  105. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseset.py +0 -0
  106. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basesmb.py +0 -0
  107. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basestring.py +0 -0
  108. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basetime.py +0 -0
  109. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basetuple.py +0 -0
  110. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/baseurl.py +0 -0
  111. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/basezip.py +0 -0
  112. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/core/__init__.py +0 -0
  113. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/core/bottomutils.py +0 -0
  114. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/core/mdeprecated.py +0 -0
  115. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/core/mlamada.py +0 -0
  116. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/core/msginfo.py +0 -0
  117. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/core/requests_core.py +0 -0
  118. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/fateadm.py +0 -0
  119. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/importfun.py +0 -0
  120. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/mfaker.py +0 -0
  121. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/my_abc/__init__.py +0 -0
  122. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/my_abc/better_abc.py +0 -0
  123. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/mylogger.py +0 -0
  124. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/myredisclient.py +0 -0
  125. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/pipupgrade.py +0 -0
  126. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/ringlist.py +0 -0
  127. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/version_compare.py +0 -0
  128. {re_common-10.0.1 → re_common-10.0.2}/re_common/baselibrary/utils/ydmhttp.py +0 -0
  129. {re_common-10.0.1 → re_common-10.0.2}/re_common/facade/__init__.py +0 -0
  130. {re_common-10.0.1 → re_common-10.0.2}/re_common/facade/lazy_import.py +0 -0
  131. {re_common-10.0.1 → re_common-10.0.2}/re_common/facade/loggerfacade.py +0 -0
  132. {re_common-10.0.1 → re_common-10.0.2}/re_common/facade/mysqlfacade.py +0 -0
  133. {re_common-10.0.1 → re_common-10.0.2}/re_common/facade/now.py +0 -0
  134. {re_common-10.0.1 → re_common-10.0.2}/re_common/facade/sqlite3facade.py +0 -0
  135. {re_common-10.0.1 → re_common-10.0.2}/re_common/facade/use/__init__.py +0 -0
  136. {re_common-10.0.1 → re_common-10.0.2}/re_common/facade/use/mq_use_facade.py +0 -0
  137. {re_common-10.0.1 → re_common-10.0.2}/re_common/facade/use/proxy_use_facade.py +0 -0
  138. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/__init__.py +0 -0
  139. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/base_dict_test.py +0 -0
  140. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/baseavro_test.py +0 -0
  141. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/basefile_test.py +0 -0
  142. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/basemssql_test.py +0 -0
  143. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/baseodbc_test.py +0 -0
  144. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/basepandas_test.py +0 -0
  145. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/get_attr_test/__init__.py +0 -0
  146. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/get_attr_test/get_attr_test_settings.py +0 -0
  147. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/get_attr_test/settings.py +0 -0
  148. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/idencode_test.py +0 -0
  149. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/iniconfig_test.py +0 -0
  150. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/ip_test.py +0 -0
  151. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/merge_file_test.py +0 -0
  152. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/mfaker_test.py +0 -0
  153. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/mm3_test.py +0 -0
  154. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/mylogger_test.py +0 -0
  155. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/myparsel_test.py +0 -0
  156. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/mysql_test.py +0 -0
  157. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/pymongo_test.py +0 -0
  158. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/split_test.py +0 -0
  159. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/sqlite3_merge_test.py +0 -0
  160. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/sqlite3_test.py +0 -0
  161. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/tomlconfig_test.py +0 -0
  162. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/use_tools_test/__init__.py +0 -0
  163. {re_common-10.0.1 → re_common-10.0.2}/re_common/libtest/user/__init__.py +0 -0
  164. {re_common-10.0.1 → re_common-10.0.2}/re_common/studio/__init__.py +0 -0
  165. {re_common-10.0.1 → re_common-10.0.2}/re_common/studio/assignment_expressions.py +0 -0
  166. {re_common-10.0.1 → re_common-10.0.2}/re_common/studio/mydash/__init__.py +0 -0
  167. {re_common-10.0.1 → re_common-10.0.2}/re_common/studio/mydash/test1.py +0 -0
  168. {re_common-10.0.1 → re_common-10.0.2}/re_common/studio/pydashstudio/__init__.py +0 -0
  169. {re_common-10.0.1 → re_common-10.0.2}/re_common/studio/pydashstudio/first.py +0 -0
  170. {re_common-10.0.1 → re_common-10.0.2}/re_common/studio/streamlitstudio/__init__.py +0 -0
  171. {re_common-10.0.1 → re_common-10.0.2}/re_common/studio/streamlitstudio/first_app.py +0 -0
  172. {re_common-10.0.1 → re_common-10.0.2}/re_common/studio/streamlitstudio/uber_pickups.py +0 -0
  173. {re_common-10.0.1 → re_common-10.0.2}/re_common/studio/test.py +0 -0
  174. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/__init__.py +0 -0
  175. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/__init__.py +0 -0
  176. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/s3object/__init__.py +0 -0
  177. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/s3object/baseboto3.py +0 -0
  178. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/tools/__init__.py +0 -0
  179. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/tools/dict_tools.py +0 -0
  180. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/tools/list_tools.py +0 -0
  181. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/tools/search_hash_tools.py +0 -0
  182. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/tools/text_matcher.py +0 -0
  183. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/tools/unionfind_tools.py +0 -0
  184. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/utils/__init__.py +0 -0
  185. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/utils/basedict.py +0 -0
  186. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/utils/basehdfs.py +0 -0
  187. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/utils/json_cls.py +0 -0
  188. {re_common-10.0.1 → re_common-10.0.2}/re_common/v2/baselibrary/utils/stringutils.py +0 -0
  189. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/__init__.py +0 -0
  190. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/base_step_process.py +0 -0
  191. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/baseencodeid.py +0 -0
  192. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/changetaskname.py +0 -0
  193. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/core_var.py +0 -0
  194. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/mmh3Hash.py +0 -0
  195. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/proxy/__init__.py +0 -0
  196. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/proxy/allproxys.py +0 -0
  197. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/proxy/allproxys_thread.py +0 -0
  198. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/proxy/cnki_proxy.py +0 -0
  199. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/proxy/kuaidaili.py +0 -0
  200. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/proxy/proxy_all.py +0 -0
  201. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/proxy/update_kuaidaili_0.py +0 -0
  202. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/proxy/wanfang_proxy.py +0 -0
  203. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/proxy/wp_proxy_all.py +0 -0
  204. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/read_rawid_to_txt.py +0 -0
  205. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/title/__init__.py +0 -0
  206. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/title/transform/TransformBookTitleToZt.py +0 -0
  207. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/title/transform/TransformConferenceTitleToZt.py +0 -0
  208. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/title/transform/TransformCstadTitleToZt.py +0 -0
  209. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/title/transform/TransformJournalTitleToZt.py +0 -0
  210. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/title/transform/TransformPatentTitleToZt.py +0 -0
  211. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/title/transform/TransformRegulationTitleToZt.py +0 -0
  212. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/title/transform/TransformStandardTitleToZt.py +0 -0
  213. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/title/transform/TransformThesisTitleToZt.py +0 -0
  214. {re_common-10.0.1 → re_common-10.0.2}/re_common/vip/title/transform/__init__.py +0 -0
  215. {re_common-10.0.1 → re_common-10.0.2}/re_common.egg-info/SOURCES.txt +0 -0
  216. {re_common-10.0.1 → re_common-10.0.2}/re_common.egg-info/dependency_links.txt +0 -0
  217. {re_common-10.0.1 → re_common-10.0.2}/re_common.egg-info/top_level.txt +0 -0
  218. {re_common-10.0.1 → re_common-10.0.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: re_common
3
- Version: 10.0.1
3
+ Version: 10.0.2
4
4
  Summary: a library about all python projects
5
5
  Home-page: https://gitee.com/xujiangios/re-common
6
6
  Author: vic
@@ -1,4 +1,4 @@
1
- # 某些业务中的字符串处理 算是特定场景的工具
1
+ # 某些业务中的字符串处理 算是特定场景的工具 不算通用工具
2
2
  import re
3
3
 
4
4
 
@@ -56,7 +56,7 @@ def get_first_organ(organ):
56
56
  for organ_one in organ_list:
57
57
  # 清理邮政编码
58
58
  organ_one = clean_organ_postcode(organ_one)
59
- if organ_one:
59
+ if organ_one.strip():
60
60
  return organ_one
61
61
 
62
62
  return ""
@@ -69,6 +69,48 @@ def get_first_author(author: str) -> str:
69
69
  for au in au_list:
70
70
  au = re.sub("\\[.*?]", "", au)
71
71
  au = re.sub("\\(.*?\\)", "", au)
72
- if au:
72
+ if au.strip():
73
73
  return au
74
74
  return ""
75
+
76
+
77
+ def get_author_list(author: str):
78
+ lists = []
79
+ if not author:
80
+ return []
81
+ au_list = author.strip().split(";")
82
+ for au in au_list:
83
+ au = re.sub("\\[.*?]", "", au)
84
+ au = re.sub("\\(.*?\\)", "", au)
85
+ if au.strip():
86
+ lists.append(au.strip())
87
+ return lists
88
+
89
+
90
+ def get_scopus_author_abbr(author_row: str):
91
+ if not author_row:
92
+ return ""
93
+ author_list = author_row.split("&&")
94
+ if len(author_list) != 3:
95
+ raise Exception("错误的数据个数 可能来自其他数据源")
96
+
97
+ abbr_list = author_list[0].strip().split(";")
98
+ abbr_list = [author.strip() for author in abbr_list if
99
+ author.strip() and author.strip().lower() not in ("*", "and")]
100
+ return ";".join(abbr_list)
101
+
102
+
103
+ def get_wos_author_abbr(author_row: str):
104
+ if not author_row:
105
+ return ""
106
+ author_list = author_row.split("&&")
107
+ if len(author_list) != 4:
108
+ raise Exception("错误的数据个数 可能来自其他数据源")
109
+ abbr_list = []
110
+ abbr_list_au = author_list[0].strip().split(";")
111
+ abbr_list_ba = author_list[2].strip().split(";")
112
+ abbr_list.extend(abbr_list_au)
113
+ abbr_list.extend(abbr_list_ba)
114
+ abbr_list = [author.strip() for author in abbr_list if
115
+ author.strip() and author.strip().lower() not in ("*", "and")]
116
+ return ";".join(abbr_list)
@@ -127,11 +127,6 @@ def custom_rstrip(s):
127
127
  return s
128
128
 
129
129
 
130
- def deal_str_first(s1):
131
- # 先对数据处理一波
132
- s1 = s1.replace("’", "")
133
- return s1
134
-
135
130
 
136
131
  def AuthorRatio(
137
132
  s1,
@@ -147,7 +142,7 @@ def AuthorRatio(
147
142
  if is_none(s1) or is_none(s2):
148
143
  return 0
149
144
 
150
- # 处理字符串的程序
145
+ # 处理字符串的程序 外围传入方法
151
146
  if processor is not None:
152
147
  s1 = processor(s1)
153
148
  s2 = processor(s2)
@@ -155,12 +150,14 @@ def AuthorRatio(
155
150
  # 处理后是否为空字符串,如果有 返回0
156
151
  if not s1 or not s2:
157
152
  return 0
158
-
153
+ # 处理音标问题
159
154
  s1 = get_diacritic_variant(s1)
160
155
  s2 = get_diacritic_variant(s2)
161
156
  # 这里提出来是为了少计算 但后期需要平衡内存和算力
157
+ # 移除指定符号 这里做了小写化处理
162
158
  s1_punc = remove_punctuation(s1)
163
159
  s2_punc = remove_punctuation(s2)
160
+ # 分成列表
164
161
  s1_punc_split = s1_punc.split()
165
162
  s2_punc_split = s2_punc.split()
166
163
 
@@ -236,6 +233,11 @@ def AuthorRatio(
236
233
  # 如果循环结束都没有提前返回 False,则表示两个字符串完全匹配,返回 True
237
234
  return True
238
235
 
236
+ # 防止清理后 一方变为空字符串
237
+ if len(l1) == 0 or len(l2) == 0:
238
+ return 0
239
+
240
+ # 这里的逻辑是最后的位置全大写就将他拆分散 比如 joi CJ -> joi C J
239
241
  if len(l1[-1]) != 1 and l1[-1].isupper():
240
242
  t_str = l1[-1]
241
243
  l1 = l1[:-1]
@@ -0,0 +1,26 @@
1
+ import re
2
+
3
+
4
+ def is_all_english_chars(s):
5
+ return bool(re.match(r'^[A-Za-z]+$', s))
6
+
7
+
8
+ def contains_chinese_chars(s):
9
+ return bool(re.search(r'[\u3400-\u9fff]', s))
10
+
11
+
12
+ def is_empty(value):
13
+ # 如果是 None,直接返回 True
14
+ if value is None:
15
+ return True
16
+
17
+ # 如果是字符串,检查去除空白后是否为空
18
+ if isinstance(value, str):
19
+ return value.strip() == ""
20
+
21
+ # 可选:处理其他可迭代类型(如列表、字典等)
22
+ if hasattr(value, "__len__"):
23
+ return len(value) == 0
24
+
25
+ # 默认情况下,非 None、非空类型返回 False
26
+ return False
@@ -66,6 +66,11 @@ class StringClear(object):
66
66
  self.obj_str = re.sub("[_]", "", self.obj_str)
67
67
  return self
68
68
 
69
+ def replace_dash_with_space(self):
70
+ # 横线换成空格 比 去除符号有时更有用
71
+ self.obj_str = self.obj_str.replace("-", " ")
72
+ return self
73
+
69
74
  def remove_diacritics(self):
70
75
  # 去除音标 转换成字母
71
76
  self.obj_str = get_diacritic_variant(self.obj_str)
@@ -81,6 +86,26 @@ class StringClear(object):
81
86
  self.obj_str = re.sub("\\(.*?\\)", "", self.obj_str)
82
87
  return self
83
88
 
89
+ def remove_html_tag(self):
90
+ import html
91
+ from parsel import Selector
92
+
93
+ self.obj_str = html.unescape(self.obj_str)
94
+
95
+ def clean_html(html):
96
+ sel = Selector(text=html)
97
+ # 移除脚本和样式
98
+ sel.xpath('//script').remove()
99
+ sel.xpath('//style').remove()
100
+
101
+ # 提取文本
102
+ text_nodes = sel.xpath('//text()').getall()
103
+ return ''.join(t.strip() for t in text_nodes if t.strip())
104
+
105
+ self.obj_str = clean_html(self.obj_str)
106
+
107
+ return self
108
+
84
109
  def get_str(self):
85
110
  return self.obj_str
86
111
 
@@ -89,8 +114,10 @@ def rel_clear(str_obj):
89
114
  # 为融合数据定制的 清理规则
90
115
  return (StringClear(str_obj)
91
116
  .None_to_str() # 空对象转str 防止空对象
92
- .to_str() # 防止其他类型传入
117
+ .to_str() # 防止其他类型传入 比如 int double
93
118
  .qj_to_bj() # 全角转半角
119
+ .remove_html_tag() # html标签清理
120
+ .replace_dash_with_space() # 横线转空格 在 英文 title 中更有用
94
121
  .remove_special_chars() # 移除特殊字符,仅保留字母、数字、空格和汉字 \w 已经包括所有 Unicode 字母 下划线 _ 会被保留
95
122
  .collapse_spaces() # 移除多余空格,连续多个空格变一个
96
123
  .lower() # 小写
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: re_common
3
- Version: 10.0.1
3
+ Version: 10.0.2
4
4
  Summary: a library about all python projects
5
5
  Home-page: https://gitee.com/xujiangios/re-common
6
6
  Author: vic
@@ -24,7 +24,7 @@ re_common
24
24
  # new 20250224
25
25
  password_new = pypi-AgEIcHlwaS5vcmcCJDJkMzJhNWZkLTBkOTktNGE4Yi1iN2Q5LWU0ZjNjMGNiNzhjYwACEVsxLFsicmUtY29tbW9uIl1dAAIsWzIsWyIwYWIzYjIzMy0zZTlmLTQ1ZjAtYWQ5OC03NjJhNDM5NjNiZmUiXV0AAAYg0Pu6BqqupvhX7ad69d8e6XS8BmnLav6x6D9HJ-U3gko
26
26
 
27
- pypi-AgEIcHlwaS5vcmcCJGYwYzgxMDgzLTk4N2QtNDJhNC05M2M2LTg5M2U1OTZiMGJiOQACEVsxLFsicmUtY29tbW9uIl1dAAIsWzIsWyIwYWIzYjIzMy0zZTlmLTQ1ZjAtYWQ5OC03NjJhNDM5NjNiZmUiXV0AAAYg1LW213YQeFnEJKMyTxEzfLNp2dQbB9UJ_2gjZp6eJrU
27
+ pypi-AgEIcHlwaS5vcmcCJDUzNWEzYmFkLTcyMTUtNDE5OS05MGY4LWZlNTZkMDMzM2U2MQACKlszLCJhMjk4YTg3ZS02YjU2LTQzOTMtYjA5YS1kMzEzMzhjZmNiMDYiXQAABiD00KOVAf9T8AyK7F9K1G9LECXl0MdYa3yyODA7ox5qDg
28
28
 
29
29
  python setup.py sdist bdist_wheel
30
30
  python -m twine upload dist/*
@@ -35,7 +35,7 @@ long_description = """
35
35
  """
36
36
  setuptools.setup(
37
37
  name="re_common",
38
- version="10.0.1",
38
+ version="10.0.2",
39
39
  author="vic",
40
40
  author_email="xujiang5@163.com",
41
41
  description="a library about all python projects",
@@ -1,9 +0,0 @@
1
- import re
2
-
3
-
4
- def is_all_english_chars(s):
5
- return bool(re.match(r'^[A-Za-z]+$', s))
6
-
7
-
8
- def contains_chinese_chars(s):
9
- return bool(re.search(r'[\u3400-\u9fff]', s))
File without changes
File without changes
File without changes