diff options
-rw-r--r-- | .github/workflows/pr-management.yml | 10 | ||||
-rw-r--r-- | eos_downloader/download.py | 7 | ||||
-rw-r--r-- | eos_downloader/object_downloader.py | 17 | ||||
-rw-r--r-- | pyproject.toml | 4 |
4 files changed, 26 insertions, 12 deletions
diff --git a/.github/workflows/pr-management.yml b/.github/workflows/pr-management.yml index ec36edc..814bb39 100644 --- a/.github/workflows/pr-management.yml +++ b/.github/workflows/pr-management.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10"] + python-version: ["3.8", "3.9", "3.10", "3.11"] steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 @@ -27,7 +27,7 @@ jobs: needs: [pre-commit] strategy: matrix: - python-version: ["3.8", "3.9", "3.10"] + python-version: ["3.8", "3.9", "3.10", "3.11"] steps: - uses: actions/checkout@v4 @@ -55,7 +55,7 @@ jobs: strategy: matrix: - python: ["3.8", "3.9", "3.10"] + python: ["3.8", "3.9", "3.10", "3.11"] steps: - uses: actions/checkout@v4 @@ -78,7 +78,7 @@ jobs: strategy: matrix: - python: ["3.8", "3.9", "3.10"] + python: ["3.8", "3.9", "3.10", "3.11"] steps: - uses: actions/checkout@v4 @@ -101,7 +101,7 @@ jobs: strategy: matrix: - python: ["3.8", "3.9", "3.10"] + python: ["3.8", "3.9", "3.10", "3.11"] steps: - uses: actions/checkout@v4 diff --git a/eos_downloader/download.py b/eos_downloader/download.py index 2c9576e..df3c381 100644 --- a/eos_downloader/download.py +++ b/eos_downloader/download.py @@ -26,6 +26,11 @@ from rich.progress import ( console = rich.get_console() done_event = Event() +REQUEST_HEADERS = { + "Content-Type": "application/json", + "User-Agent": "Chrome/123.0.0.0", +} + def handle_sigint(signum: Any, frame: Any) -> None: """Progress bar handler""" @@ -64,7 +69,7 @@ class DownloadProgressBar: self, task_id: TaskID, url: str, path: str, block_size: int = 1024 ) -> bool: """Copy data from a url to a local file.""" - response = requests.get(url, stream=True, timeout=5) + response = requests.get(url, stream=True, timeout=5, headers=REQUEST_HEADERS) # This will break if the response doesn't contain content length self.progress.update(task_id, total=int(response.headers["Content-Length"])) with open(path, "wb") as dest_file: diff --git a/eos_downloader/object_downloader.py b/eos_downloader/object_downloader.py index 30cf9df..c107fee 100644 --- a/eos_downloader/object_downloader.py +++ b/eos_downloader/object_downloader.py @@ -40,7 +40,7 @@ from eos_downloader import ( MSG_TOKEN_EXPIRED, ) from eos_downloader.data import DATA_MAPPING -from eos_downloader.download import DownloadProgressBar +from eos_downloader.download import DownloadProgressBar, REQUEST_HEADERS # logger = logging.getLogger(__name__) @@ -263,7 +263,10 @@ class ObjectDownloader: self.authenticate() jsonpost = {"sessionCode": self.session_id} result = requests.post( - ARISTA_SOFTWARE_FOLDER_TREE, data=json.dumps(jsonpost), timeout=self.timeout + ARISTA_SOFTWARE_FOLDER_TREE, + data=json.dumps(jsonpost), + timeout=self.timeout, + headers=REQUEST_HEADERS, ) try: folder_tree = result.json()["data"]["xml"] @@ -332,7 +335,10 @@ class ObjectDownloader: self.authenticate() jsonpost = {"sessionCode": self.session_id, "filePath": remote_file_path} result = requests.post( - ARISTA_DOWNLOAD_URL, data=json.dumps(jsonpost), timeout=self.timeout + ARISTA_DOWNLOAD_URL, + data=json.dumps(jsonpost), + timeout=self.timeout, + headers=REQUEST_HEADERS, ) if "data" in result.json() and "url" in result.json()["data"]: # logger.debug('URL to download file is: {}', result.json()) @@ -421,7 +427,10 @@ class ObjectDownloader: jsonpost = {"accessToken": credentials} result = requests.post( - session_code_url, data=json.dumps(jsonpost), timeout=self.timeout + session_code_url, + data=json.dumps(jsonpost), + timeout=self.timeout, + headers=REQUEST_HEADERS, ) if result.json()["status"]["message"] in [ diff --git a/pyproject.toml b/pyproject.toml index f125def..b06934a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" [project] name = "eos_downloader" -version = "v0.10.0" +version = "v0.10.1" readme = "README.md" authors = [{ name = "Thomas Grimonet", email = "thomas.grimonet@gmail.com" }] maintainers = [ @@ -94,7 +94,7 @@ namespaces = false # Version ################################ [tool.bumpver] -current_version = "0.10.0" +current_version = "0.10.1" version_pattern = "MAJOR.MINOR.PATCH" commit_message = "bump: Version {old_version} -> {new_version}" commit = true |