re-common 10.0.19__py3-none-any.whl → 10.0.22__py3-none-any.whl

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 (199) hide show
  1. re_common/baselibrary/__init__.py +4 -4
  2. re_common/baselibrary/baseabs/__init__.py +6 -6
  3. re_common/baselibrary/baseabs/baseabs.py +26 -26
  4. re_common/baselibrary/database/mbuilder.py +132 -132
  5. re_common/baselibrary/database/moudle.py +93 -93
  6. re_common/baselibrary/database/msqlite3.py +194 -194
  7. re_common/baselibrary/database/mysql.py +169 -169
  8. re_common/baselibrary/database/sql_factory.py +26 -26
  9. re_common/baselibrary/mthread/MThreadingRun.py +486 -486
  10. re_common/baselibrary/mthread/MThreadingRunEvent.py +349 -349
  11. re_common/baselibrary/mthread/__init__.py +2 -2
  12. re_common/baselibrary/mthread/mythreading.py +695 -695
  13. re_common/baselibrary/pakge_other/socks.py +404 -404
  14. re_common/baselibrary/readconfig/config_factory.py +18 -18
  15. re_common/baselibrary/readconfig/ini_config.py +317 -317
  16. re_common/baselibrary/readconfig/toml_config.py +49 -49
  17. re_common/baselibrary/temporary/envdata.py +36 -36
  18. re_common/baselibrary/tools/all_requests/aiohttp_request.py +118 -118
  19. re_common/baselibrary/tools/all_requests/httpx_requet.py +102 -102
  20. re_common/baselibrary/tools/all_requests/mrequest.py +412 -412
  21. re_common/baselibrary/tools/all_requests/requests_request.py +81 -81
  22. re_common/baselibrary/tools/batch_compre/bijiao_batch.py +31 -31
  23. re_common/baselibrary/tools/contrast_db3.py +123 -123
  24. re_common/baselibrary/tools/copy_file.py +39 -39
  25. re_common/baselibrary/tools/db3_2_sizedb3.py +102 -102
  26. re_common/baselibrary/tools/foreachgz.py +39 -39
  27. re_common/baselibrary/tools/get_attr.py +10 -10
  28. re_common/baselibrary/tools/image_to_pdf.py +61 -61
  29. re_common/baselibrary/tools/java_code_deal.py +139 -139
  30. re_common/baselibrary/tools/javacode.py +79 -79
  31. re_common/baselibrary/tools/mdb_db3.py +48 -48
  32. re_common/baselibrary/tools/merge_file.py +171 -171
  33. re_common/baselibrary/tools/merge_gz_file.py +165 -165
  34. re_common/baselibrary/tools/mhdfstools/down_hdfs_files.py +42 -42
  35. re_common/baselibrary/tools/mhdfstools/hdfst.py +42 -42
  36. re_common/baselibrary/tools/mhdfstools/up_hdfs_files.py +38 -38
  37. re_common/baselibrary/tools/mongo_tools.py +50 -50
  38. re_common/baselibrary/tools/move_file.py +170 -170
  39. re_common/baselibrary/tools/move_mongo/mongo_table_to_file.py +63 -63
  40. re_common/baselibrary/tools/move_mongo/move_mongo_table.py +354 -354
  41. re_common/baselibrary/tools/move_mongo/use_mttf.py +18 -18
  42. re_common/baselibrary/tools/move_mongo/use_mv.py +93 -93
  43. re_common/baselibrary/tools/mpandas/mpandasreadexcel.py +125 -125
  44. re_common/baselibrary/tools/mpandas/pandas_visualization.py +7 -7
  45. re_common/baselibrary/tools/myparsel.py +104 -104
  46. re_common/baselibrary/tools/rename_dir_file.py +37 -37
  47. re_common/baselibrary/tools/sequoiadb_utils.py +398 -398
  48. re_common/baselibrary/tools/split_line_to_many.py +25 -25
  49. re_common/baselibrary/tools/stringtodicts.py +33 -33
  50. re_common/baselibrary/tools/workwechant_bot.py +84 -84
  51. re_common/baselibrary/utils/baseaiohttp.py +296 -296
  52. re_common/baselibrary/utils/baseaiomysql.py +87 -87
  53. re_common/baselibrary/utils/baseallstep.py +191 -191
  54. re_common/baselibrary/utils/baseavro.py +19 -19
  55. re_common/baselibrary/utils/baseboto3.py +291 -291
  56. re_common/baselibrary/utils/basecsv.py +32 -32
  57. re_common/baselibrary/utils/basedict.py +133 -133
  58. re_common/baselibrary/utils/basedir.py +241 -241
  59. re_common/baselibrary/utils/baseencode.py +351 -351
  60. re_common/baselibrary/utils/baseencoding.py +28 -28
  61. re_common/baselibrary/utils/baseesdsl.py +86 -86
  62. re_common/baselibrary/utils/baseexcel.py +264 -264
  63. re_common/baselibrary/utils/baseexcept.py +109 -109
  64. re_common/baselibrary/utils/basefile.py +654 -654
  65. re_common/baselibrary/utils/baseftp.py +214 -214
  66. re_common/baselibrary/utils/basegzip.py +60 -60
  67. re_common/baselibrary/utils/basehdfs.py +135 -135
  68. re_common/baselibrary/utils/basehttpx.py +268 -268
  69. re_common/baselibrary/utils/baseip.py +87 -87
  70. re_common/baselibrary/utils/basejson.py +2 -2
  71. re_common/baselibrary/utils/baselist.py +32 -32
  72. re_common/baselibrary/utils/basemotor.py +190 -190
  73. re_common/baselibrary/utils/basemssql.py +98 -98
  74. re_common/baselibrary/utils/baseodbc.py +113 -113
  75. re_common/baselibrary/utils/basepandas.py +302 -302
  76. re_common/baselibrary/utils/basepeewee.py +11 -11
  77. re_common/baselibrary/utils/basepika.py +180 -180
  78. re_common/baselibrary/utils/basepydash.py +143 -143
  79. re_common/baselibrary/utils/basepymongo.py +230 -230
  80. re_common/baselibrary/utils/basequeue.py +22 -22
  81. re_common/baselibrary/utils/baserar.py +57 -57
  82. re_common/baselibrary/utils/baserequest.py +279 -279
  83. re_common/baselibrary/utils/baseset.py +8 -8
  84. re_common/baselibrary/utils/basesmb.py +403 -403
  85. re_common/baselibrary/utils/basestring.py +382 -382
  86. re_common/baselibrary/utils/basetime.py +320 -320
  87. re_common/baselibrary/utils/baseurl.py +121 -121
  88. re_common/baselibrary/utils/basezip.py +57 -57
  89. re_common/baselibrary/utils/core/__init__.py +7 -7
  90. re_common/baselibrary/utils/core/bottomutils.py +18 -18
  91. re_common/baselibrary/utils/core/mdeprecated.py +327 -327
  92. re_common/baselibrary/utils/core/mlamada.py +16 -16
  93. re_common/baselibrary/utils/core/msginfo.py +25 -25
  94. re_common/baselibrary/utils/core/requests_core.py +103 -103
  95. re_common/baselibrary/utils/fateadm.py +429 -429
  96. re_common/baselibrary/utils/importfun.py +123 -123
  97. re_common/baselibrary/utils/mfaker.py +57 -57
  98. re_common/baselibrary/utils/my_abc/__init__.py +3 -3
  99. re_common/baselibrary/utils/my_abc/better_abc.py +32 -32
  100. re_common/baselibrary/utils/mylogger.py +414 -414
  101. re_common/baselibrary/utils/myredisclient.py +861 -861
  102. re_common/baselibrary/utils/pipupgrade.py +21 -21
  103. re_common/baselibrary/utils/ringlist.py +85 -85
  104. re_common/baselibrary/utils/version_compare.py +36 -36
  105. re_common/baselibrary/utils/ydmhttp.py +126 -126
  106. re_common/facade/lazy_import.py +11 -11
  107. re_common/facade/loggerfacade.py +25 -25
  108. re_common/facade/mysqlfacade.py +467 -467
  109. re_common/facade/now.py +31 -31
  110. re_common/facade/sqlite3facade.py +257 -257
  111. re_common/facade/use/mq_use_facade.py +83 -83
  112. re_common/facade/use/proxy_use_facade.py +19 -19
  113. re_common/libtest/base_dict_test.py +19 -19
  114. re_common/libtest/baseavro_test.py +13 -13
  115. re_common/libtest/basefile_test.py +14 -14
  116. re_common/libtest/basemssql_test.py +77 -77
  117. re_common/libtest/baseodbc_test.py +7 -7
  118. re_common/libtest/basepandas_test.py +38 -38
  119. re_common/libtest/get_attr_test/get_attr_test_settings.py +14 -14
  120. re_common/libtest/get_attr_test/settings.py +54 -54
  121. re_common/libtest/idencode_test.py +53 -53
  122. re_common/libtest/iniconfig_test.py +35 -35
  123. re_common/libtest/ip_test.py +34 -34
  124. re_common/libtest/merge_file_test.py +20 -20
  125. re_common/libtest/mfaker_test.py +8 -8
  126. re_common/libtest/mm3_test.py +31 -31
  127. re_common/libtest/mylogger_test.py +88 -88
  128. re_common/libtest/myparsel_test.py +27 -27
  129. re_common/libtest/mysql_test.py +151 -151
  130. re_common/libtest/pymongo_test.py +21 -21
  131. re_common/libtest/split_test.py +11 -11
  132. re_common/libtest/sqlite3_merge_test.py +5 -5
  133. re_common/libtest/sqlite3_test.py +34 -34
  134. re_common/libtest/tomlconfig_test.py +30 -30
  135. re_common/libtest/use_tools_test/__init__.py +2 -2
  136. re_common/libtest/user/__init__.py +4 -4
  137. re_common/studio/__init__.py +4 -4
  138. re_common/studio/assignment_expressions.py +36 -36
  139. re_common/studio/mydash/test1.py +18 -18
  140. re_common/studio/pydashstudio/first.py +9 -9
  141. re_common/studio/streamlitstudio/first_app.py +65 -65
  142. re_common/studio/streamlitstudio/uber_pickups.py +23 -23
  143. re_common/studio/test.py +18 -18
  144. re_common/v2/baselibrary/decorators/utils.py +59 -59
  145. re_common/v2/baselibrary/s3object/baseboto3.py +230 -230
  146. re_common/v2/baselibrary/tools/WeChatRobot.py +79 -79
  147. re_common/v2/baselibrary/tools/ac_ahocorasick.py +75 -75
  148. re_common/v2/baselibrary/tools/dict_tools.py +37 -37
  149. re_common/v2/baselibrary/tools/dolphinscheduler.py +187 -187
  150. re_common/v2/baselibrary/tools/hdfs_data_processer.py +338 -338
  151. re_common/v2/baselibrary/tools/list_tools.py +65 -65
  152. re_common/v2/baselibrary/tools/search_hash_tools.py +54 -54
  153. re_common/v2/baselibrary/tools/text_matcher.py +326 -326
  154. re_common/v2/baselibrary/tools/unionfind_tools.py +60 -60
  155. re_common/v2/baselibrary/utils/BusinessStringUtil.py +196 -196
  156. re_common/v2/baselibrary/utils/author_smi.py +360 -360
  157. re_common/v2/baselibrary/utils/base_string_similarity.py +158 -158
  158. re_common/v2/baselibrary/utils/basedict.py +37 -37
  159. re_common/v2/baselibrary/utils/basehdfs.py +161 -127
  160. re_common/v2/baselibrary/utils/basepika.py +180 -180
  161. re_common/v2/baselibrary/utils/basetime.py +77 -0
  162. re_common/v2/baselibrary/utils/db.py +38 -38
  163. re_common/v2/baselibrary/utils/json_cls.py +16 -11
  164. re_common/v2/baselibrary/utils/mq.py +83 -83
  165. re_common/v2/baselibrary/utils/n_ary_expression_tree.py +243 -243
  166. re_common/v2/baselibrary/utils/string_bool.py +149 -149
  167. re_common/v2/baselibrary/utils/string_clear.py +204 -202
  168. re_common/v2/baselibrary/utils/string_smi.py +18 -18
  169. re_common/v2/baselibrary/utils/stringutils.py +213 -213
  170. re_common/vip/base_step_process.py +11 -11
  171. re_common/vip/baseencodeid.py +90 -90
  172. re_common/vip/changetaskname.py +28 -28
  173. re_common/vip/core_var.py +24 -24
  174. re_common/vip/mmh3Hash.py +89 -89
  175. re_common/vip/proxy/allproxys.py +127 -127
  176. re_common/vip/proxy/allproxys_thread.py +159 -159
  177. re_common/vip/proxy/cnki_proxy.py +153 -153
  178. re_common/vip/proxy/kuaidaili.py +87 -87
  179. re_common/vip/proxy/proxy_all.py +113 -113
  180. re_common/vip/proxy/update_kuaidaili_0.py +42 -42
  181. re_common/vip/proxy/wanfang_proxy.py +152 -152
  182. re_common/vip/proxy/wp_proxy_all.py +181 -181
  183. re_common/vip/read_rawid_to_txt.py +91 -91
  184. re_common/vip/title/__init__.py +5 -5
  185. re_common/vip/title/transform/TransformBookTitleToZt.py +125 -125
  186. re_common/vip/title/transform/TransformConferenceTitleToZt.py +139 -139
  187. re_common/vip/title/transform/TransformCstadTitleToZt.py +195 -195
  188. re_common/vip/title/transform/TransformJournalTitleToZt.py +203 -203
  189. re_common/vip/title/transform/TransformPatentTitleToZt.py +132 -132
  190. re_common/vip/title/transform/TransformRegulationTitleToZt.py +114 -114
  191. re_common/vip/title/transform/TransformStandardTitleToZt.py +135 -135
  192. re_common/vip/title/transform/TransformThesisTitleToZt.py +135 -135
  193. re_common/vip/title/transform/__init__.py +10 -10
  194. {re_common-10.0.19.dist-info → re_common-10.0.22.dist-info}/LICENSE +201 -201
  195. {re_common-10.0.19.dist-info → re_common-10.0.22.dist-info}/METADATA +16 -24
  196. re_common-10.0.22.dist-info/RECORD +227 -0
  197. {re_common-10.0.19.dist-info → re_common-10.0.22.dist-info}/WHEEL +1 -1
  198. re_common-10.0.19.dist-info/RECORD +0 -226
  199. {re_common-10.0.19.dist-info → re_common-10.0.22.dist-info}/top_level.txt +0 -0
