kcwebs 1.4__tar.gz → 1.5__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 (119) hide show
  1. {kcwebs-1.4 → kcwebs-1.5}/PKG-INFO +2 -2
  2. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/__init__.py +1 -1
  3. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/http.py +57 -23
  4. {kcwebs-1.4 → kcwebs-1.5}/kcwebs.egg-info/PKG-INFO +2 -2
  5. {kcwebs-1.4 → kcwebs-1.5}/kcwebs.egg-info/top_level.txt +1 -0
  6. {kcwebs-1.4 → kcwebs-1.5}/README.md +0 -0
  7. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/common/__init__.py +0 -0
  8. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/common/autoload.py +0 -0
  9. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/common/session.py +0 -0
  10. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/config/__init__.py +0 -0
  11. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/kcwebs.py +0 -0
  12. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/__init__.py +0 -0
  13. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/__init__.py +0 -0
  14. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/common/__init__.py +0 -0
  15. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/common/autoload.py +0 -0
  16. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/controller/__init__.py +0 -0
  17. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/controller/index/__init__.py +0 -0
  18. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/controller/index/common/__init__.py +0 -0
  19. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/controller/index/common/autoload.py +0 -0
  20. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/controller/index/common/html/include/static.html +0 -0
  21. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/controller/index/common/model.py +0 -0
  22. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/controller/index/index.py +0 -0
  23. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/controller/index/tpl/index/home.html +0 -0
  24. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/api/controller/index/tpl/index/index.html +0 -0
  25. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/common/__init__.py +0 -0
  26. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/common/autoload.py +0 -0
  27. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/common/html/include/static.html +0 -0
  28. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/common/model.py +0 -0
  29. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/config/__init__.py +0 -0
  30. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/config/app.py +0 -0
  31. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/config/database.py +0 -0
  32. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/config/other.py +0 -0
  33. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/app/config/redis.py +0 -0
  34. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/tempfile/kcwebs/server.py +0 -0
  35. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/cache/cache.py +0 -0
  36. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/db/model.py +0 -0
  37. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/db/mongodb.py +0 -0
  38. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/db/mysql copy.py +0 -0
  39. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/db/mysql.py +0 -0
  40. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/db/sqlite.py +0 -0
  41. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/queues.py +0 -0
  42. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/redis.py +0 -0
  43. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/__init__.py +0 -0
  44. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/common/__init__.py +0 -0
  45. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/common/exceptions.py +0 -0
  46. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/__init__.py +0 -0
  47. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/android/__init__.py +0 -0
  48. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/android/webdriver.py +0 -0
  49. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/blackberry/__init__.py +0 -0
  50. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/blackberry/webdriver.py +0 -0
  51. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/chrome/__init__.py +0 -0
  52. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/chrome/options.py +0 -0
  53. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/chrome/remote_connection.py +0 -0
  54. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/chrome/service.py +0 -0
  55. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/chrome/webdriver.py +0 -0
  56. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/__init__.py +0 -0
  57. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/action_chains.py +0 -0
  58. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/alert.py +0 -0
  59. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/by.py +0 -0
  60. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/desired_capabilities.py +0 -0
  61. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/html5/__init__.py +0 -0
  62. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/html5/application_cache.py +0 -0
  63. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/keys.py +0 -0
  64. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/proxy.py +0 -0
  65. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/service.py +0 -0
  66. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/touch_actions.py +0 -0
  67. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/common/utils.py +0 -0
  68. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/edge/__init__.py +0 -0
  69. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/edge/options.py +0 -0
  70. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/edge/service.py +0 -0
  71. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/edge/webdriver.py +0 -0
  72. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/firefox/__init__.py +0 -0
  73. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/firefox/extension_connection.py +0 -0
  74. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/firefox/firefox_binary.py +0 -0
  75. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/firefox/firefox_profile.py +0 -0
  76. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/firefox/options.py +0 -0
  77. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/firefox/remote_connection.py +0 -0
  78. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/firefox/service.py +0 -0
  79. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/firefox/webdriver.py +0 -0
  80. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/firefox/webelement.py +0 -0
  81. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/ie/__init__.py +0 -0
  82. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/ie/service.py +0 -0
  83. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/ie/webdriver.py +0 -0
  84. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/opera/__init__.py +0 -0
  85. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/opera/options.py +0 -0
  86. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/opera/webdriver.py +0 -0
  87. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/phantomjs/__init__.py +0 -0
  88. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/phantomjs/service.py +0 -0
  89. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/phantomjs/webdriver.py +0 -0
  90. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/__init__.py +0 -0
  91. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/command.py +0 -0
  92. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/errorhandler.py +0 -0
  93. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/file_detector.py +0 -0
  94. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/getAttribute.js +0 -0
  95. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/isDisplayed.js +0 -0
  96. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/mobile.py +0 -0
  97. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/remote_connection.py +0 -0
  98. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/switch_to.py +0 -0
  99. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/utils.py +0 -0
  100. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/webdriver.py +0 -0
  101. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/remote/webelement.py +0 -0
  102. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/safari/__init__.py +0 -0
  103. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/safari/service.py +0 -0
  104. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/safari/webdriver.py +0 -0
  105. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/support/__init__.py +0 -0
  106. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/support/abstract_event_listener.py +0 -0
  107. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/support/color.py +0 -0
  108. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/support/event_firing_webdriver.py +0 -0
  109. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/support/events.py +0 -0
  110. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/support/expected_conditions.py +0 -0
  111. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/support/select.py +0 -0
  112. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/support/ui.py +0 -0
  113. {kcwebs-1.4 → kcwebs-1.5}/kcwebs/utill/selenium3/webdriver/support/wait.py +0 -0
  114. {kcwebs-1.4 → kcwebs-1.5}/kcwebs.egg-info/SOURCES.txt +0 -0
  115. {kcwebs-1.4 → kcwebs-1.5}/kcwebs.egg-info/dependency_links.txt +0 -0
  116. {kcwebs-1.4 → kcwebs-1.5}/kcwebs.egg-info/entry_points.txt +0 -0
  117. {kcwebs-1.4 → kcwebs-1.5}/kcwebs.egg-info/requires.txt +0 -0
  118. {kcwebs-1.4 → kcwebs-1.5}/setup.cfg +0 -0
  119. {kcwebs-1.4 → kcwebs-1.5}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: kcwebs
