re-common 10.0.2__tar.gz → 10.0.4__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.
- {re_common-10.0.2 → re_common-10.0.4}/PKG-INFO +1 -1
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/utils/string_clear.py +2 -13
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/utils/stringutils.py +51 -1
- {re_common-10.0.2 → re_common-10.0.4}/re_common.egg-info/PKG-INFO +1 -1
- {re_common-10.0.2 → re_common-10.0.4}/setup.py +2 -3
- {re_common-10.0.2 → re_common-10.0.4}/LICENSE +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/README.md +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/baseabs/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/baseabs/baseabs.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/database/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/database/mbuilder.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/database/moudle.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/database/msqlite3.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/database/mysql.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/database/sql_factory.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/mthread/MThreadingRun.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/mthread/MThreadingRunEvent.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/mthread/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/mthread/mythreading.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/pakge_other/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/pakge_other/socks.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/readconfig/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/readconfig/config_factory.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/readconfig/ini_config.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/readconfig/toml_config.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/temporary/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/temporary/envdata.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/all_requests/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/all_requests/aiohttp_request.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/all_requests/httpx_requet.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/all_requests/mrequest.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/all_requests/requests_request.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/batch_compre/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/batch_compre/bijiao_batch.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/contrast_db3.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/copy_file.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/db3_2_sizedb3.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/foreachgz.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/get_attr.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/image_to_pdf.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/java_code_deal.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/javacode.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mdb_db3.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/merge_file.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/merge_gz_file.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mhdfstools/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mhdfstools/hdfst.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mhdfstools/up_hdfs_files.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mongo_tools.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/move_file.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/move_mongo/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/move_mongo/move_mongo_table.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/move_mongo/use_mttf.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/move_mongo/use_mv.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mpandas/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mpandas/mpandasreadexcel.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mpandas/pandas_visualization.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/myparsel.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/rename_dir_file.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/sequoiadb_utils.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/split_line_to_many.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/stringtodicts.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/workwechant_bot.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseaiohttp.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseaiomysql.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseallstep.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseavro.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseboto3.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basecsv.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basedict.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basedir.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseencode.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseencoding.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseesdsl.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseexcel.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseexcept.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basefile.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseftp.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basegzip.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basehdfs.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basehttpx.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseip.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basejson.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baselist.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basemotor.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basemssql.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseodbc.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basepandas.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basepeewee.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basepika.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basepydash.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basepymongo.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basequeue.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baserar.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baserequest.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseset.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basesmb.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basestring.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basetime.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basetuple.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/baseurl.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/basezip.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/core/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/core/bottomutils.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/core/mdeprecated.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/core/mlamada.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/core/msginfo.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/core/requests_core.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/fateadm.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/importfun.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/mfaker.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/my_abc/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/my_abc/better_abc.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/mylogger.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/myredisclient.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/pipupgrade.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/ringlist.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/version_compare.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/utils/ydmhttp.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/facade/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/facade/lazy_import.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/facade/loggerfacade.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/facade/mysqlfacade.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/facade/now.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/facade/sqlite3facade.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/facade/use/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/facade/use/mq_use_facade.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/facade/use/proxy_use_facade.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/base_dict_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/baseavro_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/basefile_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/basemssql_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/baseodbc_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/basepandas_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/get_attr_test/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/get_attr_test/get_attr_test_settings.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/get_attr_test/settings.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/idencode_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/iniconfig_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/ip_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/merge_file_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/mfaker_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/mm3_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/mylogger_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/myparsel_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/mysql_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/pymongo_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/split_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/sqlite3_merge_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/sqlite3_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/tomlconfig_test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/use_tools_test/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/user/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/studio/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/studio/assignment_expressions.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/studio/mydash/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/studio/mydash/test1.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/studio/pydashstudio/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/studio/pydashstudio/first.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/studio/streamlitstudio/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/studio/streamlitstudio/first_app.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/studio/streamlitstudio/uber_pickups.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/studio/test.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/s3object/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/s3object/baseboto3.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/tools/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/tools/dict_tools.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/tools/list_tools.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/tools/search_hash_tools.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/tools/text_matcher.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/tools/unionfind_tools.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/utils/BusinessStringUtil.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/utils/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/utils/author_smi.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/utils/basedict.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/utils/basehdfs.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/utils/json_cls.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/v2/baselibrary/utils/string_bool.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/base_step_process.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/baseencodeid.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/changetaskname.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/core_var.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/mmh3Hash.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/proxy/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/proxy/allproxys.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/proxy/allproxys_thread.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/proxy/cnki_proxy.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/proxy/kuaidaili.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/proxy/proxy_all.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/proxy/update_kuaidaili_0.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/proxy/wanfang_proxy.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/proxy/wp_proxy_all.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/read_rawid_to_txt.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformBookTitleToZt.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformConferenceTitleToZt.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformCstadTitleToZt.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformJournalTitleToZt.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformPatentTitleToZt.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformRegulationTitleToZt.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformStandardTitleToZt.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformThesisTitleToZt.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/__init__.py +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common.egg-info/SOURCES.txt +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common.egg-info/dependency_links.txt +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/re_common.egg-info/top_level.txt +0 -0
- {re_common-10.0.2 → re_common-10.0.4}/setup.cfg +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import re
|
|
2
2
|
import regex
|
|
3
3
|
|
|
4
|
-
from re_common.v2.baselibrary.utils.stringutils import qj2bj, bj2qj, get_diacritic_variant
|
|
4
|
+
from re_common.v2.baselibrary.utils.stringutils import qj2bj, bj2qj, get_diacritic_variant, clean_html
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
class StringClear(object):
|
|
@@ -88,20 +88,9 @@ class StringClear(object):
|
|
|
88
88
|
|
|
89
89
|
def remove_html_tag(self):
|
|
90
90
|
import html
|
|
91
|
-
from parsel import Selector
|
|
92
91
|
|
|
93
92
|
self.obj_str = html.unescape(self.obj_str)
|
|
94
93
|
|
|
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
94
|
self.obj_str = clean_html(self.obj_str)
|
|
106
95
|
|
|
107
96
|
return self
|
|
@@ -116,7 +105,7 @@ def rel_clear(str_obj):
|
|
|
116
105
|
.None_to_str() # 空对象转str 防止空对象
|
|
117
106
|
.to_str() # 防止其他类型传入 比如 int double
|
|
118
107
|
.qj_to_bj() # 全角转半角
|
|
119
|
-
.remove_html_tag()
|
|
108
|
+
.remove_html_tag() # html标签清理
|
|
120
109
|
.replace_dash_with_space() # 横线转空格 在 英文 title 中更有用
|
|
121
110
|
.remove_special_chars() # 移除特殊字符,仅保留字母、数字、空格和汉字 \w 已经包括所有 Unicode 字母 下划线 _ 会被保留
|
|
122
111
|
.collapse_spaces() # 移除多余空格,连续多个空格变一个
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import re
|
|
2
|
+
import threading
|
|
2
3
|
|
|
3
4
|
import regex
|
|
4
5
|
import unicodedata
|
|
6
|
+
from html.parser import HTMLParser
|
|
5
7
|
|
|
6
8
|
|
|
7
9
|
def bj2qj(src):
|
|
@@ -25,6 +27,7 @@ def bj2qj(src):
|
|
|
25
27
|
|
|
26
28
|
return ''.join(buf)
|
|
27
29
|
|
|
30
|
+
|
|
28
31
|
def qj2bj(src):
|
|
29
32
|
"""
|
|
30
33
|
全角转半角
|
|
@@ -62,6 +65,7 @@ def get_diacritic_variant(char1):
|
|
|
62
65
|
# 判断基本字符是否相同
|
|
63
66
|
return base_char1
|
|
64
67
|
|
|
68
|
+
|
|
65
69
|
def get_alphabetic_ratio(text: str) -> float:
|
|
66
70
|
# 返回字母型字符所占比例
|
|
67
71
|
if not text:
|
|
@@ -93,4 +97,50 @@ def get_alphabetic_ratio(text: str) -> float:
|
|
|
93
97
|
alphabetic_chars = re.findall(alphabetic_pattern, clean_text)
|
|
94
98
|
|
|
95
99
|
# 返回字母型字符所占比例
|
|
96
|
-
return len(alphabetic_chars) / len(clean_text)
|
|
100
|
+
return len(alphabetic_chars) / len(clean_text)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class HTMLTextExtractor(HTMLParser):
|
|
104
|
+
_thread_local = threading.local() # 线程局部存储
|
|
105
|
+
|
|
106
|
+
def __init__(self):
|
|
107
|
+
super().__init__()
|
|
108
|
+
self.reset_state()
|
|
109
|
+
|
|
110
|
+
def handle_starttag(self, tag, attrs):
|
|
111
|
+
if tag in ('script', 'style'):
|
|
112
|
+
self.skip = True
|
|
113
|
+
|
|
114
|
+
def handle_endtag(self, tag):
|
|
115
|
+
if tag in ('script', 'style'):
|
|
116
|
+
self.skip = False
|
|
117
|
+
|
|
118
|
+
def handle_data(self, data):
|
|
119
|
+
if not self.skip and data.strip():
|
|
120
|
+
self.text.append(data)
|
|
121
|
+
|
|
122
|
+
def reset_state(self):
|
|
123
|
+
self.reset()
|
|
124
|
+
self.text = []
|
|
125
|
+
self.skip = False
|
|
126
|
+
|
|
127
|
+
def get_text(self):
|
|
128
|
+
return ''.join(self.text).strip()
|
|
129
|
+
|
|
130
|
+
@classmethod
|
|
131
|
+
def get_parser(cls):
|
|
132
|
+
# 每个线程获取独立实例
|
|
133
|
+
if not hasattr(cls._thread_local, 'parser'):
|
|
134
|
+
cls._thread_local.parser = cls()
|
|
135
|
+
return cls._thread_local.parser
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
def clean_html(html):
|
|
139
|
+
parser = HTMLTextExtractor.get_parser()
|
|
140
|
+
parser.reset_state()
|
|
141
|
+
parser.feed(html)
|
|
142
|
+
parser.close()
|
|
143
|
+
return parser.get_text()
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
@@ -24,8 +24,7 @@ re_common
|
|
|
24
24
|
# new 20250224
|
|
25
25
|
password_new = pypi-AgEIcHlwaS5vcmcCJDJkMzJhNWZkLTBkOTktNGE4Yi1iN2Q5LWU0ZjNjMGNiNzhjYwACEVsxLFsicmUtY29tbW9uIl1dAAIsWzIsWyIwYWIzYjIzMy0zZTlmLTQ1ZjAtYWQ5OC03NjJhNDM5NjNiZmUiXV0AAAYg0Pu6BqqupvhX7ad69d8e6XS8BmnLav6x6D9HJ-U3gko
|
|
26
26
|
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
pypi-AgEIcHlwaS5vcmcCJDBlMzc1OTU1LWVkOGItNDVjZS1iMGNhLTQwYmNmYmU3NmViMwACEVsxLFsicmUtY29tbW9uIl1dAAIsWzIsWyIwYWIzYjIzMy0zZTlmLTQ1ZjAtYWQ5OC03NjJhNDM5NjNiZmUiXV0AAAYgisva56cDT5J3a9EBb3paplusibupSRSfoZc_L8PUGDY
|
|
29
28
|
python setup.py sdist bdist_wheel
|
|
30
29
|
python -m twine upload dist/*
|
|
31
30
|
|
|
@@ -35,7 +34,7 @@ long_description = """
|
|
|
35
34
|
"""
|
|
36
35
|
setuptools.setup(
|
|
37
36
|
name="re_common",
|
|
38
|
-
version="10.0.
|
|
37
|
+
version="10.0.4",
|
|
39
38
|
author="vic",
|
|
40
39
|
author_email="xujiang5@163.com",
|
|
41
40
|
description="a library about all python projects",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/all_requests/aiohttp_request.py
RENAMED
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/all_requests/httpx_requet.py
RENAMED
|
File without changes
|
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/all_requests/requests_request.py
RENAMED
|
File without changes
|
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/batch_compre/bijiao_batch.py
RENAMED
|
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
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py
RENAMED
|
File without changes
|
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mhdfstools/up_hdfs_files.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py
RENAMED
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/move_mongo/move_mongo_table.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mpandas/mpandasreadexcel.py
RENAMED
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/baselibrary/tools/mpandas/pandas_visualization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/libtest/get_attr_test/get_attr_test_settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformBookTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformConferenceTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformCstadTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformJournalTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformPatentTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformRegulationTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformStandardTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.2 → re_common-10.0.4}/re_common/vip/title/transform/TransformThesisTitleToZt.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|