webtoolkit 0.1.67__tar.gz → 0.1.70__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 (56) hide show
  1. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/PKG-INFO +1 -1
  2. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/pyproject.toml +1 -1
  3. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/remoteserver.py +1 -1
  4. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/remoteurl.py +12 -3
  5. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/request.py +7 -0
  6. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/statuses.py +2 -2
  7. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/LICENSE +0 -0
  8. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/README.md +0 -0
  9. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/__init__.py +0 -0
  10. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/baseurl.py +0 -0
  11. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/contentinterface.py +0 -0
  12. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/contentlinkparser.py +0 -0
  13. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/contentmoderation.py +0 -0
  14. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/contenttext.py +0 -0
  15. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/crawlers/__init__.py +0 -0
  16. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/crawlers/crawlerinterface.py +0 -0
  17. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/crawlers/requestscrawler.py +0 -0
  18. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/domaincache.py +0 -0
  19. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/handlers/__init__.py +0 -0
  20. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/handlers/defaulturlhandler.py +0 -0
  21. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/handlers/handlerchannelodysee.py +0 -0
  22. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/handlers/handlerchannelyoutube.py +0 -0
  23. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/handlers/handlerhttppage.py +0 -0
  24. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/handlers/handlerinterface.py +0 -0
  25. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/handlers/handlers.py +0 -0
  26. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/handlers/handlervideoodysee.py +0 -0
  27. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/handlers/handlervideoyoutube.py +0 -0
  28. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/pages.py +0 -0
  29. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/response.py +0 -0
  30. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/__init__.py +0 -0
  31. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/__init__.py +0 -0
  32. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/codeproject.py +0 -0
  33. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/firebog.py +0 -0
  34. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/geekwirecom.py +0 -0
  35. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/githubcom.py +0 -0
  36. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/hackernews.py +0 -0
  37. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/instance.py +0 -0
  38. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/opmlfile.py +0 -0
  39. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/reddit.py +0 -0
  40. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/returndislike.py +0 -0
  41. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/robotstxtcom.py +0 -0
  42. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/thehill.py +0 -0
  43. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/warhammercommunity.py +0 -0
  44. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fake/youtube.py +0 -0
  45. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fakeinternet.py +0 -0
  46. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fakeinternetcontents.py +0 -0
  47. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/fakeresponse.py +0 -0
  48. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/tests/mocks.py +0 -0
  49. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/urllocation.py +0 -0
  50. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/utils/__init__.py +0 -0
  51. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/utils/dateutils.py +0 -0
  52. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/utils/emailreader.py +0 -0
  53. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/utils/logger.py +0 -0
  54. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/utils/memorychecker.py +0 -0
  55. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/webconfig.py +0 -0
  56. {webtoolkit-0.1.67 → webtoolkit-0.1.70}/webtoolkit/webtools.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: webtoolkit
3
- Version: 0.1.67
3
+ Version: 0.1.70
4
4
  Summary: Web tools and interfaces for Internet data processing.
5
5
  License: GPL3
6
6
  Author: Iwan Grozny
@@ -3,7 +3,7 @@
3
3
 
4
4
  [tool.poetry]
5
5
  name = "webtoolkit"
6
- version = "0.1.67"
6
+ version = "0.1.70"
7
7
  description = "Web tools and interfaces for Internet data processing."
8
8
  authors = ["Iwan Grozny <renegat@renegat0x0.ddns.net>"]
9
9
  license = "GPL3"
@@ -192,7 +192,7 @@ class RemoteServer(object):
192
192
  print(str(E))
193
193
  return
194
194
 
195
- if "success" in json_obj and not json_obj["success"]:
195
+ if json_obj and "success" in json_obj and not json_obj["success"]:
196
196
  print("Url:{} Remote error. Not a success".format(link_call))
197
197
  return
198
198
  return json_obj
@@ -47,8 +47,6 @@ class RemoteUrl(ContentInterface):
47
47
  if request is not None and url is None:
48
48
  url = request.url
49
49
 
50
- super().__init__(url=url, contents=None)
51
-
52
50
  self.request = request
53
51
  self.remote_server_location = remote_server_location
