abstract-webtools 0.1.6.142__tar.gz → 0.1.6.144__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 (58) hide show
  1. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/PKG-INFO +1 -1
  2. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/setup.py +1 -1
  3. abstract_webtools-0.1.6.142/src/abstract_webtools/managers/seleniumManager.py → abstract_webtools-0.1.6.144/src/abstract_webtools/managers/seleneumManager.py +6 -9
  4. abstract_webtools-0.1.6.144/src/abstract_webtools/managers/sslManager.py +12 -0
  5. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools.egg-info/PKG-INFO +1 -1
  6. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools.egg-info/SOURCES.txt +1 -1
  7. abstract_webtools-0.1.6.142/src/abstract_webtools/managers/sslManager.py +0 -21
  8. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/README.md +0 -0
  9. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/pyproject.toml +0 -0
  10. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/setup.cfg +0 -0
  11. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/__init__.py +0 -0
  12. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/abstract_usurpit.py +0 -0
  13. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/abstract_webtools.py +0 -0
  14. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/big_user_agent_list.py +0 -0
  15. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/domain_identifier.py +0 -0
  16. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/extention_list.py +0 -0
  17. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/find_dirs.py +0 -0
  18. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/k2s_downloader.py +0 -0
  19. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/main.py +0 -0
  20. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/__init__.py +0 -0
  21. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/allss//.py" +0 -0
  22. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/cipherManager.py +0 -0
  23. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/clownworld/__init__.py +0 -0
  24. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/clownworld/get_bolshevid_video.py +0 -0
  25. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/crawlManager.py +0 -0
  26. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/crawlmgr2.py +0 -0
  27. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/curlMgr.py +0 -0
  28. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/domainManager.py +0 -0
  29. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/dynamicRateLimiter.py +0 -0
  30. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/get_test.py +0 -0
  31. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/linkManager/__init__.py +0 -0
  32. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/linkManager/linkManager.py +0 -0
  33. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/middleManager/__init__.py +0 -0
  34. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/middleManager/imports.py +0 -0
  35. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/middleManager/src/UnifiedWebManage3r.py +0 -0
  36. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/middleManager/src/UnifiedWebManager.py +0 -0
  37. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/middleManager/src/__init__.py +0 -0
  38. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/middleManager/src/legacy_tools.py +0 -0
  39. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/mySocketClient.py +0 -0
  40. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/networkManager.py +0 -0
  41. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/requestManager/__init__.py +0 -0
  42. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/requestManager/requestManager.py +0 -0
  43. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/soupManager/__init__.py +0 -0
  44. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/soupManager/asoueces.py +0 -0
  45. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/soupManager/soupManager.py +0 -0
  46. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/tlsAdapter.py +0 -0
  47. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/urlManager/__init__.py +0 -0
  48. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/urlManager/urlManager (Copy).py +0 -0
  49. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/urlManager/urlManager.py +0 -0
  50. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/userAgentManager.py +0 -0
  51. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/videoDownloader.py +0 -0
  52. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/managers/videoDownloader2.py +0 -0
  53. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/soup_gui.py +0 -0
  54. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/url_grabber.py +0 -0
  55. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools/url_grabber_new.py +0 -0
  56. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools.egg-info/dependency_links.txt +0 -0
  57. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools.egg-info/requires.txt +0 -0
  58. {abstract_webtools-0.1.6.142 → abstract_webtools-0.1.6.144}/src/abstract_webtools.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: abstract_webtools
3
- Version: 0.1.6.142
3
+ Version: 0.1.6.144
4
4
  Summary: Abstract Web Tools is a Python package that provides various utility functions for web scraping tasks. It is built on top of popular libraries such as `requests`, `BeautifulSoup`, and `urllib3` to simplify the process of fetching and parsing web content.
5
5
  Home-page: https://github.com/AbstractEndeavors/abstract_essentials/tree/main/abstract_webtools
6
6
  Author: putkoff
@@ -4,7 +4,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
4
4
  long_description = fh.read()
