webspirit.classes.tools package#
Submodules#
webspirit.classes.tools.checktype module#
webspirit.classes.tools.contexterror module#
- class webspirit.classes.tools.contexterror.ErrorContextManager(message='EX_TYPE - EX_VALUE', level=30, _raise=False, logger=<Logger webspirit.config.logger (DEBUG)>)[source]#
Bases:
objectUn gestionnaire de contexte qui fonctionne similairement à contextlib.suppress(Exception).
- Parameters:
message (str, optional) – Le message affiché dans les logs. Il peut prendre différents mots-clés pré-définis. On a ERROR, EX_TYPE, et EX_VALUE par exemple. Defaults to ‘’.
level (int, optional) – Le niveau du message pour le log. Defaults to WARNING.
_raise (bool, optional) – Permet de provoquer l’erreur original en plus d’afficher un message dans le log. Defaults to False.
logger (Logger, optional) – Un logger pour gérer les logs. Defaults to LOGGER.
- webspirit.classes.tools.contexterror.ecm#
alias of
ErrorContextManager
- webspirit.classes.tools.contexterror.raise_error(message='', error=<class 'TypeError'>, cause=None, logger=<Logger webspirit.config.logger (DEBUG)>)[source]#
- webspirit.classes.tools.contexterror.re(message='', error=<class 'TypeError'>, cause=None, logger=<Logger webspirit.config.logger (DEBUG)>)#
webspirit.classes.tools.csvmanager module#
The type of the None singleton.
webspirit.classes.tools.manager module#
Implémentation des différentes classes pour la gestion des fichiers, comme json ou csv, comportant des données à manipuler.
- class webspirit.classes.tools.manager.BaseManager(path)[source]#
Bases:
ABC- copy(**kwargs)#
Call self as a function.
- Return type:
Union[Callable[...,Any],Any]
- property data: dict | list#
- abstractmethod load()[source]#
Formate les données brutes pour correspondre avec celles attendues, et met à jours le manager
- Return type:
Self
- abstractmethod load_raw()[source]#
Charge les données brutes du fichier source
- Return type:
dict|list
- property raw_data: dict | list#
-
registry:
dict[str,type] = {'.csv': <class 'webspirit.classes.tools.manager.CsvManager'>, '.json': <class 'webspirit.classes.tools.manager.JsonManager'>}#
-
repr_format:
bool= True#
- abstractmethod save(data=None)[source]#
Sauvegarde les données dans le fichier source
- Return type:
Self
- class webspirit.classes.tools.manager.CsvManager(path)[source]#
Bases:
BaseManager- extension = '.csv'#
- class webspirit.classes.tools.manager.JsonManager(path)[source]#
Bases:
BaseManager- extension = '.json'#
- class webspirit.classes.tools.manager.ManagerMeta(name, bases, namespace, /, **kwargs)[source]#
Bases:
ABCMeta-
instances:
dict[tuple[type,StrPath|None],Any] = {(<class 'webspirit.classes.tools.manager.JsonManager'>, StrPath('/home/runner/work/Webspirit/Webspirit/src/webspirit/data/settings/settings.json')): { "language": { "type": "list", "label": "Langue de l'application", "default": null, "source": { "object": "webspirit.classes.tools.manager.JsonManager", "params": [ "languages.json" ], "default": { "value": "fr", "attr": null, "index": null } } }, "dark_mode": { "type": "bool", "label": "Mode sombre", "default": false, "source": { "object": null, "params": [ null ], "default": { "value": null, "attr": null, "index": null } } }, "theme": { "type": "list", "label": "Thème visuel", "default": null, "source": { "object": "webspirit.classes.tools.manager.JsonManager", "params": [ "theme.json" ], "default": { "value": "light", "attr": null, "index": null } } }, "username": { "type": "text", "label": "Nom d'utilisateur", "default": "DefaultUser", "source": { "object": null, "params": [ null ], "default": { "value": null, "attr": null, "index": null } } }, "launch_animation": { "type": "bool", "label": "Animation de démarrage", "default": true, "source": { "object": null, "params": [ null ], "default": { "value": null, "attr": null, "index": null } } }, "path_FFmpeg": { "type": "text", "label": "Chemin vers l'exécutable ffmpeg.exe", "default": null, "source": { "object": "webspirit.config.constants.PATH_FFMPEG", "params": [ null ], "default": { "value": null, "attr": null, "index": null } } } }, (<class 'webspirit.classes.tools.manager.JsonManager'>, StrPath('/home/runner/work/Webspirit/Webspirit/src/webspirit/data/settings/user.json')): { "language": "es", "dark_mode": true, "theme": "light", "username": "Solange", "launch_animation": true, "path_FFmpeg": "/home/runner/work/Webspirit/Webspirit/src/webspirit/resources/FFmpeg/bin/ffmpeg.exe" }}#
-
instances:
- webspirit.classes.tools.manager.delete_json(path)[source]#
Supprime un fichier json en acceptant soit un chemin soit un manager.
- Parameters:
path (StrPath | JsonManager) – Le chemin vers le fichier json ou une instance de JsonManager pointant vers ce fichier.
- webspirit.classes.tools.manager.load_json(path)[source]#
Crée un gestionnaire json pour le fichier fourni.
- Parameters:
path (StrPath) – Le chemin vers le fichier json.
- Returns:
Une instance de JsonManager associée au fichier fourni.
- Return type:
- webspirit.classes.tools.manager.save_json(data=None, path=None)[source]#
Sauvegarde des données json dans un fichier en gérant plusieurs cas d’entrée. Cette fonction peut utiliser soit des données brutes, soit un JsonManager existant, et créer ou mettre à jour le fichier cible.
- Parameters:
data (dict | list | JsonManager | None) – Les données à sauvegarder ou un JsonManager existant. Peut être None si un chemin est fourni pour charger et sauvegarder.
path (StrPath | None) – Le chemin vers le fichier json à sauvegarder. Peut être None si un JsonManager est fourni.
- Returns:
Une instance de JsonManager correspondant au fichier sauvegardé.
- Return type:
- Raises:
ValueError – Si ni les données ni le chemin ne sont fournis.
webspirit.classes.tools.typing module#
- class webspirit.classes.tools.typing.CsvPath(string, exist=True)[source]#
Bases:
SuffixPath-
SUFFIX:
list[str] = ['.csv']#
-
SUFFIX:
- class webspirit.classes.tools.typing.HyperLink(string: str, exist: bool = True)[source]#
Bases:
str,_PathOrURL- property id: str#
- class webspirit.classes.tools.typing.JsonPath(string, exist=True)[source]#
Bases:
SuffixPath-
SUFFIX:
list[str] = ['.json']#
-
SUFFIX:
Module contents#
Répertoire contenant les différents modules qui gerent les classes et objets utilisé dans cette library.
- class webspirit.classes.tools.BaseManager(path)[source]#
Bases:
ABC- copy(**kwargs)#
Call self as a function.
- Return type:
Union[Callable[...,Any],Any]
- property data: dict | list#
- abstractmethod load()[source]#
Formate les données brutes pour correspondre avec celles attendues, et met à jours le manager
- Return type:
Self
- abstractmethod load_raw()[source]#
Charge les données brutes du fichier source
- Return type:
dict|list
- property raw_data: dict | list#
-
registry:
dict[str,type] = {'.csv': <class 'webspirit.classes.tools.manager.CsvManager'>, '.json': <class 'webspirit.classes.tools.manager.JsonManager'>}#
-
repr_format:
bool= True#
- abstractmethod save(data=None)[source]#
Sauvegarde les données dans le fichier source
- Return type:
Self
- class webspirit.classes.tools.CheckType(*parameters, convert=True, return_=False)[source]#
Bases:
object-
RETURN:
str= 'return'#
-
SELF:
str= 'self'#
-
function:
Callable[...,Any]#
-
without_parentheses:
bool#
-
RETURN:
- class webspirit.classes.tools.CsvPath(string, exist=True)[source]#
Bases:
SuffixPath-
SUFFIX:
list[str] = ['.csv']#
-
SUFFIX:
- class webspirit.classes.tools.ErrorContextManager(message='EX_TYPE - EX_VALUE', level=30, _raise=False, logger=<Logger webspirit.config.logger (DEBUG)>)[source]#
Bases:
objectUn gestionnaire de contexte qui fonctionne similairement à contextlib.suppress(Exception).
- Parameters:
message (str, optional) – Le message affiché dans les logs. Il peut prendre différents mots-clés pré-définis. On a ERROR, EX_TYPE, et EX_VALUE par exemple. Defaults to ‘’.
level (int, optional) – Le niveau du message pour le log. Defaults to WARNING.
_raise (bool, optional) – Permet de provoquer l’erreur original en plus d’afficher un message dans le log. Defaults to False.
logger (Logger, optional) – Un logger pour gérer les logs. Defaults to LOGGER.
- class webspirit.classes.tools.HyperLink(string: str, exist: bool = True)[source]#
Bases:
str,_PathOrURL- property id: str#
- class webspirit.classes.tools.JsonPath(string, exist=True)[source]#
Bases:
SuffixPath-
SUFFIX:
list[str] = ['.json']#
-
SUFFIX:
- class webspirit.classes.tools.ManagerMeta(name, bases, namespace, /, **kwargs)[source]#
Bases:
ABCMeta-
instances:
dict[tuple[type,StrPath|None],Any] = {(<class 'webspirit.classes.tools.manager.JsonManager'>, StrPath('/home/runner/work/Webspirit/Webspirit/src/webspirit/data/settings/settings.json')): { "language": { "type": "list", "label": "Langue de l'application", "default": null, "source": { "object": "webspirit.classes.tools.manager.JsonManager", "params": [ "languages.json" ], "default": { "value": "fr", "attr": null, "index": null } } }, "dark_mode": { "type": "bool", "label": "Mode sombre", "default": false, "source": { "object": null, "params": [ null ], "default": { "value": null, "attr": null, "index": null } } }, "theme": { "type": "list", "label": "Thème visuel", "default": null, "source": { "object": "webspirit.classes.tools.manager.JsonManager", "params": [ "theme.json" ], "default": { "value": "light", "attr": null, "index": null } } }, "username": { "type": "text", "label": "Nom d'utilisateur", "default": "DefaultUser", "source": { "object": null, "params": [ null ], "default": { "value": null, "attr": null, "index": null } } }, "launch_animation": { "type": "bool", "label": "Animation de démarrage", "default": true, "source": { "object": null, "params": [ null ], "default": { "value": null, "attr": null, "index": null } } }, "path_FFmpeg": { "type": "text", "label": "Chemin vers l'exécutable ffmpeg.exe", "default": null, "source": { "object": "webspirit.config.constants.PATH_FFMPEG", "params": [ null ], "default": { "value": null, "attr": null, "index": null } } } }, (<class 'webspirit.classes.tools.manager.JsonManager'>, StrPath('/home/runner/work/Webspirit/Webspirit/src/webspirit/data/settings/user.json')): { "language": "es", "dark_mode": true, "theme": "light", "username": "Solange", "launch_animation": true, "path_FFmpeg": "/home/runner/work/Webspirit/Webspirit/src/webspirit/resources/FFmpeg/bin/ffmpeg.exe" }}#
-
instances:
- class webspirit.classes.tools.SuffixPath(string, ext, exist=True)[source]#
Bases:
StrPath
- webspirit.classes.tools.ecm#
alias of
ErrorContextManager
- webspirit.classes.tools.raise_error(message='', error=<class 'TypeError'>, cause=None, logger=<Logger webspirit.config.logger (DEBUG)>)[source]#
- webspirit.classes.tools.re(message='', error=<class 'TypeError'>, cause=None, logger=<Logger webspirit.config.logger (DEBUG)>)#