{'call': , 'flags': {}, 'format': , 'format_value': , 'date_format': 'yyyy-mm-dd', 'time_format': 'HH:mm', 'format_date': , 'form_dict': {}, 'bold': , 'copy_doc': , 'errprint': , 'qb': , 'get_meta': , 'new_doc': , 'get_doc': , 'get_mapped_doc': , 'get_last_doc': , 'get_cached_doc': , 'get_list': , 'get_all': , 'get_system_settings': , 'rename_doc': , 'delete_doc': , 'utils': {'DATE_FORMAT': '%Y-%m-%d', 'TIME_FORMAT': '%H:%M:%S.%f', 'DATETIME_FORMAT': '%Y-%m-%d %H:%M:%S.%f', 'is_invalid_date_string': , 'getdate': , 'get_datetime': , 'get_timedelta': , 'to_timedelta': , 'add_to_date': , 'add_days': , 'add_months': , 'add_years': , 'date_diff': , 'month_diff': , 'time_diff': , 'time_diff_in_seconds': , 'time_diff_in_hours': , 'now_datetime': , 'get_timestamp': , 'get_eta': , 'get_system_timezone': , 'get_datetime_in_timezone': , 'convert_utc_to_system_timezone': , 'now': , 'nowdate': , 'today': , 'get_abbr': , 'nowtime': , 'get_first_day': , 'get_quarter_start': , 'get_first_day_of_week': , 'get_year_start': , 'get_last_day_of_week': , 'get_last_day': , 'get_quarter_ending': , 'get_time': , 'get_datetime_str': , 'get_date_str': , 'get_time_str': , 'get_user_date_format': , 'get_user_time_format': , 'format_date': , 'formatdate': , 'format_time': , 'format_datetime': , 'format_duration': , 'get_weekdays': , 'get_weekday': , 'get_month': , 'get_timespan_date_range': , 'global_date_format': , 'has_common': , 'flt': , 'cint': , 'floor': , 'ceil': , 'cstr': , 'rounded': , 'remainder': , 'safe_div': , 'round_based_on_smallest_currency_fraction': , 'encode': , 'parse_val': , 'fmt_money': , 'get_number_format_info': , 'money_in_words': , 'in_words': , 'is_html': , 'is_image': , 'get_thumbnail_base64_for_image': , 'image_to_base64': , 'pdf_to_base64': , 'strip_html': , 'escape_html': , 'pretty_date': , 'comma_or': , 'comma_and': , 'comma_sep': , 'new_line_sep': , 'filter_strip_join': , 'get_url': , 'get_host_name_from_request': , 'url_contains_port': , 'get_host_name': , 'get_link_to_form': , 'get_link_to_report': , 'get_absolute_url': , 'get_url_to_form': , 'get_url_to_list': , 'get_url_to_report': , 'get_url_to_report_with_filters': , 'evaluate_filters': , 'compare': , 'get_filter': , 'make_filter_tuple': , 'make_filter_dict': , 'sanitize_column': , 'scrub_urls': , 'expand_relative_urls': , 'quoted': , 'quote_urls': , 'unique': , 'strip': , 'to_markdown': , 'md_to_html': , 'markdown': , 'is_subset': , 'generate_hash': , 'sha256_hash': , 'get_user_info_for_avatar': }, 'get_url': , 'render_template': , 'msgprint': , 'throw': , 'sendmail': , 'get_print': , 'attach_print': , 'user': 'Guest', 'get_fullname': , 'get_gravatar': , 'full_name': None, 'request': , 'session': {'user': 'Guest', 'csrf_token': None}, 'make_get_request': , 'make_post_request': , 'make_put_request': , 'make_patch_request': , 'make_delete_request': , 'socketio_port': 9000, 'get_hooks': , 'enqueue': , 'sanitize_html': , 'log_error': , 'log': , 'db': {'get_list': , 'get_all': , 'get_value': >, 'set_value': >, 'get_single_value': >, 'get_default': >, 'exists': >, 'count': >, 'escape': , 'sql': , 'commit': >, 'rollback': >, 'after_commit': , 'before_commit': , 'after_rollback': , 'before_rollback': , 'add_index': >}, 'lang': 'zh', 'NotFound': , 'SiteNotSpecifiedError': , 'UrlSchemeNotSupported': , 'ValidationError': , 'FrappeTypeError': , 'AuthenticationError': , 'SessionExpired': , 'PermissionError': , 'DoesNotExistError': , 'PageDoesNotExistError': , 'NameError': , 'OutgoingEmailError': , 'SessionStopped': , 'UnsupportedMediaType': , 'RequestToken': , 'Redirect': , 'CSRFTokenError': , 'TooManyRequestsError': , 'ImproperDBConfigurationError': , 'DuplicateEntryError': , 'DataError': , 'UnknownDomainError': , 'MappingMismatchError': , 'InvalidStatusError': , 'MandatoryError': , 'NonNegativeError': , 'InvalidSignatureError': , 'RateLimitExceededError': , 'CannotChangeConstantError': , 'CharacterLengthExceededError': , 'UpdateAfterSubmitError': , 'LinkValidationError': , 'CancelledLinkError': , 'DocstatusTransitionError': , 'TimestampMismatchError': , 'EmptyTableError': , 'LinkExistsError': , 'InvalidEmailAddressError': , 'InvalidNameError': , 'InvalidPhoneNumberError': , 'TemplateNotFoundError': , 'UniqueValidationError': , 'AppNotInstalledError': , 'IncorrectSitePath': , 'ImplicitCommitError': , 'RetryBackgroundJobError': , 'DocumentLockedError': , 'CircularLinkingError': , 'SecurityException': , 'InvalidColumnName': , 'IncompatibleApp': , 'InvalidDates': , 'DataTooLongException': , 'FileAlreadyAttachedException': , 'DocumentAlreadyRestored': , 'AttachmentLimitReached': , 'QueryTimeoutError': , 'QueryDeadlockError': , 'InReadOnlyMode': , 'SessionBootFailed': , 'QueueOverloaded': , 'PrintFormatError': , 'TooManyWritesError': , 'InvalidAuthorizationHeader': , 'InvalidAuthorizationPrefix': , 'InvalidAuthorizationToken': , 'InvalidDatabaseFile': , 'ExecutableNotFound': , 'InvalidRoundingMethod': , 'InvalidRemoteException': , 'LinkExpired': , 'CommandFailedError': , 'response': {'docs': []}}