janito 2.0.0__tar.gz → 2.1.0__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 (185) hide show
  1. {janito-2.0.0 → janito-2.1.0}/PKG-INFO +1 -1
  2. {janito-2.0.0 → janito-2.1.0}/janito/__init__.py +1 -1
  3. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/__init__.py +3 -0
  4. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/get_file_outline/core.py +2 -2
  5. janito-2.1.0/janito/tools/adapters/local/open_html_in_browser.py +43 -0
  6. {janito-2.0.0 → janito-2.1.0}/janito/version.py +1 -1
  7. {janito-2.0.0 → janito-2.1.0}/janito.egg-info/PKG-INFO +1 -1
  8. {janito-2.0.0 → janito-2.1.0}/janito.egg-info/SOURCES.txt +1 -0
  9. {janito-2.0.0 → janito-2.1.0}/pyproject.toml +1 -1
  10. {janito-2.0.0 → janito-2.1.0}/README.md +0 -0
  11. {janito-2.0.0 → janito-2.1.0}/janito/__main__.py +0 -0
  12. {janito-2.0.0 → janito-2.1.0}/janito/agent/setup_agent.py +0 -0
  13. {janito-2.0.0 → janito-2.1.0}/janito/agent/templates/profiles/system_prompt_template_base_pt.txt.j2 +0 -0
  14. {janito-2.0.0 → janito-2.1.0}/janito/agent/templates/profiles/system_prompt_template_main.txt.j2 +0 -0
  15. {janito-2.0.0 → janito-2.1.0}/janito/cli/__init__.py +0 -0
  16. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/bindings.py +0 -0
  17. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/chat_entry.py +0 -0
  18. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/prompt_style.py +0 -0
  19. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/session.py +0 -0
  20. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/autocomplete.py +0 -0
  21. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/__init__.py +0 -0
  22. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/base.py +0 -0
  23. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/clear.py +0 -0
  24. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/conversation_restart.py +0 -0
  25. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/edit.py +0 -0
  26. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/help.py +0 -0
  27. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/history_view.py +0 -0
  28. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/lang.py +0 -0
  29. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/last.py +0 -0
  30. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/livelogs.py +0 -0
  31. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/multi.py +0 -0
  32. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/prompt.py +0 -0
  33. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/role.py +0 -0
  34. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/session.py +0 -0
  35. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/session_control.py +0 -0
  36. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/termweb_log.py +0 -0
  37. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/tools.py +0 -0
  38. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/utility.py +0 -0
  39. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/commands/verbose.py +0 -0
  40. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/input_history.py +0 -0
  41. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/session/__init__.py +0 -0
  42. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/session/history.py +0 -0
  43. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/shell/session/manager.py +0 -0
  44. {janito-2.0.0 → janito-2.1.0}/janito/cli/chat_mode/toolbar.py +0 -0
  45. {janito-2.0.0 → janito-2.1.0}/janito/cli/cli_commands/list_models.py +0 -0
  46. {janito-2.0.0 → janito-2.1.0}/janito/cli/cli_commands/list_providers.py +0 -0
  47. {janito-2.0.0 → janito-2.1.0}/janito/cli/cli_commands/list_tools.py +0 -0
  48. {janito-2.0.0 → janito-2.1.0}/janito/cli/cli_commands/model_selection.py +0 -0
  49. {janito-2.0.0 → janito-2.1.0}/janito/cli/cli_commands/model_utils.py +0 -0
  50. {janito-2.0.0 → janito-2.1.0}/janito/cli/cli_commands/set_api_key.py +0 -0
  51. {janito-2.0.0 → janito-2.1.0}/janito/cli/cli_commands/show_config.py +0 -0
  52. {janito-2.0.0 → janito-2.1.0}/janito/cli/cli_commands/show_system_prompt.py +0 -0
  53. {janito-2.0.0 → janito-2.1.0}/janito/cli/config.py +0 -0
  54. {janito-2.0.0 → janito-2.1.0}/janito/cli/console.py +0 -0
  55. {janito-2.0.0 → janito-2.1.0}/janito/cli/core/__init__.py +0 -0
  56. {janito-2.0.0 → janito-2.1.0}/janito/cli/core/event_logger.py +0 -0
  57. {janito-2.0.0 → janito-2.1.0}/janito/cli/core/getters.py +0 -0
  58. {janito-2.0.0 → janito-2.1.0}/janito/cli/core/runner.py +0 -0
  59. {janito-2.0.0 → janito-2.1.0}/janito/cli/core/setters.py +0 -0
  60. {janito-2.0.0 → janito-2.1.0}/janito/cli/core/unsetters.py +0 -0
  61. {janito-2.0.0 → janito-2.1.0}/janito/cli/main.py +0 -0
  62. {janito-2.0.0 → janito-2.1.0}/janito/cli/main_cli.py +0 -0
  63. {janito-2.0.0 → janito-2.1.0}/janito/cli/prompt_core.py +0 -0
  64. {janito-2.0.0 → janito-2.1.0}/janito/cli/prompt_handler.py +0 -0
  65. {janito-2.0.0 → janito-2.1.0}/janito/cli/rich_terminal_reporter.py +0 -0
  66. {janito-2.0.0 → janito-2.1.0}/janito/cli/single_shot_mode/__init__.py +0 -0
  67. {janito-2.0.0 → janito-2.1.0}/janito/cli/single_shot_mode/handler.py +0 -0
  68. {janito-2.0.0 → janito-2.1.0}/janito/cli/termweb_starter.py +0 -0
  69. {janito-2.0.0 → janito-2.1.0}/janito/cli/utils.py +0 -0
  70. {janito-2.0.0 → janito-2.1.0}/janito/cli/verbose_output.py +0 -0
  71. {janito-2.0.0 → janito-2.1.0}/janito/config.py +0 -0
  72. {janito-2.0.0 → janito-2.1.0}/janito/config_manager.py +0 -0
  73. {janito-2.0.0 → janito-2.1.0}/janito/conversation_history.py +0 -0
  74. {janito-2.0.0 → janito-2.1.0}/janito/dir_walk_utils.py +0 -0
  75. {janito-2.0.0 → janito-2.1.0}/janito/driver_events.py +0 -0
  76. {janito-2.0.0 → janito-2.1.0}/janito/drivers/anthropic/driver.py +0 -0
  77. {janito-2.0.0 → janito-2.1.0}/janito/drivers/azure_openai/driver.py +0 -0
  78. {janito-2.0.0 → janito-2.1.0}/janito/drivers/driver_registry.py +0 -0
  79. {janito-2.0.0 → janito-2.1.0}/janito/drivers/google_genai/driver.py +0 -0
  80. {janito-2.0.0 → janito-2.1.0}/janito/drivers/google_genai/schema_generator.py +0 -0
  81. {janito-2.0.0 → janito-2.1.0}/janito/drivers/mistralai/driver.py +0 -0
  82. {janito-2.0.0 → janito-2.1.0}/janito/drivers/openai/driver.py +0 -0
  83. {janito-2.0.0 → janito-2.1.0}/janito/event_bus/__init__.py +0 -0
  84. {janito-2.0.0 → janito-2.1.0}/janito/event_bus/bus.py +0 -0
  85. {janito-2.0.0 → janito-2.1.0}/janito/event_bus/event.py +0 -0
  86. {janito-2.0.0 → janito-2.1.0}/janito/event_bus/handler.py +0 -0
  87. {janito-2.0.0 → janito-2.1.0}/janito/event_bus/queue_bus.py +0 -0
  88. {janito-2.0.0 → janito-2.1.0}/janito/exceptions.py +0 -0
  89. {janito-2.0.0 → janito-2.1.0}/janito/formatting.py +0 -0
  90. {janito-2.0.0 → janito-2.1.0}/janito/formatting_token.py +0 -0
  91. {janito-2.0.0 → janito-2.1.0}/janito/gitignore_utils.py +0 -0
  92. {janito-2.0.0 → janito-2.1.0}/janito/i18n/__init__.py +0 -0
  93. {janito-2.0.0 → janito-2.1.0}/janito/i18n/messages.py +0 -0
  94. {janito-2.0.0 → janito-2.1.0}/janito/i18n/pt.py +0 -0
  95. {janito-2.0.0 → janito-2.1.0}/janito/llm/__init__.py +0 -0
  96. {janito-2.0.0 → janito-2.1.0}/janito/llm/agent.py +0 -0
  97. {janito-2.0.0 → janito-2.1.0}/janito/llm/auth.py +0 -0
  98. {janito-2.0.0 → janito-2.1.0}/janito/llm/driver.py +0 -0
  99. {janito-2.0.0 → janito-2.1.0}/janito/llm/driver_config.py +0 -0
  100. {janito-2.0.0 → janito-2.1.0}/janito/llm/driver_config_builder.py +0 -0
  101. {janito-2.0.0 → janito-2.1.0}/janito/llm/driver_input.py +0 -0
  102. {janito-2.0.0 → janito-2.1.0}/janito/llm/message_parts.py +0 -0
  103. {janito-2.0.0 → janito-2.1.0}/janito/llm/model.py +0 -0
  104. {janito-2.0.0 → janito-2.1.0}/janito/llm/provider.py +0 -0
  105. {janito-2.0.0 → janito-2.1.0}/janito/perf_singleton.py +0 -0
  106. {janito-2.0.0 → janito-2.1.0}/janito/performance_collector.py +0 -0
  107. {janito-2.0.0 → janito-2.1.0}/janito/platform_discovery.py +0 -0
  108. {janito-2.0.0 → janito-2.1.0}/janito/provider_config.py +0 -0
  109. {janito-2.0.0 → janito-2.1.0}/janito/provider_registry.py +0 -0
  110. {janito-2.0.0 → janito-2.1.0}/janito/providers/__init__.py +0 -0
  111. {janito-2.0.0 → janito-2.1.0}/janito/providers/anthropic/model_info.py +0 -0
  112. {janito-2.0.0 → janito-2.1.0}/janito/providers/anthropic/provider.py +0 -0
  113. {janito-2.0.0 → janito-2.1.0}/janito/providers/azure_openai/model_info.py +0 -0
  114. {janito-2.0.0 → janito-2.1.0}/janito/providers/azure_openai/provider.py +0 -0
  115. {janito-2.0.0 → janito-2.1.0}/janito/providers/deepseek/__init__.py +0 -0
  116. {janito-2.0.0 → janito-2.1.0}/janito/providers/deepseek/model_info.py +0 -0
  117. {janito-2.0.0 → janito-2.1.0}/janito/providers/deepseek/provider.py +0 -0
  118. {janito-2.0.0 → janito-2.1.0}/janito/providers/google/__init__.py +0 -0
  119. {janito-2.0.0 → janito-2.1.0}/janito/providers/google/model_info.py +0 -0
  120. {janito-2.0.0 → janito-2.1.0}/janito/providers/google/provider.py +0 -0
  121. {janito-2.0.0 → janito-2.1.0}/janito/providers/mistralai/model_info.py +0 -0
  122. {janito-2.0.0 → janito-2.1.0}/janito/providers/mistralai/provider.py +0 -0
  123. {janito-2.0.0 → janito-2.1.0}/janito/providers/openai/__init__.py +0 -0
  124. {janito-2.0.0 → janito-2.1.0}/janito/providers/openai/model_info.py +0 -0
  125. {janito-2.0.0 → janito-2.1.0}/janito/providers/openai/provider.py +0 -0
  126. {janito-2.0.0 → janito-2.1.0}/janito/providers/openai/schema_generator.py +0 -0
  127. {janito-2.0.0 → janito-2.1.0}/janito/providers/provider_static_info.py +0 -0
  128. {janito-2.0.0 → janito-2.1.0}/janito/providers/registry.py +0 -0
  129. {janito-2.0.0 → janito-2.1.0}/janito/report_events.py +0 -0
  130. {janito-2.0.0 → janito-2.1.0}/janito/termweb/app.py +0 -0
  131. {janito-2.0.0 → janito-2.1.0}/janito/tools/__init__.py +0 -0
  132. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/__init__.py +0 -0
  133. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/adapter.py +0 -0
  134. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/ask_user.py +0 -0
  135. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/copy_file.py +0 -0
  136. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/create_directory.py +0 -0
  137. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/create_file.py +0 -0
  138. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/delete_text_in_file.py +0 -0
  139. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/fetch_url.py +0 -0
  140. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/find_files.py +0 -0
  141. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/get_file_outline/__init__.py +0 -0
  142. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/get_file_outline/markdown_outline.py +0 -0
  143. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/get_file_outline/python_outline.py +0 -0
  144. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/get_file_outline/python_outline_v2.py +0 -0
  145. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/get_file_outline/search_outline.py +0 -0
  146. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/move_file.py +0 -0
  147. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/open_url.py +0 -0
  148. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/python_code_run.py +0 -0
  149. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/python_command_run.py +0 -0
  150. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/python_file_run.py +0 -0
  151. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/remove_directory.py +0 -0
  152. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/remove_file.py +0 -0
  153. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/replace_text_in_file.py +0 -0
  154. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/run_bash_command.py +0 -0
  155. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/run_powershell_command.py +0 -0
  156. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/search_text/__init__.py +0 -0
  157. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/search_text/core.py +0 -0
  158. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/search_text/match_lines.py +0 -0
  159. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/search_text/pattern_utils.py +0 -0
  160. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/search_text/traverse_directory.py +0 -0
  161. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/validate_file_syntax/__init__.py +0 -0
  162. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/validate_file_syntax/core.py +0 -0
  163. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/validate_file_syntax/css_validator.py +0 -0
  164. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/validate_file_syntax/html_validator.py +0 -0
  165. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/validate_file_syntax/js_validator.py +0 -0
  166. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/validate_file_syntax/json_validator.py +0 -0
  167. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/validate_file_syntax/markdown_validator.py +0 -0
  168. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/validate_file_syntax/ps1_validator.py +0 -0
  169. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/validate_file_syntax/python_validator.py +0 -0
  170. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/validate_file_syntax/xml_validator.py +0 -0
  171. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/validate_file_syntax/yaml_validator.py +0 -0
  172. {janito-2.0.0 → janito-2.1.0}/janito/tools/adapters/local/view_file.py +0 -0
  173. {janito-2.0.0 → janito-2.1.0}/janito/tools/inspect_registry.py +0 -0
  174. {janito-2.0.0 → janito-2.1.0}/janito/tools/tool_base.py +0 -0
  175. {janito-2.0.0 → janito-2.1.0}/janito/tools/tool_events.py +0 -0
  176. {janito-2.0.0 → janito-2.1.0}/janito/tools/tool_run_exception.py +0 -0
  177. {janito-2.0.0 → janito-2.1.0}/janito/tools/tool_use_tracker.py +0 -0
  178. {janito-2.0.0 → janito-2.1.0}/janito/tools/tool_utils.py +0 -0
  179. {janito-2.0.0 → janito-2.1.0}/janito/tools/tools_adapter.py +0 -0
  180. {janito-2.0.0 → janito-2.1.0}/janito/tools/tools_schema.py +0 -0
  181. {janito-2.0.0 → janito-2.1.0}/janito/utils.py +0 -0
  182. {janito-2.0.0 → janito-2.1.0}/janito.egg-info/dependency_links.txt +0 -0
  183. {janito-2.0.0 → janito-2.1.0}/janito.egg-info/entry_points.txt +0 -0
  184. {janito-2.0.0 → janito-2.1.0}/janito.egg-info/top_level.txt +0 -0
  185. {janito-2.0.0 → janito-2.1.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janito
3
- Version: 2.0.0
3
+ Version: 2.1.0
4
4
  Summary: A new Python package called janito.
5
5
  Author-email: Your Name <your.email@example.com>
6
6
  Project-URL: Homepage, https://github.com/janito-dev/janito
@@ -3,4 +3,4 @@ janito: A Python package for managing and interacting with Large Language Model
3
3
  Provides a CLI for credential management and an extensible driver system for LLMs.
4
4
  """
5
5
 
6
- __version__ = "2.0.0"
6
+ __version__ = "2.1.0"
@@ -9,6 +9,7 @@ from .find_files import FindFilesTool
9
9
  from .view_file import ViewFileTool
10
10
  from .move_file import MoveFileTool
11
11
  from .open_url import OpenUrlTool
12
+ from .open_html_in_browser import OpenHtmlInBrowserTool
12
13
  from .python_code_run import PythonCodeRunTool
13
14
  from .python_command_run import PythonCommandRunTool
14
15
  from .python_file_run import PythonFileRunTool
@@ -36,6 +37,7 @@ for tool_class in [
36
37
  ViewFileTool,
37
38
  MoveFileTool,
38
39
  OpenUrlTool,
40
+ OpenHtmlInBrowserTool,
39
41
  PythonCodeRunTool,
40
42
  PythonCommandRunTool,
41
43
  PythonFileRunTool,
@@ -52,3 +54,4 @@ for tool_class in [
52
54
  local_tools_adapter.register_tool(tool_class)
53
55
 
54
56
  # DEBUG: Print registered tools at startup
57
+
@@ -88,7 +88,7 @@ class GetFileOutlineTool(ToolBase):
88
88
  except Exception as e:
89
89
  self.report_error(
90
90
  tr("❌ Error reading file: {error}", error=e),
91
- ReportAction.OUTLINE,
91
+ ReportAction.READ,
92
92
  )
93
93
  return tr("Error reading file: {error}", error=e)
94
94
 
@@ -146,6 +146,6 @@ class GetFileOutlineTool(ToolBase):
146
146
  except Exception as e:
147
147
  self.report_error(
148
148
  tr("❌ Error reading file: {error}", error=e),
149
- ReportAction.OUTLINE,
149
+ ReportAction.READ,
150
150
  )
151
151
  return tr("Error reading file: {error}", error=e)
@@ -0,0 +1,43 @@
1
+ from janito.tools.tool_base import ToolBase
2
+ from janito.tools.adapters.local.adapter import register_local_tool
3
+ from janito.report_events import ReportAction
4
+ import webbrowser
5
+ import os
6
+
7
+ @register_local_tool
8
+ class OpenHtmlInBrowserTool(ToolBase):
9
+ """
10
+ Opens an HTML file in the default web browser.
11
+
12
+ Args:
13
+ file_path (str): The path to the HTML file to open.
14
+
15
+ Returns:
16
+ str: Status message indicating the result. Example:
17
+ - "✅ Successfully opened the file in the default browser."
18
+ - "⚠️ Error: The specified file does not exist."
19
+ - "⚠️ Error: The specified file is not an HTML file."
20
+ """
21
+
22
+ tool_name = "open_html_in_browser"
23
+
24
+ def run(self, file_path: str) -> str:
25
+ from janito.i18n import tr
26
+ disp_path = file_path
27
+ self.report_action(tr("📖 Opening HTML file: '{disp_path}'", disp_path=disp_path), ReportAction.EXECUTE)
28
+
29
+ if not os.path.exists(file_path):
30
+ self.report_error(tr("⚠️ The specified file does not exist: '{disp_path}'", disp_path=disp_path))
31
+ return "⚠️ The specified file does not exist."
32
+
33
+ if not file_path.lower().endswith('.html'):
34
+ self.report_error(tr("⚠️ The specified file is not an HTML file: '{disp_path}'", disp_path=disp_path))
35
+ return "⚠️ The specified file is not an HTML file."
36
+
37
+ try:
38
+ webbrowser.open(f"file://{os.path.abspath(file_path)}")
39
+ self.report_success(tr("✅ Ok"))
40
+ return "✅ Ok"
41
+ except Exception as e:
42
+ self.report_error(tr("⚠️ Failed to open the HTML file: {err}", err=str(e)))
43
+ return f"⚠️ Failed to open the file: {str(e)}"
@@ -1,4 +1,4 @@
1
1
  # janito/version.py
2
2
  """Single source of truth for the janito package version."""
3
3
 
4
- __version__ = "2.0.0"
4
+ __version__ = "2.1.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janito
3
- Version: 2.0.0
3
+ Version: 2.1.0
4
4
  Summary: A new Python package called janito.
5
5
  Author-email: Your Name <your.email@example.com>
6
6
  Project-URL: Homepage, https://github.com/janito-dev/janito
@@ -148,6 +148,7 @@ janito/tools/adapters/local/delete_text_in_file.py
148
148
  janito/tools/adapters/local/fetch_url.py
149
149
  janito/tools/adapters/local/find_files.py
150
150
  janito/tools/adapters/local/move_file.py
151
+ janito/tools/adapters/local/open_html_in_browser.py
151
152
  janito/tools/adapters/local/open_url.py
152
153
  janito/tools/adapters/local/python_code_run.py
153
154
  janito/tools/adapters/local/python_command_run.py
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "janito"
7
- version = "2.0.0"
7
+ version = "2.1.0"
8
8
  description = "A new Python package called janito."
9
9
  authors = [
10
10
  { name="Your Name", email="your.email@example.com" }
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
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