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
a4b6966bc3
commit
6fde053ee4
@ -1,7 +1,7 @@
|
||||
{
|
||||
"id" : "cz.vesp.roster",
|
||||
"runtime" : "org.gnome.Platform",
|
||||
"runtime-version" : "master",
|
||||
"runtime-version" : "47",
|
||||
"sdk" : "org.gnome.Sdk",
|
||||
"command" : "roster",
|
||||
"finish-args" : [
|
||||
@ -9,8 +9,7 @@
|
||||
"--share=ipc",
|
||||
"--socket=fallback-x11",
|
||||
"--device=dri",
|
||||
"--socket=wayland",
|
||||
"--filesystem=xdg-config/roster:create"
|
||||
"--socket=wayland"
|
||||
],
|
||||
"cleanup" : [
|
||||
"/include",
|
||||
@ -43,7 +42,7 @@
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
"url" : "file:///home/pavelb/GnomeBuilderProjects"
|
||||
"url" : "file:///home/pavelb/GnomeBuilderProjects/Roster"
|
||||
}
|
||||
],
|
||||
"config-opts" : [
|
||||
|
||||
@ -21,6 +21,9 @@ import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import List
|
||||
import gi
|
||||
gi.require_version('GLib', '2.0')
|
||||
from gi.repository import GLib
|
||||
from .models import HistoryEntry
|
||||
|
||||
|
||||
@ -28,7 +31,10 @@ class HistoryManager:
|
||||
"""Manages request history persistence to JSON file."""
|
||||
|
||||
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._ensure_config_dir()
|
||||
|
||||
|
||||
@ -22,6 +22,9 @@ import uuid
|
||||
from pathlib import Path
|
||||
from typing import List, Optional
|
||||
from datetime import datetime, timezone
|
||||
import gi
|
||||
gi.require_version('GLib', '2.0')
|
||||
from gi.repository import GLib
|
||||
from .models import Project, SavedRequest, HttpRequest
|
||||
|
||||
|
||||
@ -29,8 +32,10 @@ class ProjectManager:
|
||||
"""Manages project and saved request persistence."""
|
||||
|
||||
def __init__(self):
|
||||
# Store in ~/.roster/ (not ~/.config/) for git versioning
|
||||
self.data_dir = Path.home() / '.roster'
|
||||
# Use XDG data directory (works for both Flatpak and native)
|
||||
# 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._ensure_data_dir()
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user