@@ -1,37 +1,37 @@
1
- """
2
- 来自于 PEP572
3
-
4
- 在 python 3.8 中获取正式支持
5
-
6
- https://docs.python.org/3/whatsnew/3.8.html
7
-
8
- := (由于它与海象的眼睛和象牙很像,因此被亲切地称为“海象操作员” )
9
-
10
- """
11
-
12
- # 在此示例中,赋值表达式有助于避免调用 len()两次:
13
- import re
14
- import string
15
-
16
- a = "adahfhoifoigoiwfhoiwg"
17
- if (n := len(a)) > 10:
18
- print(f"List is too long ({n} elements, expected <= 10)")
19
-
20
- # 在正则表达式匹配期间会产生类似的好处,其中需要两次匹配对象,一次是测试是否发生匹配,另一次是提取子组:
21
- discount = 0.0
22
- advertisement = "a 50% discount"
23
- if mo := re.search(r'(\d+)% discount', advertisement):
24
- discount = float(mo.group(1)) / 100.0
25
- print(discount)
26
-
27
-
28
- # 该运算符还对while循环有用,该循环计算一个值来测试循环终止,然后在循环主体中再次需要相同的值:
29
- # Loop over fixed length blocks
30
- f = open("./__init__.py", 'rb')
31
- while len(block := f.read(256)) != 0:
32
- print(len(block))
33
-
34
- # 另一个具有启发性的用例出现在列表理解中,其中表达式主体中还需要在过滤条件下计算出的值:
35
- allowed_names = list(string.ascii_letters)
36
- names = list(string.ascii_letters)
1
+ """
2
+ 来自于 PEP572
3
+
4
+ 在 python 3.8 中获取正式支持
5
+
6
+ https://docs.python.org/3/whatsnew/3.8.html
7
+
8
+ := (由于它与海象的眼睛和象牙很像,因此被亲切地称为“海象操作员” )
9
+
10
+ """
11
+
12
+ # 在此示例中,赋值表达式有助于避免调用 len()两次:
13
+ import re
14
+ import string
15
+
16
+ a = "adahfhoifoigoiwfhoiwg"
17
+ if (n := len(a)) > 10:
18
+ print(f"List is too long ({n} elements, expected <= 10)")
19
+
20
+ # 在正则表达式匹配期间会产生类似的好处,其中需要两次匹配对象,一次是测试是否发生匹配,另一次是提取子组:
21
+ discount = 0.0
22
+ advertisement = "a 50% discount"
23
+ if mo := re.search(r'(\d+)% discount', advertisement):
24
+ discount = float(mo.group(1)) / 100.0
25
+ print(discount)
26
+
27
+
28
+ # 该运算符还对while循环有用,该循环计算一个值来测试循环终止,然后在循环主体中再次需要相同的值:
29
+ # Loop over fixed length blocks
30
+ f = open("./__init__.py", 'rb')
31
+ while len(block := f.read(256)) != 0:
32
+ print(len(block))
33
+
34
+ # 另一个具有启发性的用例出现在列表理解中,其中表达式主体中还需要在过滤条件下计算出的值:
35
+ allowed_names = list(string.ascii_letters)
36
+ names = list(string.ascii_letters)
37
37
  print([clean_name for name in names if (clean_name := name) in allowed_names])