5
5
  setuptools.setup(
6
6
  name='abstract_webtools',
7
- version='0.1.6.142',
7
+ version='0.1.6.144',
8
8
  author='putkoff',
9
9
  author_email='partners@abstractendeavors.com',
10
10
  description='Abstract Web Tools is a Python package that provides various utility functions for web scraping tasks. It is built on top of popular libraries such as `requests`, `BeautifulSoup`, and `urllib3` to simplify the process of fetching and parsing web content.',
@@ -1,5 +1,5 @@
1
1
  import os
2
- from ..abstract_webtools import *
2
+ #from ..abstract_webtools import urlManager
3
3
  from .urlManager import *
4
4
  from urllib.parse import urlparse
5
5
  from abstract_utilities import *
@@ -7,7 +7,7 @@ from selenium import webdriver
7
7
  from selenium.webdriver.chrome.options import Options
8
8
  import logging
9
9
  import urllib3
10
-
10
+ from abstract_security import get_env_value
11
11
  # Suppress urllib3 warnings and debug logs
12
12
  urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
13
13
  logging.getLogger("urllib3").setLevel(logging.WARNING)
@@ -15,13 +15,10 @@ logging.getLogger("urllib3").setLevel(logging.WARNING)
15
15
  # Suppress Selenium logs
16
16
  logging.getLogger("selenium").setLevel(logging.WARNING)
17
17
 
18
- import os
19
- from selenium import webdriver
20
- from selenium.webdriver.chrome.options import Options
21
18
 
22
19
  # Setup Chrome options
23
20
  chrome_options = Options()
24
- #chrome_options.binary_location = "/home/profiles/solcatcher/.cache/selenium/chrome/linux64/130.0.6723.58/chrome"
21
+ chrome_options.binary_location = get_env_value('CHROME_BINARY')
25
22
  chrome_options.add_argument("--headless") # Run in headless mode
26
23
  chrome_options.add_argument("--no-sandbox")
27
24
  chrome_options.add_argument("--disable-dev-shm-usage")
@@ -31,6 +28,7 @@ chrome_options.add_argument("--disable-extensions")
31
28
  chrome_options.add_argument("--remote-debugging-port=9222")
32
29
 
33
30
 
31
+
34
32
  class SingletonMeta(type):
35
33
  _instances = {}
36
34
  def __call__(cls, *args, **kwargs):
@@ -78,8 +76,8 @@ class seleniumManager(metaclass=SingletonMeta):
78
76
 
79
77
  def get_driver(self, url):
80
78
  if url and url not in self.drivers:
81
- chrome_options = Options()
82
- chrome_options.add_argument("--headless")
79
+ # chrome_options = Options()
80
+ # chrome_options.add_argument("--headless")
83
81
  driver = webdriver.Chrome(options=chrome_options)
84
82
  self.drivers[url] = driver
85
83
  driver.get(url)
@@ -116,4 +114,3 @@ def get_selenium_source(url):
116
114
  finally:
117
115
  # Don't quit the driver unless you're done with all interactions
118
116
  pass
119
-
@@ -0,0 +1,12 @@
1
+ from ..abstract_webtools import *
2
+ class SSLManager:
3
+ def __init__(self, ciphers=None, ssl_options=None, certification=None):
4
+ self.ciphers = ciphers or CipherManager().ciphers_string
5
+ self.ssl_options = ssl_options or self.get_default_ssl_settings()
6
+ self.certification = certification or ssl.CERT_REQUIRED
7
+ self.ssl_context = self.get_context()
8
+ def get_default_ssl_settings(self):
9
+ return ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_COMPRESSION
10
+ def get_context(self):
11
+ return ssl_.create_urllib3_context(ciphers=self.ciphers, cert_reqs=self.certification, options=self.ssl_options)
12
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: abstract_webtools
3
- Version: 0.1.6.142
3
+ Version: 0.1.6.144
4
4
  Summary: Abstract Web Tools is a Python package that provides various utility functions for web scraping tasks. It is built on top of popular libraries such as `requests`, `BeautifulSoup`, and `urllib3` to simplify the process of fetching and parsing web content.
5
5
  Home-page: https://github.com/AbstractEndeavors/abstract_essentials/tree/main/abstract_webtools
6
6
  Author: putkoff
@@ -30,7 +30,7 @@ src/abstract_webtools/managers/dynamicRateLimiter.py
30
30
  src/abstract_webtools/managers/get_test.py
31
31
  src/abstract_webtools/managers/mySocketClient.py
32
32
  src/abstract_webtools/managers/networkManager.py
33
- src/abstract_webtools/managers/seleniumManager.py
33
+ src/abstract_webtools/managers/seleneumManager.py
34
34
  src/abstract_webtools/managers/sslManager.py
35
35
  src/abstract_webtools/managers/tlsAdapter.py
36
36
  src/abstract_webtools/managers/userAgentManager.py
@@ -1,21 +0,0 @@
1
- from ..abstract_webtools import *
2
- class SSLManager:
3
- def __init__(self, ciphers=None, ssl_options=None, certification=None):
4
- self.ciphers = ciphers or CipherManager().ciphers_string
5
- self.ssl_options = ssl_options or self.get_default_ssl_settings()
6
- self.certification = certification or ssl.CERT_REQUIRED
7
- self.ssl_context = self.get_context()
8
- def get_default_ssl_settings(self):
9
- return ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_COMPRESSION
10
- def get_context(self):
11
- return ssl_.create_urllib3_context(ciphers=self.ciphers, cert_reqs=self.certification, options=self.ssl_options)
12
-
13
- class SSLManagerSingleton:
14
- _instance = None
15
- @staticmethod
16
- def get_instance(ciphers=None, ssl_options_list=None, certification=None):
17
- if SSLManagerSingleton._instance is None:
18
- SSLManagerSingleton._instance = SSLManager(ciphers=ciphers, ssl_options_list=ssl_options_list, certification=certification)
19
- elif SSLManagerSingleton._instance.cipher_manager.ciphers_string != ciphers or SSLManagerSingleton._instance.ssl_options_list !=ssl_options_list or SSLManagerSingleton._instance.certification !=certification:
20
- SSLManagerSingleton._instance = SSLManager(ciphers=ciphers, ssl_options_list=ssl_options_list, certification=certification)
21
- return SSLManagerSingleton._instance