diff --git a/redcap/methods/records.py b/redcap/methods/records.py index 155b454..1b96df4 100644 --- a/redcap/methods/records.py +++ b/redcap/methods/records.py @@ -27,11 +27,13 @@ def export_records( record_type: Literal["flat", "eav"] = "flat", export_survey_fields: bool = False, export_data_access_groups: bool = False, - df_kwargs: Optional[Dict[str, Any]] = None, export_checkbox_labels: bool = False, filter_logic: Optional[str] = None, date_begin: Optional[datetime] = None, date_end: Optional[datetime] = None, + decimal_character: Optional[Literal[",", "."]] = None, + export_blank_for_gray_form_status: Optional[bool] = None, + df_kwargs: Optional[Dict[str, Any]] = None, ) -> Json: ... @@ -49,11 +51,13 @@ def export_records( record_type: Literal["flat", "eav"] = "flat", export_survey_fields: bool = False, export_data_access_groups: bool = False, - df_kwargs: Optional[Dict[str, Any]] = None, export_checkbox_labels: bool = False, filter_logic: Optional[str] = None, date_begin: Optional[datetime] = None, date_end: Optional[datetime] = None, + decimal_character: Optional[Literal[",", "."]] = None, + export_blank_for_gray_form_status: Optional[bool] = None, + df_kwargs: Optional[Dict[str, Any]] = None, ) -> str: ... @@ -71,11 +75,13 @@ def export_records( record_type: Literal["flat", "eav"] = "flat", export_survey_fields: bool = False, export_data_access_groups: bool = False, - df_kwargs: Optional[Dict[str, Any]] = None, export_checkbox_labels: bool = False, filter_logic: Optional[str] = None, date_begin: Optional[datetime] = None, date_end: Optional[datetime] = None, + decimal_character: Optional[Literal[",", "."]] = None, + export_blank_for_gray_form_status: Optional[bool] = None, + df_kwargs: Optional[Dict[str, Any]] = None, ) -> "pd.DataFrame": ... @@ -92,11 +98,13 @@ def export_records( record_type: Literal["flat", "eav"] = "flat", export_survey_fields: bool = False, export_data_access_groups: bool = False, - df_kwargs: Optional[Dict[str, Any]] = None, export_checkbox_labels: bool = False, filter_logic: Optional[str] = None, date_begin: Optional[datetime] = None, date_end: Optional[datetime] = None, + decimal_character: Optional[Literal[",", "."]] = None, + export_blank_for_gray_form_status: Optional[bool] = None, + df_kwargs: Optional[Dict[str, Any]] = None, ): # pylint: disable=line-too-long """ @@ -146,10 +154,6 @@ def export_records( being used to make the API request is *not* in a data access group. If the user is in a group, then this flag will revert to its default value. - df_kwargs: - Passed to `pandas.read_csv` to control construction of - returned DataFrame. - By default, `{'index_col': self.def_field}` export_checkbox_labels: Specify whether to export checkbox values as their label on export. @@ -159,7 +163,15 @@ def export_records( Filter on records created after a date date_end: Filter on records created before a date - + decimal_character: + Force all numbers into same decimal format + export_blank_for_gray_form_status: + Whether or not to export blank values for instrument complete status fields + that have a gray status icon + df_kwargs: + Passed to `pandas.read_csv` to control construction of + returned DataFrame. + By default, `{'index_col': self.def_field}` Returns: Union[List[Dict[str, Any]], str, pd.DataFrame]: Exported data @@ -211,6 +223,9 @@ def export_records( export_survey_fields, export_data_access_groups, export_checkbox_labels, + filter_logic, + decimal_character, + export_blank_for_gray_form_status, ) str_keys = ( @@ -224,6 +239,9 @@ def export_records( "exportSurveyFields", "exportDataAccessGroups", "exportCheckboxLabel", + "filterLogic", + "decimalCharacter", + "exportBlankForGrayFormStatus", ) for key, data in zip(str_keys, keys_to_add): @@ -240,9 +258,6 @@ def export_records( if date_end: payload["dateRangeEnd"] = date_end.strftime("%Y-%m-%d %H:%M:%S") - if filter_logic: - payload["filterLogic"] = filter_logic - return_type = self._lookup_return_type(format_type, request_type="export") response = self._call_api(payload, return_type)