Use voussoirkit hms instead of local function.

This commit is contained in:
voussoir 2020-11-15 17:44:10 -08:00
parent 9e322c18d4
commit 1a6abf00b9
2 changed files with 4 additions and 35 deletions

View file

@ -13,6 +13,7 @@ import unicodedata
import zipstream
from voussoirkit import bytestring
from voussoirkit import hms
from voussoirkit import imagetools
from voussoirkit import pathclass
@ -364,22 +365,6 @@ def hyphen_range(s):
return low, high
def hms_to_seconds(hms):
'''
Convert hh:mm:ss string to an integer seconds.
'''
hms = hms.split(':')
seconds = 0
if len(hms) == 3:
seconds += int(hms[0]) * 3600
hms.pop(0)
if len(hms) == 2:
seconds += int(hms[0]) * 60
hms.pop(0)
if len(hms) == 1:
seconds += float(hms[0])
return seconds
def is_xor(*args):
'''
Return True if and only if one arg is truthy.
@ -417,7 +402,7 @@ def parse_unit_string(s):
s = s.strip()
if ':' in s:
return hms_to_seconds(s)
return hms.hms_to_seconds(s)
elif all(c in '0123456789' for c in s):
return int(s)
@ -497,23 +482,6 @@ def run_generator(g):
for x in g:
pass
def seconds_to_hms(seconds):
'''
Convert integer number of seconds to an hh:mm:ss string.
Only the necessary fields are used.
'''
seconds = math.ceil(seconds)
(minutes, seconds) = divmod(seconds, 60)
(hours, minutes) = divmod(minutes, 60)
parts = []
if hours:
parts.append(hours)
if hours or minutes:
parts.append(minutes)
parts.append(seconds)
hms = ':'.join(f'{part:02d}' for part in parts)
return hms
def slice_before(li, item):
index = li.index(item)
return li[:index]

View file

@ -10,6 +10,7 @@ import send2trash
import traceback
from voussoirkit import bytestring
from voussoirkit import hms
from voussoirkit import pathclass
from voussoirkit import sentinel
from voussoirkit import spinal
@ -847,7 +848,7 @@ class Photo(ObjectBase):
def duration_string(self):
if self.duration is None:
return None
return helpers.seconds_to_hms(self.duration)
return hms.seconds_to_hms(self.duration)
#@decorators.time_me
@decorators.required_feature('photo.generate_thumbnail')