python-platformdirs: Add new package
This also includes a test.sh script for the packages feed CI. From the README: When writing desktop application, finding the right location to store user data and configuration varies per platform. Even for single-platform apps, there may by plenty of nuances in figuring out the right location. This kind of thing is what the platformdirs package is for. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This commit is contained in:
parent
a2c057312f
commit
5e1b12e55e
2 changed files with 80 additions and 0 deletions
47
lang/python/python-platformdirs/Makefile
Normal file
47
lang/python/python-platformdirs/Makefile
Normal file
|
@ -0,0 +1,47 @@
|
|||
#
|
||||
# Copyright (C) 2023 Jeffery To
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=python-platformdirs
|
||||
PKG_VERSION:=4.0.0
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PYPI_NAME:=platformdirs
|
||||
PKG_HASH:=cb633b2bcf10c51af60beb0ab06d2f1d69064b43abf4c185ca6b28865f3f9731
|
||||
|
||||
PKG_LICENSE:=MIT
|
||||
PKG_LICENSE_FILES:=LICENSE
|
||||
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
|
||||
|
||||
PKG_BUILD_DEPENDS:=python-hatchling/host python-hatch-vcs/host
|
||||
|
||||
include ../pypi.mk
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
include ../python3-package.mk
|
||||
|
||||
define Package/python3-platformdirs
|
||||
SECTION:=lang
|
||||
CATEGORY:=Languages
|
||||
SUBMENU:=Python
|
||||
TITLE:=Determine appropriate platform-specific dirs
|
||||
URL:=https://github.com/platformdirs/platformdirs
|
||||
DEPENDS:=+python3-light +python3-urllib
|
||||
endef
|
||||
|
||||
define Package/python3-platformdirs/description
|
||||
When writing desktop application, finding the right location to store
|
||||
user data and configuration varies per platform. Even for
|
||||
single-platform apps, there may by plenty of nuances in figuring out the
|
||||
right location.
|
||||
|
||||
This kind of thing is what the platformdirs package is for.
|
||||
endef
|
||||
|
||||
$(eval $(call Py3Package,python3-platformdirs))
|
||||
$(eval $(call BuildPackage,python3-platformdirs))
|
||||
$(eval $(call BuildPackage,python3-platformdirs-src))
|
33
lang/python/python-platformdirs/test.sh
Normal file
33
lang/python/python-platformdirs/test.sh
Normal file
|
@ -0,0 +1,33 @@
|
|||
#!/bin/sh
|
||||
|
||||
[ "$1" = python3-platformdirs ] || exit 0
|
||||
|
||||
python3 - << 'EOF'
|
||||
|
||||
from platformdirs import *
|
||||
appname = "SuperApp"
|
||||
appauthor = "Acme"
|
||||
|
||||
assert user_data_dir(appname, appauthor) == '/root/.local/share/SuperApp'
|
||||
assert user_cache_dir(appname, appauthor) == '/root/.cache/SuperApp'
|
||||
assert user_log_dir(appname, appauthor) == '/root/.local/state/SuperApp/log'
|
||||
assert user_config_dir(appname) == '/root/.config/SuperApp'
|
||||
assert user_documents_dir() == '/root/Documents'
|
||||
assert user_downloads_dir() == '/root/Downloads'
|
||||
assert user_pictures_dir() == '/root/Pictures'
|
||||
assert user_videos_dir() == '/root/Videos'
|
||||
assert user_music_dir() == '/root/Music'
|
||||
assert user_desktop_dir() == '/root/Desktop'
|
||||
assert user_runtime_dir(appname, appauthor) == '/run/user/0/SuperApp'
|
||||
|
||||
assert site_data_dir(appname, appauthor) == '/usr/local/share/SuperApp'
|
||||
assert site_data_dir(appname, appauthor, multipath=True) == '/usr/local/share/SuperApp:/usr/share/SuperApp'
|
||||
|
||||
assert site_config_dir(appname) == '/etc/xdg/SuperApp'
|
||||
|
||||
import os
|
||||
os.environ["XDG_CONFIG_DIRS"] = "/etc:/usr/local/etc"
|
||||
|
||||
assert site_config_dir(appname, multipath=True) == '/etc/SuperApp:/usr/local/etc/SuperApp'
|
||||
|
||||
EOF
|
Loading…
Reference in a new issue