re-common 10.0.1__tar.gz → 10.0.3__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.1 → re_common-10.0.3}/PKG-INFO +1 -1
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/utils/BusinessStringUtil.py +45 -3
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/utils/author_smi.py +9 -7
- re_common-10.0.3/re_common/v2/baselibrary/utils/string_bool.py +26 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/utils/string_clear.py +28 -1
- {re_common-10.0.1 → re_common-10.0.3}/re_common.egg-info/PKG-INFO +1 -1
- {re_common-10.0.1 → re_common-10.0.3}/setup.py +2 -2
- re_common-10.0.1/re_common/v2/baselibrary/utils/string_bool.py +0 -9
- {re_common-10.0.1 → re_common-10.0.3}/LICENSE +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/README.md +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/baseabs/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/baseabs/baseabs.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/database/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/database/mbuilder.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/database/moudle.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/database/msqlite3.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/database/mysql.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/database/sql_factory.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/mthread/MThreadingRun.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/mthread/MThreadingRunEvent.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/mthread/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/mthread/mythreading.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/pakge_other/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/pakge_other/socks.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/readconfig/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/readconfig/config_factory.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/readconfig/ini_config.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/readconfig/toml_config.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/temporary/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/temporary/envdata.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/all_requests/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/all_requests/aiohttp_request.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/all_requests/httpx_requet.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/all_requests/mrequest.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/all_requests/requests_request.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/batch_compre/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/batch_compre/bijiao_batch.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/contrast_db3.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/copy_file.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/db3_2_sizedb3.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/foreachgz.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/get_attr.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/image_to_pdf.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/java_code_deal.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/javacode.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/mdb_db3.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/merge_file.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/merge_gz_file.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/mhdfstools/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/mhdfstools/hdfst.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/mhdfstools/up_hdfs_files.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/mongo_tools.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/move_file.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/move_mongo/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/move_mongo/move_mongo_table.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/move_mongo/use_mttf.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/move_mongo/use_mv.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/mpandas/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/mpandas/mpandasreadexcel.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/mpandas/pandas_visualization.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/myparsel.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/rename_dir_file.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/sequoiadb_utils.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/split_line_to_many.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/stringtodicts.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/workwechant_bot.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseaiohttp.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseaiomysql.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseallstep.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseavro.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseboto3.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basecsv.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basedict.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basedir.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseencode.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseencoding.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseesdsl.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseexcel.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseexcept.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basefile.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseftp.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basegzip.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basehdfs.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basehttpx.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseip.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basejson.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baselist.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basemotor.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basemssql.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseodbc.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basepandas.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basepeewee.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basepika.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basepydash.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basepymongo.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basequeue.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baserar.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baserequest.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseset.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basesmb.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basestring.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basetime.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basetuple.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/baseurl.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/basezip.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/core/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/core/bottomutils.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/core/mdeprecated.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/core/mlamada.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/core/msginfo.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/core/requests_core.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/fateadm.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/importfun.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/mfaker.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/my_abc/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/my_abc/better_abc.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/mylogger.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/myredisclient.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/pipupgrade.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/ringlist.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/version_compare.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/utils/ydmhttp.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/facade/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/facade/lazy_import.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/facade/loggerfacade.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/facade/mysqlfacade.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/facade/now.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/facade/sqlite3facade.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/facade/use/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/facade/use/mq_use_facade.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/facade/use/proxy_use_facade.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/base_dict_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/baseavro_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/basefile_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/basemssql_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/baseodbc_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/basepandas_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/get_attr_test/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/get_attr_test/get_attr_test_settings.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/get_attr_test/settings.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/idencode_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/iniconfig_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/ip_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/merge_file_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/mfaker_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/mm3_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/mylogger_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/myparsel_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/mysql_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/pymongo_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/split_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/sqlite3_merge_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/sqlite3_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/tomlconfig_test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/use_tools_test/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/libtest/user/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/studio/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/studio/assignment_expressions.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/studio/mydash/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/studio/mydash/test1.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/studio/pydashstudio/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/studio/pydashstudio/first.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/studio/streamlitstudio/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/studio/streamlitstudio/first_app.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/studio/streamlitstudio/uber_pickups.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/studio/test.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/s3object/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/s3object/baseboto3.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/tools/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/tools/dict_tools.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/tools/list_tools.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/tools/search_hash_tools.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/tools/text_matcher.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/tools/unionfind_tools.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/utils/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/utils/basedict.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/utils/basehdfs.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/utils/json_cls.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/v2/baselibrary/utils/stringutils.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/base_step_process.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/baseencodeid.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/changetaskname.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/core_var.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/mmh3Hash.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/proxy/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/proxy/allproxys.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/proxy/allproxys_thread.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/proxy/cnki_proxy.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/proxy/kuaidaili.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/proxy/proxy_all.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/proxy/update_kuaidaili_0.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/proxy/wanfang_proxy.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/proxy/wp_proxy_all.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/read_rawid_to_txt.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformBookTitleToZt.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformConferenceTitleToZt.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformCstadTitleToZt.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformJournalTitleToZt.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformPatentTitleToZt.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformRegulationTitleToZt.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformStandardTitleToZt.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformThesisTitleToZt.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/__init__.py +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common.egg-info/SOURCES.txt +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common.egg-info/dependency_links.txt +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/re_common.egg-info/top_level.txt +0 -0
- {re_common-10.0.1 → re_common-10.0.3}/setup.cfg +0 -0
|
@@ -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, type='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() # 小写
|
|
@@ -24,7 +24,7 @@ re_common
|
|
|
24
24
|
# new 20250224
|
|
25
25
|
password_new = pypi-AgEIcHlwaS5vcmcCJDJkMzJhNWZkLTBkOTktNGE4Yi1iN2Q5LWU0ZjNjMGNiNzhjYwACEVsxLFsicmUtY29tbW9uIl1dAAIsWzIsWyIwYWIzYjIzMy0zZTlmLTQ1ZjAtYWQ5OC03NjJhNDM5NjNiZmUiXV0AAAYg0Pu6BqqupvhX7ad69d8e6XS8BmnLav6x6D9HJ-U3gko
|
|
26
26
|
|
|
27
|
-
pypi-
|
|
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.
|
|
38
|
+
version="10.0.3",
|
|
39
39
|
author="vic",
|
|
40
40
|
author_email="xujiang5@163.com",
|
|
41
41
|
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.1 → re_common-10.0.3}/re_common/baselibrary/tools/all_requests/aiohttp_request.py
RENAMED
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/all_requests/httpx_requet.py
RENAMED
|
File without changes
|
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/re_common/baselibrary/tools/all_requests/requests_request.py
RENAMED
|
File without changes
|
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/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.1 → re_common-10.0.3}/re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py
RENAMED
|
File without changes
|
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/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.1 → re_common-10.0.3}/re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py
RENAMED
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/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.1 → re_common-10.0.3}/re_common/baselibrary/tools/mpandas/mpandasreadexcel.py
RENAMED
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/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.1 → re_common-10.0.3}/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
|
{re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformBookTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformConferenceTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformCstadTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformJournalTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformPatentTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformRegulationTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/re_common/vip/title/transform/TransformStandardTitleToZt.py
RENAMED
|
File without changes
|
{re_common-10.0.1 → re_common-10.0.3}/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
|