Skip to content

Commit 2e29316

Browse files
committed
Add save_data_as() method
1 parent 4b49534 commit 2e29316

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

seleniumbase/fixtures/base_case.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1629,6 +1629,14 @@ def save_file_as(self, file_url, new_file_name, destination_folder=None):
16291629
page_utils._download_file_to(
16301630
file_url, destination_folder, new_file_name)
16311631

1632+
def save_data_as(self, data, file_name, destination_folder=None):
1633+
""" Saves the data specified to a file of the name specified.
1634+
If no destination folder is specified, the default one is used.
1635+
(The default downloads folder = "./downloaded_files") """
1636+
if not destination_folder:
1637+
destination_folder = constants.Files.DOWNLOADS_FOLDER
1638+
page_utils._save_data_as(data, destination_folder, file_name)
1639+
16321640
def get_downloads_folder(self):
16331641
""" Returns the OS path of the Downloads Folder.
16341642
(Works with Chrome and Firefox only, for now.) """

seleniumbase/fixtures/page_utils.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"""
22
This module contains useful utility methods.
33
"""
4+
import codecs
45
import re
56
import requests
67

@@ -76,6 +77,12 @@ def _download_file_to(file_url, destination_folder, new_file_name=None):
7677
code.write(r.content)
7778

7879

80+
def _save_data_as(data, destination_folder, file_name):
81+
out_file = codecs.open(destination_folder + '/' + file_name, "w+")
82+
out_file.writelines(data)
83+
out_file.close()
84+
85+
7986
def _jq_format(code):
8087
"""
8188
DEPRECATED - Use re.escape() instead, which performs the intended action.

0 commit comments

Comments
 (0)