Import code
This commit is contained in:
1 parent
9b88a6ecde
commit
054d387e37
20 files changed
+2348
No files matched your search
@@ -0,0 +1,50 @@
|
||||
# encoding: utf-8
|
||||
#
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
from __future__ import unicode_literals, absolute_import, division
|
||||
|
||||
import io
|
||||
import os
|
||||
import time
|
||||
import glob
|
||||
import sys
|
||||
|
||||
class Cache(object):
|
||||
config_directory = ''
|
||||
|
||||
def __init__(self, config_directory):
|
||||
self.config_directory = config_directory
|
||||
|
||||
def load_file(self, filename):
|
||||
filename = self.config_directory + filename
|
||||
if not os.path.exists(filename): return None
|
||||
with io.open(filename, 'r', encoding='utf-8') as handle:
|
||||
return handle.read()
|
||||
|
||||
def save_file(self, filename, data):
|
||||
if sys.version_info[0] < 3:
|
||||
if not isinstance(data, unicode):
|
||||
data = unicode(data, 'utf-8')
|
||||
with io.open(self.config_directory + filename, 'w', encoding='utf-8', newline='') as handle:
|
||||
handle.write(data)
|
||||
|
||||
def load(self, filename, cache_minutes = 24*60):
|
||||
filename = self.config_directory + filename
|
||||
if os.path.exists(filename) and (time.time() - os.path.getmtime(filename) < cache_minutes*60):
|
||||
with io.open(filename, 'r', encoding='utf-8') as handle:
|
||||
return handle.read()
|
||||
return None
|
||||
|
||||
def remove_file(self, filename):
|
||||
filename = self.config_directory + filename
|
||||
if os.path.exists(filename):
|
||||
os.remove(filename)
|
||||
|
||||
def clear_config(self):
|
||||
types = ('*.conf', '*.json')
|
||||
files = []
|
||||
for ext in types:
|
||||
files.extend(glob.glob(self.config_directory + ext))
|
||||
for filename in files:
|
||||
os.remove(filename)
|
||||
Reference in new issue
Block a user