로컬 저장

저자:포크스팬, 2020-04-22 18:10:56
태그:도구파이썬

무슨 소리야?

FMZ 로컬 스토리지 호출 간소화 도구 로컬 스토리지에 대한 내용은FMZ API 문서

왜 그럴까요?

FMZ 로컬 스토리지를 간소화하여 더 우아하게 호출할 수 있습니다._G()

사용 방법

템플릿을 가져오기

먼저 이 템플릿을 당신의 정책 저장소에 복사하고 이 도구를 사용하려는 정책에서 이 템플릿을 선택하세요.

이 전략의 코드는

다음 코드를 사용하여 정책을 시작으로 객체를 생성합니다.

PS = ext.PersistentStorage()

해결해 이 물체는PS이 문서는 보통의 파이썬 사전처럼 사용할 수 있습니다.JSON 서열화 가능한 콘텐츠만 저장합니다.

이 도서관에 대해

WTFPL를 이용한 Do What the Fuck You Want to Public 라이선스


#!/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 라이선스 폭력에 대해 더 많은 것을 알 수 있습니다.