mirror of https://github.com/apache/superset.git
fix(thumbnails): missing field, logging and new config var (#10562)
* fix(thumbnails): missing field, logging and new config var * deprecate EMAIL_REPORTS_WEBDRIVER * fix after merge and conflicts * fix tests * black
This commit is contained in:
parent
db88cec431
commit
4dd1d1df5e
|
@ -23,6 +23,8 @@ assists people when migrating to a new version.
|
|||
|
||||
## Next
|
||||
|
||||
* [10562](https://github.com/apache/incubator-superset/pull/10562): EMAIL_REPORTS_WEBDRIVER is deprecated use WEBDRIVER_TYPE instead.
|
||||
|
||||
* [10567](https://github.com/apache/incubator-superset/pull/10567): Default WEBDRIVER_OPTION_ARGS are Chrome-specific. If you're using FF, should be `--headless` only
|
||||
|
||||
* [10241](https://github.com/apache/incubator-superset/pull/10241): change on Alpha role, users started to have access to "Annotation Layers", "Css Templates" and "Import Dashboards".
|
||||
|
|
|
@ -86,38 +86,39 @@ class ChartRestApi(BaseSupersetModelRestApi):
|
|||
}
|
||||
class_permission_name = "SliceModelView"
|
||||
show_columns = [
|
||||
"slice_name",
|
||||
"description",
|
||||
"owners.id",
|
||||
"owners.username",
|
||||
"owners.first_name",
|
||||
"owners.last_name",
|
||||
"dashboards.id",
|
||||
"dashboards.dashboard_title",
|
||||
"viz_type",
|
||||
"params",
|
||||
"cache_timeout",
|
||||
"dashboards.dashboard_title",
|
||||
"dashboards.id",
|
||||
"description",
|
||||
"owners.first_name",
|
||||
"owners.id",
|
||||
"owners.last_name",
|
||||
"owners.username",
|
||||
"params",
|
||||
"slice_name",
|
||||
"viz_type",
|
||||
]
|
||||
show_select_columns = show_columns + ["table.id"]
|
||||
list_columns = [
|
||||
"id",
|
||||
"slice_name",
|
||||
"url",
|
||||
"description",
|
||||
"changed_by_name",
|
||||
"changed_by_url",
|
||||
"cache_timeout",
|
||||
"changed_by.first_name",
|
||||
"changed_by.last_name",
|
||||
"changed_on_utc",
|
||||
"changed_by_name",
|
||||
"changed_by_url",
|
||||
"changed_on_delta_humanized",
|
||||
"changed_on_utc",
|
||||
"datasource_id",
|
||||
"datasource_type",
|
||||
"datasource_name_text",
|
||||
"datasource_type",
|
||||
"datasource_url",
|
||||
"description",
|
||||
"id",
|
||||
"params",
|
||||
"slice_name",
|
||||
"table.default_endpoint",
|
||||
"table.table_name",
|
||||
"thumbnail_url",
|
||||
"viz_type",
|
||||
"url",
|
||||
"params",
|
||||
"cache_timeout",
|
||||
"owners.id",
|
||||
|
@ -125,24 +126,24 @@ class ChartRestApi(BaseSupersetModelRestApi):
|
|||
"owners.first_name",
|
||||
"owners.last_name",
|
||||
]
|
||||
list_select_columns = list_columns + ["changed_on", "changed_by_fk"]
|
||||
list_select_columns = list_columns + ["changed_by_fk", "changed_on"]
|
||||
order_columns = [
|
||||
"slice_name",
|
||||
"viz_type",
|
||||
"datasource_name",
|
||||
"datasource_id",
|
||||
"changed_by.first_name",
|
||||
"changed_on_delta_humanized",
|
||||
]
|
||||
search_columns = (
|
||||
"slice_name",
|
||||
"description",
|
||||
"viz_type",
|
||||
"datasource_name",
|
||||
"datasource_id",
|
||||
"datasource_name",
|
||||
"slice_name",
|
||||
"viz_type",
|
||||
]
|
||||
search_columns = [
|
||||
"datasource_id",
|
||||
"datasource_name",
|
||||
"datasource_type",
|
||||
"description",
|
||||
"owners",
|
||||
)
|
||||
"slice_name",
|
||||
"viz_type",
|
||||
]
|
||||
base_order = ("changed_on", "desc")
|
||||
base_filters = [["id", ChartFilter, lambda: []]]
|
||||
search_filters = {"slice_name": [ChartNameOrDescriptionFilter]}
|
||||
|
|
|
@ -795,7 +795,7 @@ EMAIL_REPORTS_SUBJECT_PREFIX = "[Report] "
|
|||
# chrome:
|
||||
# Requires: headless chrome
|
||||
# Limitations: unable to generate screenshots of elements
|
||||
EMAIL_REPORTS_WEBDRIVER = "firefox"
|
||||
WEBDRIVER_TYPE = "firefox"
|
||||
|
||||
# Window size - this will impact the rendering of the data
|
||||
WEBDRIVER_WINDOW = {"dashboard": (1600, 2000), "slice": (3000, 1200)}
|
||||
|
|
|
@ -199,9 +199,7 @@ def _get_url_path(view: str, user_friendly: bool = False, **kwargs: Any) -> str:
|
|||
|
||||
|
||||
def create_webdriver() -> WebDriver:
|
||||
return WebDriverProxy(driver_type=config["EMAIL_REPORTS_WEBDRIVER"]).auth(
|
||||
get_reports_user()
|
||||
)
|
||||
return WebDriverProxy(driver_type=config["WEBDRIVER_TYPE"]).auth(get_reports_user())
|
||||
|
||||
|
||||
def get_reports_user() -> "User":
|
||||
|
|
|
@ -42,7 +42,7 @@ def cache_chart_thumbnail(
|
|||
if not thumbnail_cache:
|
||||
logger.warning("No cache set, refusing to compute")
|
||||
return None
|
||||
logging.info("Caching chart at {url}")
|
||||
logger.info("Caching chart: %s", url)
|
||||
screenshot = ChartScreenshot(url, digest)
|
||||
user = security_manager.find_user(current_app.config["THUMBNAIL_SELENIUM_USER"])
|
||||
screenshot.compute_and_cache(
|
||||
|
|
|
@ -37,7 +37,7 @@ if TYPE_CHECKING:
|
|||
|
||||
|
||||
class BaseScreenshot:
|
||||
driver_type = current_app.config.get("EMAIL_REPORTS_WEBDRIVER", "chrome")
|
||||
driver_type = current_app.config["WEBDRIVER_TYPE"]
|
||||
thumbnail_type: str = ""
|
||||
element: str = ""
|
||||
window_size: WindowSize = (800, 600)
|
||||
|
|
Loading…
Reference in New Issue