diff --git a/keepercommander/commands/pam_import/base.py b/keepercommander/commands/pam_import/base.py index e5cf37835..16cbf2214 100644 --- a/keepercommander/commands/pam_import/base.py +++ b/keepercommander/commands/pam_import/base.py @@ -2226,7 +2226,7 @@ def load(cls, data: Union[str, dict]): # disable_dynamic_resizing ? "" : "display-update" val = utils.value_to_boolean(data.get("disable_dynamic_resizing", None)) - if val is not True: obj.resizeMethod = "display-update" + obj.resizeMethod = "" if val is True else "display-update" return obj @@ -2272,7 +2272,7 @@ def to_record_dict(self): kvp["enableWallpaper"] = self.enableWallpaper # populated on load - "resizeMethod": disable_dynamic_resizing ? "" : "display-update" - if str(self.resizeMethod) == "display-update": + if isinstance(self.resizeMethod, str): kvp["resizeMethod"] = self.resizeMethod if isinstance(self.sftp, SFTPConnectionSettings): diff --git a/keepercommander/commands/record.py b/keepercommander/commands/record.py index 2091c55c5..972680f41 100644 --- a/keepercommander/commands/record.py +++ b/keepercommander/commands/record.py @@ -732,14 +732,28 @@ def _format_expiration(expiration_value): if total_matches == 1: # If only one match, display it directly if len(matched_records) == 1: - return self.execute(params, uid=matched_records[0].record_uid, format=fmt, unmask=kwargs.get('unmask'), legacy=kwargs.get('legacy')) + return self.execute( + params, + uid=matched_records[0].record_uid, + format=fmt, + unmask=kwargs.get('unmask'), + legacy=kwargs.get('legacy'), + include_dag=kwargs.get('include_dag') + ) elif len(matched_folders) == 1: uid = matched_folders[0].uid f = params.folder_cache[uid] sf_uid = f.uid if isinstance(f, subfolder.SharedFolderNode) else \ (f.shared_folder_uid if isinstance(f, subfolder.SharedFolderFolderNode) else None) if sf_uid and api.is_shared_folder(params, sf_uid): - return self.execute(params, uid=sf_uid, format=fmt, unmask=kwargs.get('unmask'), legacy=kwargs.get('legacy')) + return self.execute( + params, + uid=sf_uid, + format=fmt, + unmask=kwargs.get('unmask'), + legacy=kwargs.get('legacy'), + include_dag=kwargs.get('include_dag') + ) if fmt == 'json': fo = { 'folder_uid': f.uid, diff --git a/keepercommander/commands/record_edit.py b/keepercommander/commands/record_edit.py index bb94eb341..6889f83f5 100644 --- a/keepercommander/commands/record_edit.py +++ b/keepercommander/commands/record_edit.py @@ -670,7 +670,7 @@ def assign_typed_fields(self, record, fields): value = vault.TypedField.import_schedule_field(parsed_field.value) else: self.on_warning(f'Unsupported field type: {record_field.type}') - if value: + if value is not None: if isinstance(value, list): record_field.value.clear() record_field.value.extend(value) diff --git a/keepercommander/vault.py b/keepercommander/vault.py index bbe688af7..0fa854f82 100644 --- a/keepercommander/vault.py +++ b/keepercommander/vault.py @@ -327,7 +327,7 @@ def new_field(cls, field_type, field_value, field_label=None): f_type = sanitize_str_field_value(field_type) or 'text' # TODO check field value if not isinstance(field_value, list): - if field_value: + if field_value is not None: field_value = [field_value] else: field_value = [] diff --git a/keepercommander/vault_extensions.py b/keepercommander/vault_extensions.py index e974755cd..7666a9a93 100644 --- a/keepercommander/vault_extensions.py +++ b/keepercommander/vault_extensions.py @@ -401,7 +401,7 @@ def extract_typed_field(field): # type: (vault.TypedField) -> dict if rt.type in record_types.FieldTypes: ft = record_types.FieldTypes[rt.type] default_value = ft.value - if field.value: + if field.value is not None: values = field.value if isinstance(values, (str, int, dict)): values = [values] @@ -410,7 +410,7 @@ def extract_typed_field(field): # type: (vault.TypedField) -> dict if isinstance(values, list): for value in values: - if not value: + if value is None: continue if default_value is not None: if not isinstance(value, type(default_value)):