ソースを参照

Fixes #4222: Escape double quotes on encapsulated values during CSV export

Jeremy Stretch 6 年 前
コミット
76138f3080
2 ファイル変更3 行追加1 行削除
  1. 1 0
      docs/release-notes/version-2.7.md
  2. 2 1
      netbox/utilities/utils.py

+ 1 - 0
docs/release-notes/version-2.7.md

@@ -7,6 +7,7 @@
 ## Bug Fixes
 
 * [#4221](https://github.com/netbox-community/netbox/issues/4221) - Fix exception when deleting a device with interface connections when an interfaces webhook is defined
+* [#4222](https://github.com/netbox-community/netbox/issues/4222) - Escape double quotes on encapsulated values during CSV export
 * [#4224](https://github.com/netbox-community/netbox/issues/4224) - Fix display of rear device image if front image is not defined 
 * [#4228](https://github.com/netbox-community/netbox/issues/4228) - Improve fit of device images in rack elevations
 * [#4230](https://github.com/netbox-community/netbox/issues/4230) - Fix rack units filtering on elevation endpoint

+ 2 - 1
netbox/utilities/utils.py

@@ -31,8 +31,9 @@ def csv_format(data):
         if not isinstance(value, str):
             value = '{}'.format(value)
 
-        # Double-quote the value if it contains a comma
+        # Double-quote the value if it contains a comma or line break
         if ',' in value or '\n' in value:
+            value = value.replace('"', '""')  # Escape double-quotes
             csv.append('"{}"'.format(value))
         else:
             csv.append('{}'.format(value))