Fixing some bugs with the dependent polling settings and adjusting the default values...
authorEd Page <eopage@byu.net>
Mon, 8 Feb 2010 13:31:10 +0000 (07:31 -0600)
committerEd Page <eopage@byu.net>
Mon, 8 Feb 2010 13:31:10 +0000 (07:31 -0600)
src/gvoice/session.py
support/theonering.manager

index 45f80b9..278ab2f 100644 (file)
@@ -16,9 +16,9 @@ _moduleLogger = logging.getLogger("gvoice.session")
 class Session(object):
 
        _DEFAULTS = {
 class Session(object):
 
        _DEFAULTS = {
-               "contacts": (3, "hours"),
-               "voicemail": (30, "minutes"),
-               "texts": (5, "minutes"),
+               "contacts": (12, "hours"),
+               "voicemail": (120, "minutes"),
+               "texts": (10, "minutes"),
        }
 
        _MINIMUM_MESSAGE_PERIOD = state_machine.to_seconds(minutes=30)
        }
 
        _MINIMUM_MESSAGE_PERIOD = state_machine.to_seconds(minutes=30)
@@ -60,10 +60,12 @@ class Session(object):
 
                if defaults["voicemail"][0] == state_machine.UpdateStateMachine.INFINITE_PERIOD:
                        voicemailPeriodInSeconds = state_machine.UpdateStateMachine.INFINITE_PERIOD
 
                if defaults["voicemail"][0] == state_machine.UpdateStateMachine.INFINITE_PERIOD:
                        voicemailPeriodInSeconds = state_machine.UpdateStateMachine.INFINITE_PERIOD
+                       idleVoicemailPeriodInSeconds = state_machine.UpdateStateMachine.INFINITE_PERIOD
                else:
                        voicemailPeriodInSeconds = state_machine.to_seconds(
                                **{defaults["voicemail"][1]: defaults["voicemail"][0],}
                        )
                else:
                        voicemailPeriodInSeconds = state_machine.to_seconds(
                                **{defaults["voicemail"][1]: defaults["voicemail"][0],}
                        )
+                       idleVoicemailPeriodInSeconds = max(voicemailPeriodInSeconds * 4, self._MINIMUM_MESSAGE_PERIOD)
                self._voicemails = conversations.Conversations(self._backend.get_voicemails)
                self._voicemailsStateMachine = state_machine.UpdateStateMachine([self.voicemails], "Voicemail")
                self._voicemailsStateMachine.set_state_strategy(
                self._voicemails = conversations.Conversations(self._backend.get_voicemails)
                self._voicemailsStateMachine = state_machine.UpdateStateMachine([self.voicemails], "Voicemail")
                self._voicemailsStateMachine.set_state_strategy(
@@ -72,9 +74,7 @@ class Session(object):
                )
                self._voicemailsStateMachine.set_state_strategy(
                        state_machine.StateMachine.STATE_IDLE,
                )
                self._voicemailsStateMachine.set_state_strategy(
                        state_machine.StateMachine.STATE_IDLE,
-                       state_machine.ConstantStateStrategy(
-                               max(voicemailPeriodInSeconds * 4, self._MINIMUM_MESSAGE_PERIOD)
-                       )
+                       state_machine.ConstantStateStrategy(idleVoicemailPeriodInSeconds)
                )
                self._voicemailsStateMachine.set_state_strategy(
                        state_machine.StateMachine.STATE_ACTIVE,
                )
                self._voicemailsStateMachine.set_state_strategy(
                        state_machine.StateMachine.STATE_ACTIVE,
@@ -87,11 +87,17 @@ class Session(object):
                )
 
                if defaults["texts"][0] == state_machine.UpdateStateMachine.INFINITE_PERIOD:
                )
 
                if defaults["texts"][0] == state_machine.UpdateStateMachine.INFINITE_PERIOD:
+                       initTextsPeriodInSeconds = state_machine.UpdateStateMachine.INFINITE_PERIOD
+                       minTextsPeriodInSeconds = state_machine.UpdateStateMachine.INFINITE_PERIOD
                        textsPeriodInSeconds = state_machine.UpdateStateMachine.INFINITE_PERIOD
                        textsPeriodInSeconds = state_machine.UpdateStateMachine.INFINITE_PERIOD
+                       idleTextsPeriodInSeconds = state_machine.UpdateStateMachine.INFINITE_PERIOD
                else:
                else:
+                       initTextsPeriodInSeconds = state_machine.to_seconds(seconds=20)
+                       minTextsPeriodInSeconds = state_machine.to_seconds(seconds=1)
                        textsPeriodInSeconds = state_machine.to_seconds(
                                **{defaults["texts"][1]: defaults["texts"][0],}
                        )
                        textsPeriodInSeconds = state_machine.to_seconds(
                                **{defaults["texts"][1]: defaults["texts"][0],}
                        )
+                       idleTextsPeriodInSeconds = max(textsPeriodInSeconds * 4, self._MINIMUM_MESSAGE_PERIOD)
                self._texts = conversations.Conversations(self._backend.get_texts)
                self._textsStateMachine = state_machine.UpdateStateMachine([self.texts], "Texting")
                self._textsStateMachine.set_state_strategy(
                self._texts = conversations.Conversations(self._backend.get_texts)
                self._textsStateMachine = state_machine.UpdateStateMachine([self.texts], "Texting")
                self._textsStateMachine.set_state_strategy(
@@ -100,15 +106,13 @@ class Session(object):
                )
                self._textsStateMachine.set_state_strategy(
                        state_machine.StateMachine.STATE_IDLE,
                )
                self._textsStateMachine.set_state_strategy(
                        state_machine.StateMachine.STATE_IDLE,
-                       state_machine.ConstantStateStrategy(
-                               max(textsPeriodInSeconds * 4, self._MINIMUM_MESSAGE_PERIOD)
-                       )
+                       state_machine.ConstantStateStrategy(idleTextsPeriodInSeconds)
                )
                self._textsStateMachine.set_state_strategy(
                        state_machine.StateMachine.STATE_ACTIVE,
                        state_machine.GeometricStateStrategy(
                )
                self._textsStateMachine.set_state_strategy(
                        state_machine.StateMachine.STATE_ACTIVE,
                        state_machine.GeometricStateStrategy(
-                               state_machine.to_seconds(seconds=20),
-                               state_machine.to_seconds(seconds=1),
+                               initTextsPeriodInSeconds,
+                               minTextsPeriodInSeconds,
                                textsPeriodInSeconds,
                        )
                )
                                textsPeriodInSeconds,
                        )
                )
index 63befdf..2caff6b 100644 (file)
@@ -13,6 +13,6 @@ param-voicemail-poll-period-in-minutes = i
 param-texts-poll-period-in-minutes = i
 default-forward =
 default-use-gv-contacts = true
 param-texts-poll-period-in-minutes = i
 default-forward =
 default-use-gv-contacts = true
-default-contacts-poll-period-in-hours = 3
-default-voicemail-poll-period-in-minutes = 30
-default-texts-poll-period-in-minutes = 5
+default-contacts-poll-period-in-hours = 12
+default-voicemail-poll-period-in-minutes = 120
+default-texts-poll-period-in-minutes = 10