webscraper.py 1.1 KB

1234567891011121314151617181920212223242526272829
  1. from typing import Any
  2. from core.tools.entities.values import ToolLabelEnum
  3. from core.tools.errors import ToolProviderCredentialValidationError
  4. from core.tools.provider.builtin.webscraper.tools.webscraper import WebscraperTool
  5. from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
  6. class WebscraperProvider(BuiltinToolProviderController):
  7. def _validate_credentials(self, credentials: dict[str, Any]) -> None:
  8. try:
  9. WebscraperTool().fork_tool_runtime(
  10. runtime={
  11. "credentials": credentials,
  12. }
  13. ).invoke(
  14. user_id='',
  15. tool_parameters={
  16. 'url': 'https://www.google.com',
  17. 'user_agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
  18. },
  19. )
  20. except Exception as e:
  21. raise ToolProviderCredentialValidationError(str(e))
  22. def _get_tool_labels(self) -> list[ToolLabelEnum]:
  23. return [
  24. ToolLabelEnum.PRODUCTIVITY
  25. ]