Correct duration parsing on createmediacontent command. V01.65.02
authorymh <ymh.work@gmail.com>
Thu, 23 Apr 2020 16:02:21 +0200
changeset 1499 06ad9be0454f
parent 1498 4a621313cf3c
child 1500 405ac4a27736
Correct duration parsing on createmediacontent command.
src/ldt/ldt/__init__.py
src/ldt/ldt/management/commands/createmediacontent.py
--- a/src/ldt/ldt/__init__.py	Wed Apr 22 17:20:34 2020 +0200
+++ b/src/ldt/ldt/__init__.py	Thu Apr 23 16:02:21 2020 +0200
@@ -1,6 +1,6 @@
 __all__ = ["VERSION", "get_version", "__version__", "default_app_config"]
 
-VERSION = (1, 65, 1, "final", 0)
+VERSION = (1, 65, 2, "final", 0)
 
 
 def get_version():
--- a/src/ldt/ldt/management/commands/createmediacontent.py	Wed Apr 22 17:20:34 2020 +0200
+++ b/src/ldt/ldt/management/commands/createmediacontent.py	Thu Apr 23 16:02:21 2020 +0200
@@ -8,6 +8,7 @@
 import dateutil.parser
 import logging
 from optparse import make_option
+import re
 import time
 import urlparse
 
@@ -34,12 +35,18 @@
     def get_duration(self, value):
         dur = None
         for f in self.formats:
-            try:
-                dur = time.strptime(value, f)
-                dur = (dur.tm_hour*3600 + dur.tm_min*60 + dur.tm_sec) * 1000
-                break
-            except:
-                pass
+            if f.startswith("%Ss"):
+                m = re.search("(\d+)s(?:ec)?", value)
+                if m:
+                    dur = int(m.group(1))*1000
+                    break
+            else:
+                try:
+                    dur = time.strptime(value, f)
+                    dur = (dur.tm_hour*3600 + dur.tm_min*60 + dur.tm_sec) * 1000
+                    break
+                except:
+                    pass
         return dur