Almacenamiento local

El autor:- ¿ Qué es esto?, Fecha: 2020-04-22 18:10:56
Las etiquetas:HerramientaPython

¿Qué es eso?

Herramienta de simplificación de llamadas de almacenamiento local de FMZ Para el almacenamiento local, visiteDocumentación de la API de FMZ

¿De qué sirve?

Se ha simplificado la forma de llamar al almacenamiento local de FMZ, más elegante y sin necesidad de volver a llamar._G()¿Qué es eso?

Cómo usarlo

Importar plantillas

Copie esta plantilla a su librería de políticas y seleccione esta plantilla en la política de la herramienta que desea usar.

En el código de la estrategia

Crear un objeto al principio de la política con el siguiente código:

PS = ext.PersistentStorage()

Lo arreglamos. Este objetoPSEn este caso, el lenguaje de programación de Python puede ser utilizado como un diccionario Python normal, peroSolo puede almacenar contenido que pueda ser ordenado en JSON

Sobre esta biblioteca

Utilizando la licencia pública de WTFPL para hacer lo que quieras


#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# encoding: utf-8
#
#  Persistent Storage for FMZ
#
# Copyright 2020 FawkesPan
# Contact : i@fawkex.me / Telegram@FawkesPan
#
#            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
#                    Version 2, December 2004 
#
# Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> 
#
# Everyone is permitted to copy and distribute verbatim or modified 
# copies of this license document, and changing it is allowed as long 
# as the name is changed. 
#
#            DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 
#   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 
#
#  0. You just DO WHAT THE FUCK YOU WANT TO.
#

class PersistentStorage:
    
    def __init__(self):
        keys = _G('__keys__')
        if isinstance(keys, list):
            self.__keys__ = keys
        else:
            self.__keys__ = []
            self.__setitem__('__keys__', self.__keys__)
        return
    
    def _add_key(self, key):
        if key == '__keys__':
            return
        self.__keys__.append(key)
        self.__setitem__('__keys__', self.__keys__)
        return
        
    def _del_key(self, key):
        if key == '__keys__':
            return
        if key in self.__keys__:
            del self.__keys__[self.__keys__.index(key)]
        self.__setitem__('__keys__', self.__keys__)
        return
    
    def __setitem__(self, key, value):
        _G(key, value)
        self._add_key(key)
        return
    
    def __delitem__(self, key):
        _G(key, None)
        self._del_key(key)
        return
    
    def __getitem__(self, key):
        return _G(key)

    def keys(self):
        return self.__keys__
        

ext.PersistentStorage = PersistentStorage

Relacionados

Más.

Nube ligeraEsto es mejor si es JS..............

el congcong009DO WHAT THE FUCK YOU WANT TO PUBLIC Licencia para hacer lo que sea que quieras La violencia es algo que me gusta mucho.