3
- Version: 1.4
3
+ Version: 1.5
4
4
  Summary: kcwebs作为web开发而设计的高性能框架
5
5
  Home-page: https://docs.kwebapp.cn/index/index/2
6
6
  Author: 百里-坤坤
@@ -9,5 +9,5 @@ Maintainer: 坤坤
9
9
  Maintainer-email: fk1402936534@qq.com
10
10
  License: MIT License
11
11
  Description: kcwebs作为web开发而设计的高性能框架,采用全新的架构思想,注重易用性。遵循MIT开源许可协议发布,意味着个人和企业可以免费使用kcwebs,甚至允许把你基于kcwebs开发的应用开源或商业产品发布或销售。完整文档请访问:https://docs.kwebapp.cn/index/index/2
12
- Keywords: kcwebs1.4
12
+ Keywords: kcwebs1.5
13
13
  Platform: UNKNOWN
@@ -1,5 +1,5 @@
1
1
  # -*- coding: utf-8 -*-
2
- __version__ = '1.4'
2
+ __version__ = '1.5'
3
3
 
4
4
  kcwebsinfo={}
5
5
  kcwebsinfo['name']='kcwebs' #项目的名称
@@ -4,7 +4,9 @@ from requests.packages.urllib3.exceptions import InsecureRequestWarning
4
4
  requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
5
5
  from .selenium3 import webdriver as webdriver3
6
6
  from .selenium3.webdriver.chrome.options import Options as Options3
7
+ from .selenium3.webdriver.common.by import By as webdriver3By
7
8
  class Http:
9
+ By=webdriver3By
8
10
  "http请求类"
9
11
  set_proxies=None #设置代理
10
12
  set_cookies={} #设置请求cookie
@@ -66,7 +68,9 @@ class Http:
66
68
  self.get_cookies=self.cookieserTdict(self.get_cookie_str)
67
69
  if self.get_cookies!=self.set_cookies:
68
70
  self.PhantomJsObj.delete_all_cookies()