@@ -1,19 +1,19 @@
1
- import dash
2
- import dash_table
3
- import pandas as pd
4
- import dash_design_kit as ddk
5
-
6
- df = pd.read_csv("test.csv")
7
- app = dash.Dash(__name__)
8
-
9
- app.layout = ddk.App(show_editor=True, children=[
10
- ddk.DataTable(
11
- id='table',
12
- columns=[{"name": i, "id": i} for i in df.columns],
13
- data=df.to_dict('records'),
14
- editable=True
15
- )
16
- ])
17
-
18
- if __name__ == '__main__':
1
+ import dash
2
+ import dash_table
3
+ import pandas as pd
4
+ import dash_design_kit as ddk
5
+
6
+ df = pd.read_csv("test.csv")
7
+ app = dash.Dash(__name__)
8
+
9
+ app.layout = ddk.App(show_editor=True, children=[
10
+ ddk.DataTable(
11
+ id='table',
12
+ columns=[{"name": i, "id": i} for i in df.columns],
13
+ data=df.to_dict('records'),
14
+ editable=True
15
+ )
16
+ ])
17
+
18
+ if __name__ == '__main__':
19
19
  app.run_server(debug=True)
@@ -1,9 +1,9 @@
1
- import pydash
2
-
3
- users = [
4
- {'name': 'Michelangelo', 'active': False},
5
- {'name': 'Donatello', 'active': False},
6
- {'name': 'Leonardo', 'active': True}
7
- ]
8
- callback = lambda item: item["name"] == "Donatello"
9
- pydash.find_index(users, callback)
1
+ import pydash
2
+
3
+ users = [
4
+ {'name': 'Michelangelo', 'active': False},
5
+ {'name': 'Donatello', 'active': False},
6
+ {'name': 'Leonardo', 'active': True}
7
+ ]
8
+ callback = lambda item: item["name"] == "Donatello"
9
+ pydash.find_index(users, callback)
@@ -1,66 +1,66 @@
1
- import time
2
-
3
- import streamlit as st
4
- # To make things easier later, we're also importing numpy and pandas for
5
- # working with sample data.
6
- import numpy as np
7
- import pandas as pd
8
-
9
- st.title('My first app')
10
- st.write("Here's our first attempt at using data to create a table:")
11
- st.write(pd.DataFrame({
12
- 'first column': [1, 2, 3, 4],
13
- 'second column': [10, 20, 30, 40]
14
- }))
15
-
16
-
17
- chart_data = pd.DataFrame(
18
- np.random.randn(20, 3),
19
- columns=['a', 'b', 'c'])
20
-
21
- st.line_chart(chart_data)
22
-
23
- # map_data = pd.DataFrame(
24
- # np.random.randn(1000, 2) / [50, 50] + [37.76, -122.4],
25
- # columns=['lat', 'lon'])
26
- #
27
- # st.map(map_data)
28
-
29
- if st.checkbox('Show dataframe'):
30
- chart_data = pd.DataFrame(
31
- np.random.randn(20, 3),
32
- columns=['a', 'b', 'c'])
33
- chart_data
34
-
35
- df = pd.DataFrame({
36
- 'first column': [1, 2, 3, 4],
37
- 'second column': [10, 20, 30, 40]
38
- })
39
-
40
- df
41
-
42
- option = st.selectbox(
43
- 'Which number do you like best?',
44
- df['first column'])
45
-
46
- 'You selected: ', option
47
-
48
- option2 = st.sidebar.selectbox(
49
- 'Which number do you like best??',
50
- df['first column'])
51
-
52
- 'You selected:', option2
53
-
54
- 'Starting a long computation...'
55
-
56
- # Add a placeholder
57
- latest_iteration = st.empty()
58
- bar = st.progress(0)
59
-
60
- for i in range(100):
61
- # Update the progress bar with each iteration.
62
- latest_iteration.text(f'Iteration {i+1}')
63
- bar.progress(i + 1)
64
- time.sleep(0.1)
65
-
1
+ import time
2
+
3
+ import streamlit as st
4
+ # To make things easier later, we're also importing numpy and pandas for
5
+ # working with sample data.
6
+ import numpy as np
7
+ import pandas as pd
8
+
9
+ st.title('My first app')
10
+ st.write("Here's our first attempt at using data to create a table:")
11
+ st.write(pd.DataFrame({
12
+ 'first column': [1, 2, 3, 4],
13
+ 'second column': [10, 20, 30, 40]
14
+ }))
15
+
16
+
17
+ chart_data = pd.DataFrame(
18
+ np.random.randn(20, 3),
19
+ columns=['a', 'b', 'c'])
20
+
21
+ st.line_chart(chart_data)
22
+
23
+ # map_data = pd.DataFrame(
24
+ # np.random.randn(1000, 2) / [50, 50] + [37.76, -122.4],
25
+ # columns=['lat', 'lon'])
26
+ #
27
+ # st.map(map_data)
28
+
29
+ if st.checkbox('Show dataframe'):
30
+ chart_data = pd.DataFrame(
31
+ np.random.randn(20, 3),
32
+ columns=['a', 'b', 'c'])
33
+ chart_data
34
+
35
+ df = pd.DataFrame({
36
+ 'first column': [1, 2, 3, 4],
37
+ 'second column': [10, 20, 30, 40]
38
+ })
39
+
40
+ df
41
+
42
+ option = st.selectbox(
43
+ 'Which number do you like best?',
44
+ df['first column'])
45
+
46
+ 'You selected: ', option
47
+
48
+ option2 = st.sidebar.selectbox(
49
+ 'Which number do you like best??',
50
+ df['first column'])
51
+
52
+ 'You selected:', option2
53
+
54
+ 'Starting a long computation...'
55
+
56
+ # Add a placeholder
57
+ latest_iteration = st.empty()
58
+ bar = st.progress(0)
59
+
60
+ for i in range(100):
61
+ # Update the progress bar with each iteration.
62
+ latest_iteration.text(f'Iteration {i+1}')
63
+ bar.progress(i + 1)
64
+ time.sleep(0.1)
65
+
66
66
  '...and now we\'re done!'
@@ -1,24 +1,24 @@
1
- import streamlit as st
2
- import pandas as pd
3
- import numpy as np
4
-
5
- st.title('Uber pickups in NYC')
6
-
7
- DATE_COLUMN = 'date/time'
8
- DATA_URL = ('https://s3-us-west-2.amazonaws.com/streamlit-demo-data/uber-raw-data-sep14.csv.gz')
9
-
10
- @st.cache
11
- def load_data(nrows):
12
- data = pd.read_csv(DATA_URL, nrows=nrows)
13
- lowercase = lambda x: str(x).lower()
14
- data.rename(lowercase, axis='columns', inplace=True)
15
- data[DATE_COLUMN] = pd.to_datetime(data[DATE_COLUMN])
16
- return data
17
-
18
- # Create a text element and let the reader know the data is loading.
19
- data_load_state.text("Done! (using st.cache)")
20
-
21
- # Load 10,000 rows of data into the dataframe.
22
- data = load_data(10000)
23
- # Notify the reader that the data was successfully loaded.
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import numpy as np
4
+
5
+ st.title('Uber pickups in NYC')
6
+
7
+ DATE_COLUMN = 'date/time'
8
+ DATA_URL = ('https://s3-us-west-2.amazonaws.com/streamlit-demo-data/uber-raw-data-sep14.csv.gz')
9
+
10
+ @st.cache
11
+ def load_data(nrows):
12
+ data = pd.read_csv(DATA_URL, nrows=nrows)
13
+ lowercase = lambda x: str(x).lower()
14
+ data.rename(lowercase, axis='columns', inplace=True)
15
+ data[DATE_COLUMN] = pd.to_datetime(data[DATE_COLUMN])
16
+ return data
17
+
18
+ # Create a text element and let the reader know the data is loading.
19
+ data_load_state.text("Done! (using st.cache)")
20
+
21
+ # Load 10,000 rows of data into the dataframe.
22
+ data = load_data(10000)
23
+ # Notify the reader that the data was successfully loaded.
24
24
  data_load_state.text('Loading data...done!')
re_common/studio/test.py CHANGED
@@ -1,19 +1,19 @@
1
- def test_sq():
2
- from re_common.baselibrary.utils.basepymongo import BasePyMongo
3
- # basemongo = BasePyMongo("mongodb://sdbadmin:sdbadmin@192.168.72.86:11817/test2?authMechanism=SCRAM-SHA-1")
4
- # basemongo = BasePyMongo(
5
- # "mongodb://sdbadmin:sdbadmin@192.168.72.86:11817/dataware_house.base_obj_meta_a")
6
- basemongo = BasePyMongo(
7
- "mongodb://sdbadmin:sdbadmin@192.168.72.86:11817/test2.test?authMechanism=SCRAM-SHA-1")
8
-
9
- basemongo.use_db("test2")
10
- # basemongo.auth("sdbadmin", "sdbadmin", "SCRAM-SHA-1")
11
- basemongo.create_col("test")
12
- # for items in basemongo.find({}):
13
- # print(items["user"])
14
- items = basemongo.find()
15
- for item in items:
16
- ids = item["id"]
17
- print(ids)
18
-
1
+ def test_sq():
2
+ from re_common.baselibrary.utils.basepymongo import BasePyMongo
3
+ # basemongo = BasePyMongo("mongodb://sdbadmin:sdbadmin@192.168.72.86:11817/test2?authMechanism=SCRAM-SHA-1")
4
+ # basemongo = BasePyMongo(
5
+ # "mongodb://sdbadmin:sdbadmin@192.168.72.86:11817/dataware_house.base_obj_meta_a")
6
+ basemongo = BasePyMongo(
7
+ "mongodb://sdbadmin:sdbadmin@192.168.72.86:11817/test2.test?authMechanism=SCRAM-SHA-1")
8
+
9
+ basemongo.use_db("test2")
10
+ # basemongo.auth("sdbadmin", "sdbadmin", "SCRAM-SHA-1")
11
+ basemongo.create_col("test")
12
+ # for items in basemongo.find({}):
13
+ # print(items["user"])
14
+ items = basemongo.find()
15
+ for item in items:
16
+ ids = item["id"]
17
+ print(ids)
18
+
19
19
  test_sq()
