From 2c90fd18f4cae4d6698afbfab8b73173deca2543 Mon Sep 17 00:00:00 2001 From: Alexander Kryklia Date: Mon, 21 Oct 2013 15:55:49 +0300 Subject: [PATCH] Rename IsoTime to RelativeTime. --- cms/static/js/models/metadata.js | 2 +- cms/static/js/views/metadata.js | 9 +++--- common/lib/xmodule/xmodule/fields.py | 14 +++++----- .../lib/xmodule/xmodule/tests/test_fields.py | 28 +++++++++---------- .../xmodule/xmodule/tests/test_xml_module.py | 6 ++-- common/lib/xmodule/xmodule/video_module.py | 6 ++-- common/lib/xmodule/xmodule/x_module.py | 6 ++-- 7 files changed, 36 insertions(+), 35 deletions(-) diff --git a/cms/static/js/models/metadata.js b/cms/static/js/models/metadata.js index cc63e5946e..3c5fd07b98 100644 --- a/cms/static/js/models/metadata.js +++ b/cms/static/js/models/metadata.js @@ -108,7 +108,7 @@ define(["backbone"], function(Backbone) { Metadata.GENERIC_TYPE = "Generic"; Metadata.LIST_TYPE = "List"; Metadata.VIDEO_LIST_TYPE = "VideoList"; - Metadata.ISO_TIME_TYPE = "IsoTime"; + Metadata.RELATIVE_TIME_TYPE = "RelativeTime"; return Metadata; }); diff --git a/cms/static/js/views/metadata.js b/cms/static/js/views/metadata.js index dbfdda223f..f58e68067c 100644 --- a/cms/static/js/views/metadata.js +++ b/cms/static/js/views/metadata.js @@ -38,8 +38,9 @@ function(Backbone, _, MetadataModel, AbstractEditor, VideoList) { } else if(model.getType() === MetadataModel.VIDEO_LIST_TYPE) { new VideoList(data); - else if(model.getType() === MetadataModel.ISO_TIME_TYPE) { - new Metadata.IsoTime(data); + } + else if(model.getType() === MetadataModel.RELATIVE_TIME_TYPE) { + new Metadata.RelativeTime(data); } else { // Everything else is treated as GENERIC_TYPE, which uses String editor. @@ -293,7 +294,7 @@ function(Backbone, _, MetadataModel, AbstractEditor, VideoList) { } }); - Metadata.IsoTime = Metadata.AbstractEditor.extend({ + Metadata.RelativeTime = AbstractEditor.extend({ events : { "change input" : "updateModel", @@ -304,7 +305,7 @@ function(Backbone, _, MetadataModel, AbstractEditor, VideoList) { templateName: "metadata-string-entry", initialize: function () { - Metadata.AbstractEditor.prototype.initialize.apply(this); + AbstractEditor.prototype.initialize.apply(this); // This list of definitions is used for creating appropriate // time format mask; diff --git a/common/lib/xmodule/xmodule/fields.py b/common/lib/xmodule/xmodule/fields.py index 878505722f..10056f04fd 100644 --- a/common/lib/xmodule/xmodule/fields.py +++ b/common/lib/xmodule/xmodule/fields.py @@ -118,7 +118,7 @@ class Timedelta(Field): return ' '.join(values) -class IsoTime(Field): +class RelativeTime(Field): """ Field for start_time and end_time video module properties. @@ -134,8 +134,8 @@ class IsoTime(Field): In database we previously had float type for start_time and end_time fields, so we are checking it also. - Python object of IsoTime is datetime.timedelta. - JSONed representation of IsoTime is "HH:MM:SS" + Python object of RelativeTime is datetime.timedelta. + JSONed representation of RelativeTime is "HH:MM:SS" """ # Timedeltas are immutable, see http://docs.python.org/2/library/datetime.html#available-types MUTABLE = False @@ -151,7 +151,7 @@ class IsoTime(Field): obj_time = time.strptime(value, '%H:%M:%S') except ValueError as e: raise ValueError( - "Incorrect IsoTime value {} was set in XML or serialized." + "Incorrect RelativeTime value {} was set in XML or serialized." "Original parse message is {}".format(value, e.message) ) return datetime.timedelta( @@ -177,7 +177,7 @@ class IsoTime(Field): if isinstance(value, basestring): return self._isotime_to_timedelta(value) - msg = "IsoTime Field {0} has bad value '{1}'".format(self._name, value) + msg = "RelativeTime Field {0} has bad value '{1}'".format(self._name, value) raise TypeError(msg) def to_json(self, value): @@ -201,9 +201,9 @@ class IsoTime(Field): if isinstance(value, datetime.timedelta): if value.total_seconds() > 86400: # sanity check raise ValueError( - "IsoTime max value is 23:59:59=86400.0 seconds, " + "RelativeTime max value is 23:59:59=86400.0 seconds, " "but {} seconds is passed".format(value.total_seconds()) ) return str(value) - raise TypeError("IsoTime: cannot convert {!r} to json".format(value)) + raise TypeError("RelativeTime: cannot convert {!r} to json".format(value)) diff --git a/common/lib/xmodule/xmodule/tests/test_fields.py b/common/lib/xmodule/xmodule/tests/test_fields.py index 99fc1b9626..808ceb754b 100644 --- a/common/lib/xmodule/xmodule/tests/test_fields.py +++ b/common/lib/xmodule/xmodule/tests/test_fields.py @@ -2,7 +2,7 @@ import datetime import unittest from django.utils.timezone import UTC -from xmodule.fields import Date, Timedelta, IsoTime +from xmodule.fields import Date, Timedelta, RelativeTime from xmodule.timeinfo import TimeInfo import time @@ -118,52 +118,52 @@ class TimeInfoTest(unittest.TestCase): due_date + Timedelta().from_json(grace_pd_string)) -class IsoTimeTest(unittest.TestCase): +class RelativeTimeTest(unittest.TestCase): - delta = IsoTime() + delta = RelativeTime() def test_from_json(self): self.assertEqual( - IsoTimeTest.delta.from_json('0:05:07'), + RelativeTimeTest.delta.from_json('0:05:07'), datetime.timedelta(seconds=307) ) self.assertEqual( - IsoTimeTest.delta.from_json(100.0), + RelativeTimeTest.delta.from_json(100.0), datetime.timedelta(seconds=100) ) self.assertEqual( - IsoTimeTest.delta.from_json(None), + RelativeTimeTest.delta.from_json(None), datetime.timedelta(seconds=0) ) with self.assertRaises(TypeError): - IsoTimeTest.delta.from_json(1234) # int + RelativeTimeTest.delta.from_json(1234) # int with self.assertRaises(ValueError): - IsoTimeTest.delta.from_json("77:77:77") + RelativeTimeTest.delta.from_json("77:77:77") def test_to_json(self): self.assertEqual( "1:02:03", - IsoTimeTest.delta.to_json(datetime.timedelta(seconds=3723)) + RelativeTimeTest.delta.to_json(datetime.timedelta(seconds=3723)) ) self.assertEqual( "00:00:00", - IsoTimeTest.delta.to_json(None) + RelativeTimeTest.delta.to_json(None) ) self.assertEqual( "0:01:40", - IsoTimeTest.delta.to_json(100.0) + RelativeTimeTest.delta.to_json(100.0) ) with self.assertRaises(ValueError) as cm: - IsoTimeTest.delta.to_json(datetime.timedelta(seconds=90000)) + RelativeTimeTest.delta.to_json(datetime.timedelta(seconds=90000)) self.assertEqual( cm.exception.message, - "IsoTime max value is 23:59:59=86400.0 seconds, but 90000.0 seconds is passed" + "RelativeTime max value is 23:59:59=86400.0 seconds, but 90000.0 seconds is passed" ) with self.assertRaises(TypeError): - IsoTimeTest.delta.to_json("123") + RelativeTimeTest.delta.to_json("123") diff --git a/common/lib/xmodule/xmodule/tests/test_xml_module.py b/common/lib/xmodule/xmodule/tests/test_xml_module.py index 2e6e6b1e2b..a6be03d82e 100644 --- a/common/lib/xmodule/xmodule/tests/test_xml_module.py +++ b/common/lib/xmodule/xmodule/tests/test_xml_module.py @@ -10,7 +10,7 @@ from xblock.field_data import DictFieldData from xblock.fields import Scope, String, Dict, Boolean, Integer, Float, Any, List from xblock.runtime import DbModel -from xmodule.fields import Date, Timedelta, IsoTime +from xmodule.fields import Date, Timedelta, RelativeTime from xmodule.modulestore.inheritance import InheritanceKeyValueStore, InheritanceMixin from xmodule.xml_module import XmlDescriptor, serialize_field, deserialize_field from xmodule.course_module import CourseDescriptor @@ -389,10 +389,10 @@ class TestDeserializeTimedelta(TestDeserialize): self.assertDeserializeNonString() -class TestDeserializeIsoTime(TestDeserialize): +class TestDeserializeRelativeTime(TestDeserialize): """ Tests deserialize as related to Timedelta type. """ - test_field = IsoTime + test_field = RelativeTime def test_deserialize(self): """ diff --git a/common/lib/xmodule/xmodule/video_module.py b/common/lib/xmodule/xmodule/video_module.py index 30c877917c..1ace7572ba 100644 --- a/common/lib/xmodule/xmodule/video_module.py +++ b/common/lib/xmodule/xmodule/video_module.py @@ -29,7 +29,7 @@ from xmodule.raw_module import EmptyDataRawDescriptor from xmodule.xml_module import is_pointer_tag, name_to_pathname, deserialize_field from xmodule.modulestore import Location from xblock.fields import Scope, String, Boolean, List, Integer, ScopeIds -from xmodule.fields import IsoTime +from xmodule.fields import RelativeTime from xmodule.modulestore.inheritance import InheritanceKeyValueStore from xblock.runtime import DbModel @@ -80,13 +80,13 @@ class VideoFields(object): scope=Scope.settings, default="" ) - start_time = IsoTime( # datetime.timedelta object + start_time = RelativeTime( # datetime.timedelta object help="Start time for the video.", display_name="Start Time", scope=Scope.settings, default=datetime.timedelta(seconds=0) ) - end_time = IsoTime( # datetime.timedelta object + end_time = RelativeTime( # datetime.timedelta object help="End time for the video.", display_name="End Time", scope=Scope.settings, diff --git a/common/lib/xmodule/xmodule/x_module.py b/common/lib/xmodule/xmodule/x_module.py index 230ba88c2d..c9f8ca4eab 100644 --- a/common/lib/xmodule/xmodule/x_module.py +++ b/common/lib/xmodule/xmodule/x_module.py @@ -13,7 +13,7 @@ from xmodule.modulestore.exceptions import ItemNotFoundError, InsufficientSpecif from xblock.core import XBlock from xblock.fields import Scope, Integer, Float, List, XBlockMixin, String -from xmodule.fields import IsoTime +from xmodule.fields import RelativeTime from xblock.fragment import Fragment from xblock.runtime import Runtime from xmodule.errortracker import exc_info_to_str @@ -709,8 +709,8 @@ class XModuleDescriptor(XModuleMixin, HTMLSnippet, ResourceTemplates, XBlock): editor_type = "Float" elif isinstance(field, List): editor_type = "List" - elif isinstance(field, IsoTime): - editor_type = "IsoTime" + elif isinstance(field, RelativeTime): + editor_type = "RelativeTime" metadata_fields[field.name]['type'] = editor_type metadata_fields[field.name]['options'] = [] if values is None else values