69
- self.PhantomJsObj.add_cookie(self.set_cookies)
71
+ for name,value in self.set_cookies:
72
+ t={'name':name, 'value':value}
73
+ self.PhantomJsObj.add_cookie(t)
70
74
 
71
75
 
72
76
 
@@ -81,8 +85,9 @@ class Http:
81
85
 
82
86
  self.get_text = self.PhantomJsObj.page_source
83
87
  self.get_cookies=self.set_cookies
84
- for k in self.PhantomJsObj.get_cookies():
85
- self.get_cookies=self.__merge(self.get_cookies,k)
88
+ for k in reversed(self.PhantomJsObj.get_cookies()):
89
+ zd={k['name']:k['value']}
90
+ self.get_cookies=self.__merge(self.get_cookies,zd)
86
91
  if self.get_cookies:
87
92
  self.get_cookie_str=self.cookieTdictstr(self.get_cookies)
88
93
  self.get_cookies=self.cookieserTdict(self.get_cookie_str)
@@ -90,7 +95,7 @@ class Http:
90
95
  self.set_cookies=self.get_cookies
91
96
  if closedriver:
92
97
  self.PhantomJsObj.quit()
93
- __ChromeObj=None
98
+ ChromeObj=None
94
99
  def open_Chrome(self,url,executable_path='',closedriver=True,setheadless=True):
95
100
  """通过Chrome浏览器引擎模拟浏览器请求 可以获取到js渲染后的html
96
101
 
@@ -99,14 +104,14 @@ class Http:
99
104
  setheadless 是否设置无头
100
105
 
101
106
  """
102
- if not self.__ChromeObj:
107
+ if not self.ChromeObj:
103
108
  chrome_options = Options3()
104
109
  if setheadless:
105
110
  chrome_options.add_argument("--headless") #设置无头
106
111
  chrome_options.add_argument("--disable-gpu") # 禁用GPU硬件加速,适用于Linux和Windows系统
107
112
  chrome_options.add_argument("--no-sandbox") # 禁用沙盒模式,在某些Linux系统上需要
108
113
  try:
109
- self.__ChromeObj = webdriver3.Chrome(executable_path=executable_path,chrome_options=chrome_options)
114
+ self.ChromeObj = webdriver3.Chrome(executable_path=executable_path,chrome_options=chrome_options)
110
115
  except Exception as e:
111
116
  import os
112
117
  print("\033[93mChromeChromeChromeChromeChromeChromeChromeChromeChromeChromeChromeChromeve\033[0m",e)
@@ -155,22 +160,25 @@ class Http:
155
160
  else:
156
161
  raise Exception('暂不支持该操作系统版本,目前仅支持CentOS7和windows10')
157
162
 
158
- if self.__ChromeObj:
163
+ if self.ChromeObj:
159
164
  if self.set_session:
160
165
  self.get_cookies=self.set_cookies
161
- for k in self.__ChromeObj.get_cookies():
166
+ for k in self.ChromeObj.get_cookies():
162
167
  self.get_cookies=self.__merge(self.get_cookies,k)
163
168
  if self.get_cookies:
164
169
  self.get_cookie_str=self.cookieTdictstr(self.get_cookies)
165
170
  self.get_cookies=self.cookieserTdict(self.get_cookie_str)
166
171
  if self.get_cookies!=self.set_cookies:
167
- self.__ChromeObj.delete_all_cookies()
168
- self.__ChromeObj.add_cookie(self.set_cookies)
172
+ self.ChromeObj.delete_all_cookies()
173
+ for name,value in self.set_cookies:
174
+ t={'name':name, 'value':value}
175
+ self.ChromeObj.add_cookie(t)
169
176
 
170
177
 
171
178
 
172
- self.__ChromeObj.get(url)
173
-
179
+ self.ChromeObj.get(url)
180
+ # time.sleep(5)
181
+ # print('self.ChromeObj.get_cookies()',self.ChromeObj.get_cookies())
174
182
  if not closedriver:
175
183
  response = requests.head(url,cookies=self.set_cookies,allow_redirects=True)
176
184
  resheader=dict(response.headers)
@@ -180,23 +188,23 @@ class Http:
180
188
 
