ローカルストア

作者: リン・ハーンフォークスパン, 2020年4月22日 18時10分56秒
タグ:ツールパイソン

何だった?

FMZ ローカルストレージの呼び出し簡素化ツール ローカルストレージについてはFMZ APIのドキュメント

何のために?

FMZのローカルストアへの呼び出しを簡素化し,よりエレガントで,再入力を必要としません._G()ほら

どう使うか

テンプレートを輸入する

このツールを使用するポリシーにこのテンプレートをチェックしてください.

策略コードで

設定の初期に,次のコードでオブジェクトを作成します.

PS = ext.PersistentStorage()

解決する このオブジェクトはPSPythonの辞書として使うことができますが,JSON に並べられるコンテンツのみを保存します.

この図書館について

WTFPLのDo What the Fuck You Want to Public Licenseを使って


#!/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

関連性

もっと

軽い雲JSではもっといいでしょう.

コングコン009DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 公開許可を取得する 暴力を好むのは,暴力です.