Adding stored file management.
This commit is contained in:
parent
89bc51b1f9
commit
75960d06ac
|
|
@ -1,6 +1,7 @@
|
||||||
from owrx.config import ConfigError
|
from owrx.config import ConfigError
|
||||||
from configparser import ConfigParser
|
from configparser import ConfigParser
|
||||||
import os
|
import os
|
||||||
|
import re
|
||||||
from glob import glob
|
from glob import glob
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -46,6 +47,23 @@ class CoreConfig(object):
|
||||||
if not os.access(dir, os.W_OK):
|
if not os.access(dir, os.W_OK):
|
||||||
raise ConfigError(key, "{dir} is not writable".format(dir=dir))
|
raise ConfigError(key, "{dir} is not writable".format(dir=dir))
|
||||||
|
|
||||||
|
# Get list of stored files, sorted in reverse alphabetic order
|
||||||
|
# (so that newer files appear first)
|
||||||
|
def getStoredFiles(self):
|
||||||
|
dir = self.get_temporary_directory()
|
||||||
|
files = [f for f in os.listdir(dir) if re.match(r"SSTV-[0-9]+-[0-9]+\.bmp", f)]
|
||||||
|
return sorted(files, reverse=True)
|
||||||
|
|
||||||
|
# Delete all stored files except for <keepN> newest ones
|
||||||
|
def cleanStoredFiles(self, keepN):
|
||||||
|
dir = self.get_temporary_directory()
|
||||||
|
files = self.getFileList()
|
||||||
|
for f in files[keepN:]:
|
||||||
|
try:
|
||||||
|
os.unlink(dir + "/" + f)
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
def get_web_port(self):
|
def get_web_port(self):
|
||||||
return self.web_port
|
return self.web_port
|
||||||
|
|
||||||
|
|
@ -57,3 +75,4 @@ class CoreConfig(object):
|
||||||
|
|
||||||
def get_aprs_symbols_path(self):
|
def get_aprs_symbols_path(self):
|
||||||
return self.aprs_symbols_path
|
return self.aprs_symbols_path
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,34 +2,14 @@ from owrx.controllers.template import WebpageController
|
||||||
from owrx.controllers.assets import AssetsController
|
from owrx.controllers.assets import AssetsController
|
||||||
from owrx.config.core import CoreConfig
|
from owrx.config.core import CoreConfig
|
||||||
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
|
|
||||||
class FileController(AssetsController):
|
class FileController(AssetsController):
|
||||||
def getFilePath(self, file):
|
def getFilePath(self, file):
|
||||||
return CoreConfig().get_temporary_directory() + "/" + file
|
return CoreConfig().get_temporary_directory() + "/" + file
|
||||||
|
|
||||||
|
|
||||||
class FilesController(WebpageController):
|
class FilesController(WebpageController):
|
||||||
# Get list of files to work on, sorted in reverse alphabetic
|
|
||||||
# order (so that newer files appear first)
|
|
||||||
def getFileList(self):
|
|
||||||
dir = CoreConfig().get_temporary_directory()
|
|
||||||
files = [f for f in os.listdir(dir) if re.match(r'SSTV-[0-9]+-[0-9]+\.bmp', f)]
|
|
||||||
return sorted(files, reverse=True)
|
|
||||||
|
|
||||||
# Delete all files except for <keepN> newest ones
|
|
||||||
def cleanFiles(self, keepN):
|
|
||||||
dir = CoreConfig().get_temporary_directory()
|
|
||||||
files = self.getFileList()
|
|
||||||
for f in files[keepN:]:
|
|
||||||
try:
|
|
||||||
os.unlink(dir + "/" + f)
|
|
||||||
except Exception:
|
|
||||||
pass
|
|
||||||
|
|
||||||
def template_variables(self):
|
def template_variables(self):
|
||||||
files = self.getFileList()
|
files = CoreConfig().getStoredFiles()
|
||||||
rows = ""
|
rows = ""
|
||||||
|
|
||||||
for i in range(len(files)):
|
for i in range(len(files)):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue