Storage cleanup works now.
This commit is contained in:
parent
75960d06ac
commit
b643bf83fa
|
|
@ -4,6 +4,9 @@ import os
|
|||
import re
|
||||
from glob import glob
|
||||
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class CoreConfig(object):
|
||||
defaults = {
|
||||
|
|
@ -47,6 +50,11 @@ class CoreConfig(object):
|
|||
if not os.access(dir, os.W_OK):
|
||||
raise ConfigError(key, "{dir} is not writable".format(dir=dir))
|
||||
|
||||
# Get complete path to a stored file from its filename by
|
||||
# adding folder name
|
||||
def getStoredFilePath(self, filename):
|
||||
return self.get_temporary_directory() + "/" + filename
|
||||
|
||||
# Get list of stored files, sorted in reverse alphabetic order
|
||||
# (so that newer files appear first)
|
||||
def getStoredFiles(self):
|
||||
|
|
@ -56,13 +64,13 @@ class CoreConfig(object):
|
|||
|
||||
# Delete all stored files except for <keepN> newest ones
|
||||
def cleanStoredFiles(self, keepN):
|
||||
dir = self.get_temporary_directory()
|
||||
files = self.getFileList()
|
||||
files = self.getStoredFiles()
|
||||
for f in files[keepN:]:
|
||||
logger.debug("Deleting stored file '%s'." % f)
|
||||
try:
|
||||
os.unlink(dir + "/" + f)
|
||||
except Exception:
|
||||
pass
|
||||
os.unlink(self.getStoredFilePath(f))
|
||||
except Exception as exptn:
|
||||
logger.debug(str(exptn))
|
||||
|
||||
def get_web_port(self):
|
||||
return self.web_port
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ from owrx.config.core import CoreConfig
|
|||
|
||||
class FileController(AssetsController):
|
||||
def getFilePath(self, file):
|
||||
return CoreConfig().get_temporary_directory() + "/" + file
|
||||
return CoreConfig().getStoredFilePath(file)
|
||||
|
||||
|
||||
class FilesController(WebpageController):
|
||||
|
|
|
|||
10
owrx/sstv.py
10
owrx/sstv.py
|
|
@ -1,4 +1,5 @@
|
|||
from owrx.config.core import CoreConfig
|
||||
from owrx.config import Config
|
||||
from csdr.module import ThreadModule
|
||||
from pycsdr.types import Format
|
||||
from datetime import datetime
|
||||
|
|
@ -80,7 +81,14 @@ class SstvParser(ThreadModule):
|
|||
if self.height==0 or self.line<self.height:
|
||||
logger.debug("Deleting short bitmap file '%s'." % self.fileName)
|
||||
os.unlink(self.fileName)
|
||||
except Exception:
|
||||
else:
|
||||
# Delete excessive files from storage
|
||||
logger.debug("Performing storage cleanup...")
|
||||
pm = Config.get()
|
||||
CoreConfig().cleanStoredFiles(pm["keep_files"])
|
||||
|
||||
except Exception as exptn:
|
||||
logger.debug(str(exptn))
|
||||
self.file = None
|
||||
|
||||
def newFile(self, fileName):
|
||||
|
|
|
|||
Loading…
Reference in New Issue