Skip to content

Commit

Permalink
Merge pull request #37 from OpenAstroTech/bugfix/js/33-34-fix-misc-wi…
Browse files Browse the repository at this point in the history
…ndows-problems

Bugfix/js/33 34 fix misc windows problems
  • Loading branch information
julianneswinoga authored Nov 26, 2023
2 parents 1291a6b + 1189c51 commit 0aa82a6
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions OATFWGUI/gui_logic.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import zipfile
import json
import shutil
import os
import stat
from typing import List, Optional
from pathlib import Path

Expand Down Expand Up @@ -64,11 +66,17 @@ def download_fw(zip_url: str) -> Path:


def extract_fw(zipfile_name: Path) -> Path:
def remove_readonly(func, path, excinfo):
# Windows has a problem with deleting some git files
log.debug(f'Problem removing {path}, attempting to make writable')
os.chmod(path, stat.S_IWRITE)
func(path)

# For Windows path length reasons, keep the firmware folder name short
fw_dir = Path(get_install_dir(), 'OATFW')
if fw_dir.exists():
log.info(f'Removing previously downloaded FW from {fw_dir}')
shutil.rmtree(fw_dir, ignore_errors=True)
shutil.rmtree(fw_dir, onerror=remove_readonly)

log.info(f'Extracting FW from {zipfile_name}')
with zipfile.ZipFile(zipfile_name, 'r') as zip_ref:
Expand Down Expand Up @@ -228,7 +236,7 @@ def build_fw(self):
self.main_app.wSpn_build.setState(BusyIndicatorState.BUSY)

config_dest_path = str(Path(self.logic_state.fw_dir, 'Configuration_local.hpp').resolve())
if config_dest_path != self.logic_state.config_file_path:
if Path(config_dest_path) != Path(self.logic_state.config_file_path):
if QFile.exists(config_dest_path):
log.warning(f'Deleting existing configuration file {config_dest_path}')
QFile.remove(config_dest_path)
Expand Down

0 comments on commit 0aa82a6

Please sign in to comment.