@@ -1,59 +1,59 @@
1
- import warnings
2
- import functools
3
-
4
- # 全局集合,用于记录已警告的函数或类
5
- _warned_once = set()
6
-
7
-
8
- def deprecated(message=None):
9
- """
10
- 装饰器:标记函数或类为已废弃,整个进程只发出一次警告。
11
-
12
- Args:
13
- message (str): 自定义警告信息,默认为 None。
14
- """
15
-
16
- def decorator(obj):
17
- # 如果是函数
18
- if isinstance(obj, type(lambda: None)):
19
- @functools.wraps(obj)
20
- def wrapper(*args, **kwargs):
21
- obj_id = id(obj) # 使用对象的内存地址作为唯一标识
22
- if obj_id not in _warned_once:
23
- default_msg = f"函数 {obj.__name__} 已不建议使用。"
24
- warn_msg = f"{default_msg} {message}" if message else default_msg
25
- warnings.warn(
26
- warn_msg,
27
- category=DeprecationWarning,
28
- stacklevel=2
29
- )
30
- _warned_once.add(obj_id) # 记录已警告
31
- return obj(*args, **kwargs)
32
-
33
- return wrapper
34
-
35
- # 如果是类
36
- elif isinstance(obj, type):
37
- orig_init = obj.__init__
38
-
39
- @functools.wraps(orig_init)
40
- def new_init(self, *args, **kwargs):
41
- obj_id = id(obj)
42
- if obj_id not in _warned_once:
43
- default_msg = f"类 {obj.__name__} 已不建议使用。"
44
- warn_msg = f"{default_msg} {message}" if message else default_msg
45
- warnings.warn(
46
- warn_msg,
47
- category=DeprecationWarning,
48
- stacklevel=2
49
- )
50
- _warned_once.add(obj_id) # 记录已警告
51
- orig_init(self, *args, **kwargs)
52
-
53
- obj.__init__ = new_init
54
- return obj
55
-
56
- else:
57
- raise TypeError("此装饰器仅适用于函数和类")
58
-
59
- return decorator
1
+ import warnings
2
+ import functools
3
+
4
+ # 全局集合,用于记录已警告的函数或类
5
+ _warned_once = set()
6
+
7
+
8
+ def deprecated(message=None):
9
+ """
10
+ 装饰器:标记函数或类为已废弃,整个进程只发出一次警告。
11
+
12
+ Args:
13
+ message (str): 自定义警告信息,默认为 None。
14
+ """
15
+
16
+ def decorator(obj):
17
+ # 如果是函数
18
+ if isinstance(obj, type(lambda: None)):
19
+ @functools.wraps(obj)
20
+ def wrapper(*args, **kwargs):
21
+ obj_id = id(obj) # 使用对象的内存地址作为唯一标识
22
+ if obj_id not in _warned_once:
23
+ default_msg = f"函数 {obj.__name__} 已不建议使用。"
24
+ warn_msg = f"{default_msg} {message}" if message else default_msg
25
+ warnings.warn(
26
+ warn_msg,
27
+ category=DeprecationWarning,
28
+ stacklevel=2
29
+ )
30
+ _warned_once.add(obj_id) # 记录已警告
31
+ return obj(*args, **kwargs)
32
+
33
+ return wrapper
34
+
35
+ # 如果是类
36
+ elif isinstance(obj, type):
37
+ orig_init = obj.__init__
38
+
39
+ @functools.wraps(orig_init)
40
+ def new_init(self, *args, **kwargs):
41
+ obj_id = id(obj)
42
+ if obj_id not in _warned_once:
43
+ default_msg = f"类 {obj.__name__} 已不建议使用。"
44
+ warn_msg = f"{default_msg} {message}" if message else default_msg
45
+ warnings.warn(
46
+ warn_msg,
47
+ category=DeprecationWarning,
48
+ stacklevel=2
49
+ )
50
+ _warned_once.add(obj_id) # 记录已警告
51
+ orig_init(self, *args, **kwargs)
52
+
53
+ obj.__init__ = new_init
54
+ return obj
55
+
56
+ else:
57
+ raise TypeError("此装饰器仅适用于函数和类")
58
+
59
+ return decorator