diff --git a/owrx/config/core.py b/owrx/config/core.py index e22f004a..afa7e745 100644 --- a/owrx/config/core.py +++ b/owrx/config/core.py @@ -1,6 +1,7 @@ from owrx.config import ConfigError from configparser import ConfigParser import os +import re from glob import glob @@ -46,6 +47,23 @@ class CoreConfig(object): if not os.access(dir, os.W_OK): 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 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): return self.web_port @@ -57,3 +75,4 @@ class CoreConfig(object): def get_aprs_symbols_path(self): return self.aprs_symbols_path + diff --git a/owrx/controllers/file.py b/owrx/controllers/file.py index fcb5819c..becbef96 100644 --- a/owrx/controllers/file.py +++ b/owrx/controllers/file.py @@ -2,34 +2,14 @@ from owrx.controllers.template import WebpageController from owrx.controllers.assets import AssetsController from owrx.config.core import CoreConfig -import os -import re - class FileController(AssetsController): def getFilePath(self, file): return CoreConfig().get_temporary_directory() + "/" + file 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 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): - files = self.getFileList() + files = CoreConfig().getStoredFiles() rows = "" for i in range(len(files)):