zhaoyongjie commented on code in PR #27145: URL: https://github.com/apache/superset/pull/27145#discussion_r1499170568
########## superset/utils/date_parser.py: ########## @@ -263,6 +264,47 @@ def get_since_until( # pylint: disable=too-many-arguments,too-many-locals,too-m _since = _since if _since is None else (_since - time_delta) _until = _until if _until is None else (_until - time_delta) + if instant_time_comparison_range: + # This is only set using the new time comparison controls + # that is made available in some plugins behind the experimental + # feature flag. + # pylint: disable=import-outside-toplevel + from superset import feature_flag_manager + + if feature_flag_manager.is_feature_enabled("CHART_PLUGINS_EXPERIMENTAL"): + time_unit = "" + delta_in_days = None + if instant_time_comparison_range == InstantTimeComparison.YEAR: + time_unit = "YEAR" + elif instant_time_comparison_range == InstantTimeComparison.MONTH: + time_unit = "MONTH" + elif instant_time_comparison_range == InstantTimeComparison.WEEK: + time_unit = "WEEK" + elif instant_time_comparison_range == InstantTimeComparison.INHERITED: + delta_in_days = (_until - _since).days if _since and _until else None Review Comment: I just understood what is "inherited" meaning, which is date time difference between since and until. So, for more general use we might create a new function in our custom date time expression e.g. `DATEDIFF([since], [until], [unit])`. Then we could generate an expression in frontend like below: `DATEADD(DATETIME(...), -DATEDIFF(..., ..., DAY), DAY) : DATEADD(DATETIME(...), -DATEDIFF(..., ..., DAY), DAY)` After that, we can move all of the backend hard-code into frontend. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For additional commands, e-mail: notifications-h...@superset.apache.org