Use XDG/Flatpak standard directories for data storage
- Update history_manager to use GLib.get_user_config_dir()
- Update project_manager to use GLib.get_user_data_dir()
- Remove old filesystem permission from Flatpak manifest
- Fix Flatpak manifest: runtime version 49→47, correct git source URL
Data now stored in:
- Flatpak: ~/.var/app/cz.vesp.roster/{config,data}/cz.vesp.roster/
- Native: ~/.{config,local/share}/cz.vesp.roster/
This commit is contained in:
parent
7a45c4d576
commit
16b746adfa
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"id" : "cz.vesp.roster",
|
"id" : "cz.vesp.roster",
|
||||||
"runtime" : "org.gnome.Platform",
|
"runtime" : "org.gnome.Platform",
|
||||||
"runtime-version" : "master",
|
"runtime-version" : "47",
|
||||||
"sdk" : "org.gnome.Sdk",
|
"sdk" : "org.gnome.Sdk",
|
||||||
"command" : "roster",
|
"command" : "roster",
|
||||||
"finish-args" : [
|
"finish-args" : [
|
||||||
@ -9,8 +9,7 @@
|
|||||||
"--share=ipc",
|
"--share=ipc",
|
||||||
"--socket=fallback-x11",
|
"--socket=fallback-x11",
|
||||||
"--device=dri",
|
"--device=dri",
|
||||||
"--socket=wayland",
|
"--socket=wayland"
|
||||||
"--filesystem=xdg-config/roster:create"
|
|
||||||
],
|
],
|
||||||
"cleanup" : [
|
"cleanup" : [
|
||||||
"/include",
|
"/include",
|
||||||
@ -43,7 +42,7 @@
|
|||||||
"sources" : [
|
"sources" : [
|
||||||
{
|
{
|
||||||
"type" : "git",
|
"type" : "git",
|
||||||
"url" : "file:///home/pavelb/GnomeBuilderProjects"
|
"url" : "file:///home/pavelb/GnomeBuilderProjects/Roster"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"config-opts" : [
|
"config-opts" : [
|
||||||
|
|||||||
@ -21,6 +21,9 @@ import json
|
|||||||
import os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List
|
from typing import List
|
||||||
|
import gi
|
||||||
|
gi.require_version('GLib', '2.0')
|
||||||
|
from gi.repository import GLib
|
||||||
from .models import HistoryEntry
|
from .models import HistoryEntry
|
||||||
|
|
||||||
|
|
||||||
@ -28,7 +31,10 @@ class HistoryManager:
|
|||||||
"""Manages request history persistence to JSON file."""
|
"""Manages request history persistence to JSON file."""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.config_dir = Path.home() / '.config' / 'roster'
|
# Use XDG config directory (works for both Flatpak and native)
|
||||||
|
# Flatpak: ~/.var/app/cz.vesp.roster/config/cz.vesp.roster
|
||||||
|
# Native: ~/.config/cz.vesp.roster
|
||||||
|
self.config_dir = Path(GLib.get_user_config_dir()) / 'cz.vesp.roster'
|
||||||
self.history_file = self.config_dir / 'history.json'
|
self.history_file = self.config_dir / 'history.json'
|
||||||
self._ensure_config_dir()
|
self._ensure_config_dir()
|
||||||
|
|
||||||
|
|||||||
@ -22,6 +22,9 @@ import uuid
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
|
import gi
|
||||||
|
gi.require_version('GLib', '2.0')
|
||||||
|
from gi.repository import GLib
|
||||||
from .models import Project, SavedRequest, HttpRequest
|
from .models import Project, SavedRequest, HttpRequest
|
||||||
|
|
||||||
|
|
||||||
@ -29,8 +32,10 @@ class ProjectManager:
|
|||||||
"""Manages project and saved request persistence."""
|
"""Manages project and saved request persistence."""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
# Store in ~/.roster/ (not ~/.config/) for git versioning
|
# Use XDG data directory (works for both Flatpak and native)
|
||||||
self.data_dir = Path.home() / '.roster'
|
# Flatpak: ~/.var/app/cz.vesp.roster/data/cz.vesp.roster
|
||||||
|
# Native: ~/.local/share/cz.vesp.roster
|
||||||
|
self.data_dir = Path(GLib.get_user_data_dir()) / 'cz.vesp.roster'
|
||||||
self.projects_file = self.data_dir / 'requests.json'
|
self.projects_file = self.data_dir / 'requests.json'
|
||||||
self._ensure_data_dir()
|
self._ensure_data_dir()
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user