181
189
 
182
190
  time.sleep(0.1)
183
- self.get_text = self.__ChromeObj.page_source
191
+ self.get_text = self.ChromeObj.page_source
184
192
  self.get_cookies=self.set_cookies
185
- for k in self.__ChromeObj.get_cookies():
186
- self.get_cookies=self.__merge(self.get_cookies,k)
193
+ for k in reversed(self.ChromeObj.get_cookies()):
194
+ zd={k['name']:k['value']}
195
+ self.get_cookies=self.__merge(self.get_cookies,zd)
187
196
  if self.get_cookies:
188
197
  self.get_cookie_str=self.cookieTdictstr(self.get_cookies)
189
198
  self.get_cookies=self.cookieserTdict(self.get_cookie_str)
190
199
  if self.set_session:
191
- self.set_cookies=self.get_cookies
200
+ self.set_cookies=self.get_cookie_str
192
201
  if closedriver:
193
- print("关闭__ChromeObj")
194
- self.__ChromeObj.close()
195
- self.__ChromeObj.quit()
202
+ self.ChromeObj.close()
203
+ self.ChromeObj.quit()
196
204
  def close_webdriver(self):
197
- if self.__ChromeObj:
198
- self.__ChromeObj.close()
199
- self.__ChromeObj.quit()
205
+ if self.ChromeObj:
206
+ self.ChromeObj.close()
207
+ self.ChromeObj.quit()
200
208
  if self.PhantomJsObj:
201
209
  self.PhantomJsObj.quit()
202
210
 
@@ -253,13 +261,39 @@ class Http:
253
261
  self.get_content=response.content
254
262
  self.get_response=response
255
263
  self.get_status_code=int(response.status_code)
264
+ def __is_index(self,params,index):
265
+ """判断列表或字典里的索引是否存在
266
+
267
+ params 列表或字典
268
+
269
+ index 索引值
270
+
271
+ return Boolean类型
272
+ """
273
+ try:
274
+ params[index]
275
+ except KeyError:
276
+ return False
277
+ except IndexError:
278
+ return False
279
+ else:
280
+ return True
256
281
  def __merge(self,dict1, dict2):
257
282
  "合并两个字典"
258
283
  C_dict = {}
259
284
  for key,value in dict1.items():
260
285
  C_dict[key]=value
261
286
  for key,value in dict2.items():
262
- C_dict[key]=value
287
+ if value:
288
+ if isinstance(value, str) or (self.__is_index(C_dict,key) and isinstance(C_dict[key], str)):
289
+ if self.__is_index(C_dict,key):
290
+ t1,t2=len(str(value)),len(str(C_dict[key]))
291
+ if t1>=t2:
292
+ C_dict[key]=value
293
+ else:
294
+ C_dict[key]=value
295
+ else:
296
+ C_dict[key]=value
263
297
  return C_dict
264
298
  def cookieserTdict(self,cookiesstr):
265
299
  "cookies字符串转换字典"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: kcwebs
3
- Version: 1.4
3
+ Version: 1.5
4
4
  Summary: kcwebs作为web开发而设计的高性能框架
5
5
  Home-page: https://docs.kwebapp.cn/index/index/2
6
6
  Author: 百里-坤坤
@@ -9,5 +9,5 @@ Maintainer: 坤坤
9
9
  Maintainer-email: fk1402936534@qq.com
10
10
  License: MIT License
11
11
  Description: kcwebs作为web开发而设计的高性能框架,采用全新的架构思想,注重易用性。遵循MIT开源许可协议发布,意味着个人和企业可以免费使用kcwebs,甚至允许把你基于kcwebs开发的应用开源或商业产品发布或销售。完整文档请访问:https://docs.kwebapp.cn/index/index/2
12
- Keywords: kcwebs1.4
12
+ Keywords: kcwebs1.5
13
13
  Platform: UNKNOWN
@@ -1,6 +1,7 @@
1
1
  kcwebs
2
2
  kcwebs/common
3
3
  kcwebs/config
4
+ kcwebs/pid
4
5
  kcwebs/tempfile
5
6
  kcwebs/tempfile/kcwebs
6
7
  kcwebs/tempfile/kcwebs/app
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes