webtoolkit 0.1.73__tar.gz → 0.1.75__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.73 → webtoolkit-0.1.75}/PKG-INFO +2 -3
  2. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/pyproject.toml +1 -1
  3. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/handlers/handlervideoyoutube.py +13 -0
  4. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/utils/emailreader.py +1 -1
  5. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/LICENSE +0 -0
  6. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/README.md +0 -0
  7. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/__init__.py +0 -0
  8. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/baseurl.py +0 -0
  9. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/contentinterface.py +0 -0
  10. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/contentlinkparser.py +0 -0
  11. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/contentmoderation.py +0 -0
  12. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/contenttext.py +0 -0
  13. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/crawlers/__init__.py +0 -0
  14. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/crawlers/crawlerinterface.py +0 -0
  15. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/crawlers/requestscrawler.py +0 -0
  16. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/domaincache.py +0 -0
  17. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/handlers/__init__.py +0 -0
  18. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/handlers/defaulturlhandler.py +0 -0
  19. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/handlers/handlerchannelodysee.py +0 -0
  20. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/handlers/handlerchannelyoutube.py +0 -0
  21. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/handlers/handlerhttppage.py +0 -0
  22. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/handlers/handlerinterface.py +0 -0
  23. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/handlers/handlers.py +0 -0
  24. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/handlers/handlervideoodysee.py +0 -0
  25. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/pages.py +0 -0
  26. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/remoteserver.py +0 -0
  27. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/remoteurl.py +0 -0
  28. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/request.py +0 -0
  29. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/response.py +0 -0
  30. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/statuses.py +0 -0
  31. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/__init__.py +0 -0
  32. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/__init__.py +0 -0
  33. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/codeproject.py +0 -0
  34. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/firebog.py +0 -0
  35. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/geekwirecom.py +0 -0
  36. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/githubcom.py +0 -0
  37. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/hackernews.py +0 -0
  38. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/instance.py +0 -0
  39. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/opmlfile.py +0 -0
  40. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/reddit.py +0 -0
  41. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/returndislike.py +0 -0
  42. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/robotstxtcom.py +0 -0
  43. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/thehill.py +0 -0
  44. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/warhammercommunity.py +0 -0
  45. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fake/youtube.py +0 -0
  46. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fakeinternet.py +0 -0
  47. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fakeinternetcontents.py +0 -0
  48. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/fakeresponse.py +0 -0
  49. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/tests/mocks.py +0 -0
  50. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/urllocation.py +0 -0
  51. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/utils/__init__.py +0 -0
  52. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/utils/dateutils.py +0 -0
  53. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/utils/logger.py +0 -0
  54. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/utils/memorychecker.py +0 -0
  55. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/webconfig.py +0 -0
  56. {webtoolkit-0.1.73 → webtoolkit-0.1.75}/webtoolkit/webtools.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.1
2
2
  Name: webtoolkit
3
- Version: 0.1.73
3
+ Version: 0.1.75
4
4
  Summary: Web tools and interfaces for Internet data processing.
5
5
  License: GPL3
6
6
  Author: Iwan Grozny
@@ -12,7 +12,6 @@ Classifier: Programming Language :: Python :: 3.9
12
12
  Classifier: Programming Language :: Python :: 3.10
13
13
  Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
- Classifier: Programming Language :: Python :: 3.13
16
15
  Requires-Dist: beautifulsoup4 (>=4.13.5,<5.0.0)
17
16
  Requires-Dist: brutefeedparser (>=1.0.0,<2.0.0)
18
17
  Requires-Dist: lxml (>=5.4.0,<6.0.0)
@@ -3,7 +3,7 @@
3
3
 
4
4
  [tool.poetry]
5
5
  name = "webtoolkit"
6
- version = "0.1.73"
6
+ version = "0.1.75"
7
7
  description = "Web tools and interfaces for Internet data processing."
8
8
  authors = ["Iwan Grozny <renegat@renegat0x0.ddns.net>"]
9
9
  license = "GPL3"
@@ -5,6 +5,7 @@ from ..utils.dateutils import DateUtils
5
5
  from ..urllocation import UrlLocation
6
6
  from ..pages import ReturnDislikeJson
7
7
  from ..webtools import WebLogger
8
+ from ..statuses import HTTP_STATUS_NOT_FOUND
8
9
  from .defaulturlhandler import DefaultCompoundChannelHandler
9
10
 
10
11
 
@@ -186,3 +187,15 @@ class YouTubeVideoHandler(DefaultCompoundChannelHandler):
186
187
  locale of platform, not contents
187
188
  """
188
189
  return None
190
+
191
+ def get_responses_implementation(self, urls_to_fetch):
192
+ """
193
+ - YouTube returns 200 for unavailable videos.
194
+ - we check if there is schema information about video. If none, it is error
195
+ """
196
+ responses = super().get_responses_implementation(urls_to_fetch)
197
+ for response in responses:
198
+ if response.is_html():
199
+ if response.get_text().find("schema.org") == -1:
200
+ response.status_code = HTTP_STATUS_NOT_FOUND
201
+ return responses
@@ -16,7 +16,7 @@ from email.header import decode_header
16
16
  from email.utils import parsedate_to_datetime
17
17
  from email.utils import parseaddr
18
18
 
19
- from utils.dateutils import DateUtils
19
+ from webtoolkit.utils.dateutils import DateUtils
20
20
 
21
21
 
22
22
  class Email(object):
File without changes
File without changes