mirror of
https://github.com/SickGear/SickGear.git
synced 2024-12-01 08:53:37 +00:00
Change factor out cleanup_cache() into cleanup_cache() + delete_not_changed_in() for multiple use cases.
Change make it simpler to add cache paths to cleanup_cache() using a list of tuples. Change PEP8 .. cleanup_cache > cleanup_Cache.
This commit is contained in:
parent
6b418ddea9
commit
116e0c64db
2 changed files with 29 additions and 12 deletions
|
@ -1466,21 +1466,39 @@ def scantree(path):
|
|||
yield entry
|
||||
|
||||
|
||||
def cleanup_Cache():
|
||||
"""Delete cached Images older then 30 days"""
|
||||
basepath = ek.ek(os.path.join, sickbeard.CACHE_DIR, 'images')
|
||||
cachepaths = [ek.ek(os.path.join, basepath, 'trakt')]
|
||||
del_time = time.mktime((datetime.datetime.now() - datetime.timedelta(days=30)).timetuple())
|
||||
for c in cachepaths:
|
||||
def cleanup_cache():
|
||||
"""
|
||||
Delete old cached files
|
||||
"""
|
||||
delete_not_changed_in([ek.ek(os.path.join, sickbeard.CACHE_DIR, *x) for x in [
|
||||
('images', 'trakt')]])
|
||||
|
||||
|
||||
def delete_not_changed_in(paths, days=30, minutes=0):
|
||||
"""
|
||||
Delete files under paths not changed in n days and/or n minutes.
|
||||
If a file was modified later than days/and or minutes, then don't delete it.
|
||||
|
||||
:param paths: List of paths to scan for files to delete
|
||||
:param days: Purge files not modified in this number of days (default: 30 days)
|
||||
:param minutes: Purge files not modified in this number of minutes (default: 0 minutes)
|
||||
:return: tuple; number of files that qualify for deletion, number of qualifying files that failed to be deleted
|
||||
"""
|
||||
del_time = time.mktime((datetime.datetime.now() - datetime.timedelta(days=days, minutes=minutes)).timetuple())
|
||||
errors = 0
|
||||
qualified = 0
|
||||
for c in paths:
|
||||
try:
|
||||
for f in scantree(c):
|
||||
if f.is_file(follow_symlinks=False) and f.stat(follow_symlinks=False).st_mtime < del_time:
|
||||
if f.is_file(follow_symlinks=False) and del_time > f.stat(follow_symlinks=False).st_mtime:
|
||||
try:
|
||||
ek.ek(os.remove, f.path)
|
||||
except:
|
||||
pass
|
||||
except:
|
||||
except (StandardError, Exception):
|
||||
errors += 1
|
||||
qualified += 1
|
||||
except (StandardError, Exception):
|
||||
pass
|
||||
return qualified, errors
|
||||
|
||||
|
||||
def set_file_timestamp(filename, min_age=3, new_time=None):
|
||||
|
@ -1490,4 +1508,3 @@ def set_file_timestamp(filename, min_age=3, new_time=None):
|
|||
ek.ek(os.utime, filename, new_time)
|
||||
except (StandardError, Exception):
|
||||
pass
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ class ShowUpdater:
|
|||
sickbeard.helpers.clear_unused_providers()
|
||||
|
||||
# cleanup image cache
|
||||
sickbeard.helpers.cleanup_Cache()
|
||||
sickbeard.helpers.cleanup_cache()
|
||||
|
||||
# add missing mapped ids
|
||||
if not sickbeard.background_mapping_task.is_alive():
|
||||
|
|
Loading…
Reference in a new issue