Updated BlockPair __init__() and pass_complete()
This commit is contained in:
parent
6ad68c37d4
commit
89de1d52bb
1 changed files with 34 additions and 2 deletions
|
|
@ -12,6 +12,7 @@ import re
|
||||||
import shutil
|
import shutil
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
from collections import OrderedDict
|
||||||
from docopt import docopt
|
from docopt import docopt
|
||||||
|
|
||||||
import psutil
|
import psutil
|
||||||
|
|
@ -96,6 +97,11 @@ class BlockPair():
|
||||||
self.map_data = {}
|
self.map_data = {}
|
||||||
self.map_path = None
|
self.map_path = None
|
||||||
self.size = source.details['size']
|
self.size = source.details['size']
|
||||||
|
self.status = OrderedDict({
|
||||||
|
'read': 'Pending',
|
||||||
|
'trim': 'Pending',
|
||||||
|
'scrape': 'Pending',
|
||||||
|
})
|
||||||
|
|
||||||
# Set map file
|
# Set map file
|
||||||
# e.g. '(Clone|Image)_Model[_p#]_Size[_Label].map'
|
# e.g. '(Clone|Image)_Model[_p#]_Size[_Label].map'
|
||||||
|
|
@ -123,6 +129,17 @@ class BlockPair():
|
||||||
# Read map file
|
# Read map file
|
||||||
self.load_map_data()
|
self.load_map_data()
|
||||||
|
|
||||||
|
# Set initial status
|
||||||
|
percent = 100 * self.map_data.get('rescued', 0) / self.size
|
||||||
|
for name in self.status.keys():
|
||||||
|
if self.pass_complete(name):
|
||||||
|
self.status[name] = percent
|
||||||
|
else:
|
||||||
|
# Stop checking
|
||||||
|
if percent > 0:
|
||||||
|
self.status[name] = percent
|
||||||
|
break
|
||||||
|
|
||||||
def get_rescued_size(self):
|
def get_rescued_size(self):
|
||||||
"""Get rescued size using map data.
|
"""Get rescued size using map data.
|
||||||
|
|
||||||
|
|
@ -169,11 +186,26 @@ class BlockPair():
|
||||||
# Done
|
# Done
|
||||||
self.map_data.update(data)
|
self.map_data.update(data)
|
||||||
|
|
||||||
def pass_complete(self, pass_num):
|
def pass_complete(self, pass_name):
|
||||||
"""Check if pass_num is complete based on map data, returns bool."""
|
"""Check if pass_num is complete based on map data, returns bool."""
|
||||||
complete = False
|
complete = False
|
||||||
|
pending_size = 0
|
||||||
|
|
||||||
# TODO
|
# Check map data
|
||||||
|
if self.map_data.get('full recovery', False):
|
||||||
|
complete = True
|
||||||
|
elif 'non-tried' not in self.map_data:
|
||||||
|
# Assuming recovery has not been attempted yet
|
||||||
|
complete = False
|
||||||
|
else:
|
||||||
|
# Check that current and previous passes are complete
|
||||||
|
pending_size = self.map_data['non-tried']
|
||||||
|
if pass_name in ('trim', 'scrape'):
|
||||||
|
pending_size += self.map_data['non-trimmed']
|
||||||
|
if pass_name == 'scrape':
|
||||||
|
pending_size += self.map_data['non-scraped']
|
||||||
|
if pending_size == 0:
|
||||||
|
complete = True
|
||||||
|
|
||||||
# Done
|
# Done
|
||||||
return complete
|
return complete
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue