From 9f91acc79e9f2c547a341f4f52205963eaed3a92 Mon Sep 17 00:00:00 2001 From: Ayushsunny Date: Fri, 7 May 2021 19:49:38 +0530 Subject: [PATCH] Move config documentation into docstrings --- docs/Configuration.md | 32 +------------------------------- openwpm/config.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 31 deletions(-) diff --git a/docs/Configuration.md b/docs/Configuration.md index 9945bbccd..51ecfe056 100644 --- a/docs/Configuration.md +++ b/docs/Configuration.md @@ -41,37 +41,7 @@ of configurations of `class`. - [`save_content`](#save_content) -## Platform Configuration Options - -- `data_directory` - - The directory into which screenshots and page dumps will be saved - - [Intended to be removed by #232](https://github.com/mozilla/OpenWPM/issues/232) -- `log_path` -> supported file extensions are `.log` - - The path to the file in which OpenWPM will log. The - directory given will be created if it does not exist. -- `failure_limit` -> has to be either of type `int` or `None` - - The number of command failures the platform will tolerate before raising a - `CommandExecutionError` exception. Otherwise the default is set to 2 x the - number of browsers plus 10. The failure counter is reset at the end of each - successfully completed command sequence. - - For non-blocking command sequences that cause the number of failures to - exceed `failure_limit` the `CommandExecutionError` is raised when - attempting to execute the next command sequence. -- `testing` - - A platform wide flag that can be used to only run certain functionality - while testing. For example, the Javascript instrumentation - [exposes its instrumentation function](https://github.com/mozilla/OpenWPM/blob/91751831647c37b769f0039d99d0a164384c76ae/automation/Extension/firefox/data/content.js#L447-L449) - on the page script global to allow test scripts to instrument objects - on-the-fly. Depending on where you would like to add test functionality, - you may need to propagate the flag. - - This is not something you should enable during normal crawls. -- `process_watchdog` - - It is part of default manager_params. It is set to false by default which can manually be set to true. - - It is used to create another thread that kills off `GeckoDriver` (or `Xvfb`) instances that haven't been spawned by OpenWPM. (GeckoDriver is used by Selenium to control Firefox and Xvfb a "virtual display" so we simulate having graphics when running on a server). -- `memory_watchdog` - - It is part of default manager_params. It is set to false by default which can manually be set to true. - - A watchdog that tries to ensure that no Firefox instance takes up too much memory. It is set to false by default - - It is mostly useful for long running cloud crawls + ## Browser Configuration Options diff --git a/openwpm/config.py b/openwpm/config.py index a74a47f4b..8abb162c9 100644 --- a/openwpm/config.py +++ b/openwpm/config.py @@ -120,15 +120,30 @@ class ManagerParams(DataClassJsonMixin): default=Path.home() / "openwpm", metadata=DCJConfig(encoder=path_to_str, decoder=str_to_path), ) + """The directory into which screenshots and page dumps will be saved""" log_path: Path = field( default=Path.home() / "openwpm" / "openwpm.log", metadata=DCJConfig(encoder=path_to_str, decoder=str_to_path), ) + """The path to the file in which OpenWPM will log. The + directory given will be created if it does not exist.""" testing: bool = False + """A platform wide flag that can be used to only run certain functionality + while testing. For example, the Javascript instrumentation""" memory_watchdog: bool = False + """- It is mostly useful for long running cloud crawls""" process_watchdog: bool = False + """- It is used to create another thread that kills off `GeckoDriver` (or `Xvfb`) instances that haven't been spawned by OpenWPM. (GeckoDriver is used by + Selenium to control Firefox and Xvfb a "virtual display" so we simulate having graphics when running on a server).""" num_browsers: int = 1 _failure_limit: Optional[int] = None + """- The number of command failures the platform will tolerate before raising a + `CommandExecutionError` exception. Otherwise the default is set to 2 x the + number of browsers plus 10. The failure counter is reset at the end of each + successfully completed command sequence. + - For non-blocking command sequences that cause the number of failures to + exceed `failure_limit` the `CommandExecutionError` is raised when + attempting to execute the next command sequence.""" @property def failure_limit(self) -> int: