Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions openeo_plugin/gui/browser/OpenEOStacAssetItem.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from qgis.core import QgsCoordinateTransformContext
from qgis.core import QgsApplication

from .util import getSeparator
from .util import getSeparator, downloadFolder
from ...utils.filetypes import MEDIATYPES, EXTENSIONS
from ..directory_dialog import DirectoryDialog
from ...utils.downloadTask import DownloadAssetTask
Expand Down Expand Up @@ -203,8 +203,7 @@ def resolveUrl(self):
return href

def download(self):
path = self.downloadFolder()
self.queueDownloadTask(path)
self.queueDownloadTask(downloadFolder())

def downloadAsset(self, dir=None):
href = self.resolveUrl()
Expand All @@ -214,7 +213,7 @@ def downloadAsset(self, dir=None):
"Asset is missing 'href' and cannot be downloaded."
)

dir = Path(dir) if dir else self.downloadFolder()
dir = Path(dir) if dir else downloadFolder()

local = self.asset.get("file:local_path")
if local:
Expand Down Expand Up @@ -243,11 +242,8 @@ def downloadAsset(self, dir=None):

return path

def downloadFolder(self):
return Path.home() / "Downloads"

def downloadTo(self):
downloadPath = self.downloadFolder()
downloadPath = downloadFolder()

# prepare file dialog
dlg = DirectoryDialog()
Expand Down
49 changes: 36 additions & 13 deletions openeo_plugin/gui/browser/util.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import datetime
import json
import os
import tempfile
import webbrowser
from pathlib import Path
Expand Down Expand Up @@ -29,14 +30,28 @@ def getSeparator(parent):


def showLogs(logs, title):
showInBrowser(
"logFileView",
{
"logs": logs,
"title": title,
"logTimestamp": str(datetime.datetime.now()),
},
)
try:
showInBrowser(
"logFileView",
{
"logs": logs,
"title": title,
"logTimestamp": str(datetime.datetime.now()),
},
)
except Exception as e:
print(e)


def getTempDir():
if "FLATPAK_SANDBOX_DIR" in os.environ:
flatpak_id = os.environ.get("FLATPAK_ID")
uid = os.getuid()
# The usual path pattern where Flatpak stores persistent data
path = f"/run/user/{uid}/.flatpak/{flatpak_id}/tmp"
return path
else:
return tempfile.gettempdir()


def showInBrowser(file, vars):
Expand All @@ -49,9 +64,17 @@ def showInBrowser(file, vars):
value = json.dumps(value)
logHTML = logHTML.replace(f"<!-- {key} -->", value)

fh, path = tempfile.mkstemp(suffix=".html")
url = "file://" + path
with open(path, "w") as fp:
fp.write(logHTML)
fh, path = tempfile.mkstemp(suffix=".html", text=True)
with open(path, "w") as tmpfile:
tmpfile.write(logHTML)

rel_to_tmp = os.path.relpath(path, "/tmp")
path = os.path.join(getTempDir(), rel_to_tmp)
path = Path(path).as_uri()
webbrowser.open_new(path)


webbrowser.open_new(url)
def downloadFolder():
p = Path.home() / "Downloads"
p.mkdir(parents=True, exist_ok=True)
return p