54
52
  self.server = RemoteServer(remote_server=self.remote_server_location, key=key, client_id=client_id)
@@ -56,6 +54,14 @@ class RemoteUrl(ContentInterface):
56
54
  self.social_properties = social_properties
57
55
 
58
56
  self.responses = None
57
+
58
+ if url is None and self.all_properties:
59
+ properties = self.get_properties()
60
+ if properties:
61
+ url = properties.get("link")
62
+
63
+ super().__init__(url=url, contents=None)
64
+
59
65
  if self.all_properties:
60
66
  self.get_responses()
61
67
 
@@ -77,12 +83,15 @@ class RemoteUrl(ContentInterface):
77
83
 
78
84
  return self.responses
79
85
 
80
- def get_response(self):
86
+ def get_response(self, stream=None):
81
87
  """Provides URL response"""
82
88
  responses = self.get_responses()
83
89
  if not responses:
84
90
  return
85
91
 
92
+ if stream:
93
+ responses[stream]
94
+
86
95
  return RemoteServer.get_response(self.all_properties)
87
96
 
88
97
  def get_text(self):
@@ -34,6 +34,7 @@ class PageRequestObject(object):
34
34
  respect_robots=None,
35
35
  accept_types=None,
36
36
  bytes_limit=None,
37
+ freshness_interval_s=None, # seconds
37
38
  http_proxy=None,
38
39
  https_proxy=None,
39
40
  settings=None,
@@ -54,6 +55,7 @@ class PageRequestObject(object):
54
55
  self.respect_robots = respect_robots
55
56
  self.accept_types = accept_types
56
57
  self.bytes_limit = bytes_limit
58
+ self.freshness_interval_s = freshness_interval_s
57
59
  self.http_proxy = http_proxy
58
60
  self.https_proxy = https_proxy
59
61
  self.settings = settings
@@ -125,6 +127,8 @@ class PageRequestObject(object):
125
127
  return False
126
128
  if self.bytes_limit != other.bytes_limit:
127
129
  return False
130
+ if self.freshness_interval_s != other.freshness_interval_s:
131
+ return False
128
132
  if self.http_proxy != other.http_proxy:
129
133
  return False
130
134
  if self.https_proxy != other.https_proxy:
@@ -176,6 +180,8 @@ def request_to_json(request):
176
180
  json["accept_types"] = request.accept_types
177
181
  if request.bytes_limit is not None:
178
182
  json["bytes_limit"] = request.bytes_limit
183
+ if request.freshness_interval_s is not None:
184
+ json["freshness_interval_s"] = request.freshness_interval_s
179
185
  if request.http_proxy is not None:
180
186
  json["http_proxy"] = request.http_proxy
181
187
  if request.https_proxy is not None:
@@ -233,6 +239,7 @@ def json_to_request(json_data):
233
239
  request.bytes_limit = json_data.get("bytes_limit")
234
240
  if request.bytes_limit is not None:
235
241
  request.bytes_limit = int(request.bytes_limit)
242
+ request.freshness_interval_s = json_data.get("freshness_interval_s")
236
243
  request.http_proxy = json_data.get("http_proxy")
237
244
  request.https_proxy = json_data.get("https_proxy")
238
245
  request.settings = json_data.get("settings")
@@ -45,8 +45,8 @@ HTTP_STATUS_CODE_TIMEOUT = 604 # web page access timeout
45
45
  HTTP_STATUS_CODE_FILE_TOO_BIG = 612
46
46
  HTTP_STATUS_CODE_PAGE_UNSUPPORTED = 613
47
47
  HTTP_STATUS_CODE_SERVER_ERROR = 614
48
- HTTP_STATUS_CODE_SERVER_TOO_MANY_REQUESTS = 615 # this server too many requests
49
- HTTP_STATUS_CODE_SERVER_DATA_NOT_READY = 616
48
+ HTTP_STATUS_CODE_SERVER_TOO_MANY_REQUESTS = 615 # this server too many requests, does not accept new
49
+ HTTP_STATUS_CODE_SERVER_DATA_NOT_READY = 616 # we do not want to keep connections too long. Return not ready. Client can continue
50
50
 
51
51
 
52
52
  def status_code_to_text(status_code):
File without changes
File without changes