Mailing list archives: January 2006

Site index · List index
Message listThread · Author · Date
------ </span><span class="cx"> </span><del>-*chandler.interaction.triage_position* provides callables like: </del><ins>+"chandler.interaction.triage_position" provides callables like: </ins><span class="cx"> </span><del>-.. describe:: triage_position_callable(entry) -> (weight, position) </del><ins>+.. describe:: triage_position_callable(entry) -> position </ins><span class="cx"> </span><del>- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. </del><ins>+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. </ins><span class="cx"> </span><span class="cx"> .. seealso:: </span><span class="cx"> </span></span></pre> </div> </div> </body> </html> ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Tue, 20 Dec, 12:56
<br...@iterative.com> lt;span class="cx"&gt; def __str__(self): &lt;/span&gt;&lt;span class="cx"&gt; return self.msg % {'cell_description' : self.cell_description, &lt;/span&gt;&lt;span class="cx"&gt; 'cell_value' : self.cell_value} &lt;/span&gt;&lt;ins&gt;+ + +#### Utility ##### + +class Viewer(trellis.Component): + component = trellis.attr(None) + cell_name = trellis.attr(None) + + @trellis.perform + def view_it(self): + value = getattr(self.component, self.cell_name, None) + if None not in (self.component, self.cell_name, value): + print &amp;quot;%s changed to: %s&amp;quot; % (self.cell_name, value) &lt;/ins&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkChandlerPlatformchandlertime_servicespy"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Chandler-Platform/chandler/time_services.py (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-Platform/chandler/time_services.py 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-Platform/chandler/time_services.py 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -32,16 +32,21 @@ &lt;/span&gt;&lt;span class="cx"&gt; tz = TimeZone.default &lt;/span&gt;&lt;span class="cx"&gt; return datetime.fromtimestamp(activity.Time._now, tz) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+def timestamp(dt): + # timegm returns an int number of seconds, which is probably good + # enough for our purposes, but make tests expect a float, in + # case we decide to replace it with something with a little more + # resolution + return float(timegm(dt.astimezone(TimeZone.utc).timetuple())) + &lt;/ins&gt;&lt;span class="cx"&gt; def setNow(dt): &lt;/span&gt;&lt;span class="cx"&gt; if dt is not None and dt.tzinfo is None: &lt;/span&gt;&lt;span class="cx"&gt; dt = dt.replace(tzinfo=ICUtzinfo.default) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- timetuple = dt.astimezone(TimeZone.utc).timetuple() - &lt;/del&gt;&lt;span class="cx"&gt; # this ignores calendar.timegm (or time.mktime) range limits and &lt;/span&gt;&lt;span class="cx"&gt; # MAXYEAR/MINYEAR, since a now timestamp really shouldn't be outside those &lt;/span&gt;&lt;span class="cx"&gt; # ranges &lt;/span&gt;&lt;del&gt;- new_timestamp = timegm(timetuple) &lt;/del&gt;&lt;ins&gt;+ new_timestamp = timestamp(dt) &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; activity.Time.auto_update = False &lt;/span&gt;&lt;span class="cx"&gt; activity.Time.advance(new_timestamp - activity.Time._now) &lt;/span&gt;&lt;span class="lines"&gt;@@ -54,7 +59,6 @@ &lt;/span&gt;&lt;span class="cx"&gt; &amp;quot;&amp;quot;&amp;quot;The number of seconds betwen the UTC epoch and now.&amp;quot;&amp;quot;&amp;quot; &lt;/span&gt;&lt;span class="cx"&gt; return activity.Time._now &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- &lt;/del&gt;&lt;span class="cx"&gt; class TimeZone(trellis.Component, context.Service): &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; default = trellis.attr(ICUtzinfo.default) &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkHookstxt"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Hooks.txt (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Hooks.txt 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Hooks.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -11,8 +11,8 @@ &lt;/span&gt;&lt;span class="cx"&gt; Main hooks &lt;/span&gt;&lt;span class="cx"&gt; ========== &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-Below are Chandler's most frequently used Hooks. See the index_ for a -complete list. &lt;/del&gt;&lt;ins&gt;+Below are Chandler's most frequently used Hooks. See &amp;quot;hook&amp;quot; in the +index_ for a complete list. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. &lt;/span&gt;&lt;span class="cx"&gt; When documenting a hook, add a Sphinx index directive, like &lt;/span&gt;&lt;span class="lines"&gt;@@ -22,17 +22,38 @@ &lt;/span&gt;&lt;span class="cx"&gt; and use :ref: to link to associated use and registration documentation. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+.. index:: hook; chandler.domain.triage +.. _triage-hook-central: + +Triage +------ + +.. describe:: triage_callable(entry) -&amp;gt; (weight, triage_status) + + Return (-1, None) if triage can't be calculated for the entry, + otherwise a float weight and :mod:`~chandler.triage` value. + +.. seealso:: + + :ref:`triage-hook` + .. + + :ref:`event-triage-position` + .. + + &lt;/ins&gt;&lt;span class="cx"&gt; .. index:: hook; chandler.interaction.triage_position &lt;/span&gt;&lt;ins&gt;+.. _triage-position-hook-central: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; Triage position &lt;/span&gt;&lt;span class="cx"&gt; --------------- &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-*chandler.interaction.triage_position* provides callables like: &lt;/del&gt;&lt;ins&gt;+&amp;quot;chandler.interaction.triage_position&amp;quot; provides callables like: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-.. describe:: triage_position_callable(entry) -&amp;gt; (weight, position) &lt;/del&gt;&lt;ins&gt;+.. describe:: triage_position_callable(entry) -&amp;gt; position &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. &lt;/del&gt;&lt;ins&gt;+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. seealso:: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Sat, 22 Apr, 09:40
<jgreen6...@yahoo.com> lt;span class="info"&gt;--- trunk/Chandler-App/chandler/event.py 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-App/chandler/event.py 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -1,14 +1,16 @@ &lt;/span&gt;&lt;span class="cx"&gt; from datetime import datetime, timedelta, time &lt;/span&gt;&lt;span class="cx"&gt; import peak.events.trellis as trellis &lt;/span&gt;&lt;ins&gt;+import peak.events.activity as activity &lt;/ins&gt;&lt;span class="cx"&gt; from peak.util.addons import AddOn &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; from chandler.core import * &lt;/span&gt;&lt;del&gt;-from chandler.time_services import TimeZone &lt;/del&gt;&lt;ins&gt;+from chandler.time_services import TimeZone, timestamp, nowTimestamp +from chandler.triage import Triage, NOW, LATER &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- &lt;/del&gt;&lt;span class="cx"&gt; one_hour = timedelta(hours=1) &lt;/span&gt;&lt;span class="cx"&gt; zero_delta = timedelta(0) &lt;/span&gt;&lt;span class="cx"&gt; midnight = time(0, tzinfo=TimeZone.floating) &lt;/span&gt;&lt;ins&gt;+EVENT_TRIAGE_WEIGHT = 2.0 &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; class Event(Extension): &lt;/span&gt;&lt;span class="cx"&gt; trellis.attrs( &lt;/span&gt;&lt;span class="lines"&gt;@@ -30,6 +32,12 @@ &lt;/span&gt;&lt;span class="cx"&gt; return datetime.combine(self.base_start.date(), midnight) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; @trellis.compute &lt;/span&gt;&lt;ins&gt;+ def is_started(self): + if self.start is None: + return True + return bool(activity.Time[timestamp(self.start) - nowTimestamp()]) + + @trellis.compute &lt;/ins&gt;&lt;span class="cx"&gt; def duration(self): &lt;/span&gt;&lt;span class="cx"&gt; if not self.is_day: &lt;/span&gt;&lt;span class="cx"&gt; return self.base_duration &lt;/span&gt;&lt;span class="lines"&gt;@@ -72,6 +80,12 @@ &lt;/span&gt;&lt;span class="cx"&gt; raise BadDurationError(self.base_duration) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+def event_triage(item): + if not Event.installed_on(item): + return (-1, None) + status = NOW if Event(item).is_started else LATER + return (EVENT_TRIAGE_WEIGHT, status) + &lt;/ins&gt;&lt;span class="cx"&gt; class NaiveTimezoneError(ConstraintError): &lt;/span&gt;&lt;span class="cx"&gt; cell_description = &amp;quot;base_start&amp;quot; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="lines"&gt;@@ -113,6 +127,7 @@ &lt;/span&gt;&lt;span class="cx"&gt; return bool(self.event and not self.event.implied_transparency) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-# implied transparency &lt;/del&gt;&lt;ins&gt;+def event_triage_position(item): + pass &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; # is_between &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkChandlerAppchandlertriagepy"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Chandler-App/chandler/triage.py (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-App/chandler/triage.py 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-App/chandler/triage.py 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -1,4 +1,5 @@ &lt;/span&gt;&lt;span class="cx"&gt; import peak.events.trellis as trellis &lt;/span&gt;&lt;ins&gt;+from peak.util import plugins &lt;/ins&gt;&lt;span class="cx"&gt; from peak.util.addons import AddOn &lt;/span&gt;&lt;span class="cx"&gt; from chandler.time_services import nowTimestamp &lt;/span&gt;&lt;span class="cx"&gt; from chandler.core import ConstraintError &lt;/span&gt;&lt;span class="lines"&gt;@@ -9,15 +10,34 @@ &lt;/span&gt;&lt;span class="cx"&gt; LATER = 200.0 &lt;/span&gt;&lt;span class="cx"&gt; DONE = 300.0 &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+TRIAGE_HOOK = plugins.Hook('chandler.domain.triage') +POSITION_HOOK = plugins.Hook('chandler.interaction.triage_position') + &lt;/ins&gt;&lt;span class="cx"&gt; ### Domain model ### &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; class Triage(AddOn, trellis.Component): &lt;/span&gt;&lt;span class="cx"&gt; trellis.attrs( &lt;/span&gt;&lt;ins&gt;+ _item=None, &lt;/ins&gt;&lt;span class="cx"&gt; manual=None, &lt;/span&gt;&lt;del&gt;- auto=None &lt;/del&gt;&lt;ins&gt;+ auto_source=None &lt;/ins&gt;&lt;span class="cx"&gt; ) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+ def __init__(self, item, **kwargs): + self._item = item + &lt;/ins&gt;&lt;span class="cx"&gt; @trellis.compute &lt;/span&gt;&lt;ins&gt;+ def auto(self): + if self.auto_source: + pass # make use of auto_source when reminders have been fleshed out + else: + positions = list(TRIAGE_HOOK.query(self._item)) + # default to NOW if nothing else applies + positions.append((0, NOW)) + max_weight, position = max(positions) + return position + + + @trellis.compute &lt;/ins&gt;&lt;span class="cx"&gt; def calculated(self): &lt;/span&gt;&lt;span class="cx"&gt; if self.manual is not None: &lt;/span&gt;&lt;span class="cx"&gt; return self.manual &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkChandlerAppsetuppy"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Chandler-App/setup.py (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-App/setup.py 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-App/setup.py 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -11,5 +11,12 @@ &lt;/span&gt;&lt;span class="cx"&gt; install_requires=['Chandler-Platform'], &lt;/span&gt;&lt;span class="cx"&gt; test_suite = 'test_suite', &lt;/span&gt;&lt;span class="cx"&gt; packages = find_packages(), &lt;/span&gt;&lt;del&gt;- namespace_packages = ['chandler'] &lt;/del&gt;&lt;ins&gt;+ namespace_packages = ['chandler'], + entry_points = &amp;quot;&amp;quot;&amp;quot; + [chandler.domain.triage] + event = chandler.event:event_triage + + [chandler.interaction.triage_position] + event = chandler.event:event_triage_position + &amp;quot;&amp;quot;&amp;quot; &lt;/ins&gt;&lt;span class="cx"&gt; ), &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkChandlerPlatformTimeServicestxt"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Chandler-Platform/TimeServices.txt (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-Platform/TimeServices.txt 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-Platform/TimeServices.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -137,8 +137,17 @@ &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; getNow() &lt;/span&gt;&lt;span class="cx"&gt; datetime.datetime(2008, 9, 30, 10, 0, tzinfo=&amp;lt;ICUtzinfo: US/Eastern&amp;gt;) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+Timestamps +========== + +Timestamps are float values measuring seconds since the UTC epoch. +timemachine provides a convenience function for getting timestamps: + +&amp;gt;&amp;gt;&amp;gt; timestamp(oct1) +1222880400.0 + &lt;/ins&gt;&lt;span class="cx"&gt; There's also a time_services-aware function for getting a current &lt;/span&gt;&lt;del&gt;-timestamp (seconds since the UTC epoch). &lt;/del&gt;&lt;ins&gt;+timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; nowTimestamp() &lt;/span&gt;&lt;span class="cx"&gt; 1222783200.0 &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkChandlerPlatformchandlercorepy"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Chandler-Platform/chandler/core.py (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-Platform/chandler/core.py 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-Platform/chandler/core.py 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -66,3 +66,16 @@ &lt;/span&gt;&lt;span class="cx"&gt; def __str__(self): &lt;/span&gt;&lt;span class="cx"&gt; return self.msg % {'cell_description' : self.cell_description, &lt;/span&gt;&lt;span class="cx"&gt; 'cell_value' : self.cell_value} &lt;/span&gt;&lt;ins&gt;+ + +#### Utility ##### + +class Viewer(trellis.Component): + component = trellis.attr(None) + cell_name = trellis.attr(None) + + @trellis.perform + def view_it(self): + value = getattr(self.component, self.cell_name, None) + if None not in (self.component, self.cell_name, value): + print &amp;quot;%s changed to: %s&amp;quot; % (self.cell_name, value) &lt;/ins&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkChandlerPlatformchandlertime_servicespy"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Chandler-Platform/chandler/time_services.py (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-Platform/chandler/time_services.py 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-Platform/chandler/time_services.py 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -32,16 +32,21 @@ &lt;/span&gt;&l Mon, 01 Jan, 05:31
<mblackm...@oxlug.org> lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-Platform/chandler/core.py 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-Platform/chandler/core.py 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -66,3 +66,16 @@ &lt;/span&gt;&lt;span class="cx"&gt; def __str__(self): &lt;/span&gt;&lt;span class="cx"&gt; return self.msg % {'cell_description' : self.cell_description, &lt;/span&gt;&lt;span class="cx"&gt; 'cell_value' : self.cell_value} &lt;/span&gt;&lt;ins&gt;+ + +#### Utility ##### + +class Viewer(trellis.Component): + component = trellis.attr(None) + cell_name = trellis.attr(None) + + @trellis.perform + def view_it(self): + value = getattr(self.component, self.cell_name, None) + if None not in (self.component, self.cell_name, value): + print &amp;quot;%s changed to: %s&amp;quot; % (self.cell_name, value) &lt;/ins&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkChandlerPlatformchandlertime_servicespy"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Chandler-Platform/chandler/time_services.py (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-Platform/chandler/time_services.py 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-Platform/chandler/time_services.py 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -32,16 +32,21 @@ &lt;/span&gt;&lt;span class="cx"&gt; tz = TimeZone.default &lt;/span&gt;&lt;span class="cx"&gt; return datetime.fromtimestamp(activity.Time._now, tz) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+def timestamp(dt): + # timegm returns an int number of seconds, which is probably good + # enough for our purposes, but make tests expect a float, in + # case we decide to replace it with something with a little more + # resolution + return float(timegm(dt.astimezone(TimeZone.utc).timetuple())) + &lt;/ins&gt;&lt;span class="cx"&gt; def setNow(dt): &lt;/span&gt;&lt;span class="cx"&gt; if dt is not None and dt.tzinfo is None: &lt;/span&gt;&lt;span class="cx"&gt; dt = dt.replace(tzinfo=ICUtzinfo.default) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- timetuple = dt.astimezone(TimeZone.utc).timetuple() - &lt;/del&gt;&lt;span class="cx"&gt; # this ignores calendar.timegm (or time.mktime) range limits and &lt;/span&gt;&lt;span class="cx"&gt; # MAXYEAR/MINYEAR, since a now timestamp really shouldn't be outside those &lt;/span&gt;&lt;span class="cx"&gt; # ranges &lt;/span&gt;&lt;del&gt;- new_timestamp = timegm(timetuple) &lt;/del&gt;&lt;ins&gt;+ new_timestamp = timestamp(dt) &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; activity.Time.auto_update = False &lt;/span&gt;&lt;span class="cx"&gt; activity.Time.advance(new_timestamp - activity.Time._now) &lt;/span&gt;&lt;span class="lines"&gt;@@ -54,7 +59,6 @@ &lt;/span&gt;&lt;span class="cx"&gt; &amp;quot;&amp;quot;&amp;quot;The number of seconds betwen the UTC epoch and now.&amp;quot;&amp;quot;&amp;quot; &lt;/span&gt;&lt;span class="cx"&gt; return activity.Time._now &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- &lt;/del&gt;&lt;span class="cx"&gt; class TimeZone(trellis.Component, context.Service): &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; default = trellis.attr(ICUtzinfo.default) &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkHookstxt"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Hooks.txt (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Hooks.txt 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Hooks.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -11,8 +11,8 @@ &lt;/span&gt;&lt;span class="cx"&gt; Main hooks &lt;/span&gt;&lt;span class="cx"&gt; ========== &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-Below are Chandler's most frequently used Hooks. See the index_ for a -complete list. &lt;/del&gt;&lt;ins&gt;+Below are Chandler's most frequently used Hooks. See &amp;quot;hook&amp;quot; in the +index_ for a complete list. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. &lt;/span&gt;&lt;span class="cx"&gt; When documenting a hook, add a Sphinx index directive, like &lt;/span&gt;&lt;span class="lines"&gt;@@ -22,17 +22,38 @@ &lt;/span&gt;&lt;span class="cx"&gt; and use :ref: to link to associated use and registration documentation. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+.. index:: hook; chandler.domain.triage +.. _triage-hook-central: + +Triage +------ + +.. describe:: triage_callable(entry) -&amp;gt; (weight, triage_status) + + Return (-1, None) if triage can't be calculated for the entry, + otherwise a float weight and :mod:`~chandler.triage` value. + +.. seealso:: + + :ref:`triage-hook` + .. + + :ref:`event-triage-position` + .. + + &lt;/ins&gt;&lt;span class="cx"&gt; .. index:: hook; chandler.interaction.triage_position &lt;/span&gt;&lt;ins&gt;+.. _triage-position-hook-central: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; Triage position &lt;/span&gt;&lt;span class="cx"&gt; --------------- &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-*chandler.interaction.triage_position* provides callables like: &lt;/del&gt;&lt;ins&gt;+&amp;quot;chandler.interaction.triage_position&amp;quot; provides callables like: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-.. describe:: triage_position_callable(entry) -&amp;gt; (weight, position) &lt;/del&gt;&lt;ins&gt;+.. describe:: triage_position_callable(entry) -&amp;gt; position &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. &lt;/del&gt;&lt;ins&gt;+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. seealso:: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Mon, 24 Dec, 15:48
Parlante Event(item).add() &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; event.start is None &lt;/span&gt;&lt;span class="lines"&gt;@@ -32,7 +34,7 @@ &lt;/span&gt;&lt;span class="cx"&gt; Normally, however, you'll want events to have a start time. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; from datetime import datetime &lt;/span&gt;&lt;del&gt;-&amp;gt;&amp;gt;&amp;gt; from chandler.time_services import TimeZone &lt;/del&gt;&lt;ins&gt;+&amp;gt;&amp;gt;&amp;gt; from chandler.time_services import TimeZone, setNow &lt;/ins&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; cinco_de_mayo = datetime(2008, 5, 5, 18, tzinfo=TimeZone.pacific) &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; event.base_start = cinco_de_mayo &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; event.start &lt;/span&gt;&lt;span class="lines"&gt;@@ -144,6 +146,52 @@ &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; event.is_day &lt;/span&gt;&lt;span class="cx"&gt; False &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+Passage of time +=============== + +Events have an *is_started* cell tracking whether ``start`` has arrived. +As time passes, these cells are automatically updated by the Trellis. + +&amp;gt;&amp;gt;&amp;gt; from peak.events.activity import Time +&amp;gt;&amp;gt;&amp;gt; next_year = datetime(2009, 3, 16, 10, tzinfo=TimeZone.pacific) +&amp;gt;&amp;gt;&amp;gt; setNow(next_year) +&amp;gt;&amp;gt;&amp;gt; item2 = Item() +&amp;gt;&amp;gt;&amp;gt; event2 = Event(item2).add() + +If an event doesn't have a start time, it's considered started: + +&amp;gt;&amp;gt;&amp;gt; event2.is_started +True + +We'll use a Viewer_ to display when *is_started* changes values. + +XXX document Viewer somewhere more appropriate + +&amp;gt;&amp;gt;&amp;gt; viewer = Viewer(component=event2, cell_name=&amp;quot;is_started&amp;quot;) +is_started changed to: True +&amp;gt;&amp;gt;&amp;gt; event2.base_start = next_year + timedelta(minutes=2) +is_started changed to: False +&amp;gt;&amp;gt;&amp;gt; Time.advance(180) +is_started changed to: True +&amp;gt;&amp;gt;&amp;gt; event2.base_start = next_year + timedelta(minutes=5) +is_started changed to: False +&amp;gt;&amp;gt;&amp;gt; event2.all_day = True +is_started changed to: True + +Events and Triage Status +======================== + +Events are automatically triaged based on ``is_started``. If the +event hasn't started, its triage status will be +:const:`~chandler.triage.LATER`, otherwise it will be +:const:`~chandler.triage.NOW`. + +&amp;gt;&amp;gt;&amp;gt; viewer.component = Triage(item2) +&amp;gt;&amp;gt;&amp;gt; viewer.cell_name = 'calculated' +calculated changed to: 100.0 +&amp;gt;&amp;gt;&amp;gt; event2.all_day = False +calculated changed to: 200.0 + &lt;/ins&gt;&lt;span class="cx"&gt; Recurrence &lt;/span&gt;&lt;span class="cx"&gt; ========== &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="lines"&gt;@@ -287,3 +335,4 @@ &lt;/span&gt;&lt;span class="cx"&gt; Chandler translates the standard CANCELLED value into 'fyi'. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. _iCalendar: http://tools.ietf.org/html/rfc2445 &lt;/span&gt;&lt;ins&gt;+.. _Viewer: http://peak.telecommunity.com/DevCenter/Trellis#model-view-controller-and-the-observer-pattern &lt;/ins&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkChandlerAppTriageInteractiontxt"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Chandler-App/Triage-Interaction.txt (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-App/Triage-Interaction.txt 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-App/Triage-Interaction.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -20,9 +20,6 @@ &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; item_position.position &lt;/span&gt;&lt;span class="cx"&gt; 100.0 &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; item_triage = Triage(item) &lt;/span&gt;&lt;del&gt;-&amp;gt;&amp;gt;&amp;gt; item_triage.auto = LATER -&amp;gt;&amp;gt;&amp;gt; item_position.position -200.0 &lt;/del&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; ``position`` is based on two cells, ``default_position`` and &lt;/span&gt;&lt;span class="cx"&gt; ``pinned_position``. ``pinned_position`` is used to hold an item &lt;/span&gt;&lt;span class="lines"&gt;@@ -96,8 +93,10 @@ &lt;/span&gt;&lt;span class="cx"&gt; useful except for testing. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; Usually, position will be a float measuring seconds since the epoch &lt;/span&gt;&lt;del&gt;-for some time. It's value is found by applying all chandler.interaction.triage_position -hooks on the item and choosing the largest. &lt;/del&gt;&lt;ins&gt;+for some time. It's value is found by applying all +:ref:`chandler.interaction.triage_position +&amp;lt;triage-position-hook-central&amp;gt;` hooks on the item and choosing the +largest. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; XXX should use, define, explain triage_position entry point &lt;/span&gt;&lt;span class="cx"&gt; triage_position eps should return ``None`` if they don't apply, or &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkChandlerAppTriagetxt"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Chandler-App/Triage.txt (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-App/Triage.txt 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-App/Triage.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -2,6 +2,8 @@ &lt;/span&gt;&lt;span class="cx"&gt; Triage Status - Domain Model &lt;/span&gt;&lt;span class="cx"&gt; ============================== &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+.. module:: chandler.triage + &lt;/ins&gt;&lt;span class="cx"&gt; Triage status is based on three states: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; ============ ============ &lt;/span&gt;&lt;span class="lines"&gt;@@ -19,42 +21,50 @@ &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; from chandler.core import Item &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; item = Item() &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; item_triage = Triage(item) &lt;/span&gt;&lt;del&gt;- -``auto`` and ``manual`` are writable cells, ``calculated`` is -read-only. - -&amp;gt;&amp;gt;&amp;gt; item_triage.manual = NOW -&amp;gt;&amp;gt;&amp;gt; item_triage.auto = LATER &lt;/del&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; item_triage.calculated &lt;/span&gt;&lt;span class="cx"&gt; 100.0 &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-``calculated`` is the final, user facing triage status. If ``manual`` -is ``None`` (the default), ``calculated`` will be based on ``auto``. -Otherwise, ``manual`` takes precedence over ``auto``. &lt;/del&gt;&lt;ins&gt;+:attr:`~Triage.calculated` is the &amp;quot;real&amp;quot; value that should be used for +displaying the current triage status. It's read-only, based on +:attr:`~Triage.manual` and :attr:`~Triage.auto`. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-&amp;gt;&amp;gt;&amp;gt; item_triage.manual = None &lt;/del&gt;&lt;ins&gt;+Triage status can be directly set using :attr:`~Triage.manual`. If +set, :attr:`~Triage.manual` overrides triage status from other +sources. + +&amp;gt;&amp;gt;&amp;gt; item_triage.manual = LATER &lt;/ins&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; item_triage.calculated &lt;/span&gt;&lt;span class="cx"&gt; 200.0 &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-If both ``auto`` and ``manual`` are ``None``, the default, calculated -is ``NOW``. - -&amp;gt;&amp;gt;&amp;gt; item2 = Item() -&amp;gt;&amp;gt;&amp;gt; item2_triage = Triage(item2) -&amp;gt;&amp;gt;&amp;gt; item2_triage.manual is item2_triage.auto is None -True -&amp;gt;&amp;gt;&amp;gt; item2_triage.calculated -100.0 - &lt;/del&gt;&lt;span class="cx"&gt; Triage status must be either ``None``, or an AM, Michael Jenkins wrote: >>>>>>> >>>>>>>> Hi Guys, >>>>>>>> >>>>>>>> Really would really appreciate a response/acknowledgement >>>>>>>> from someone >>>>>>>> human. >>>>>>>> >>>>>>>> I posted error messages yesterday regarding a failure on my >>>>>>>> local >>>>>>>> machine of the desktop copy of chandler. Seems it happened at >>>>>>>> about same >>>>>>>> time as the main hub went down. >>>>>>>> >>>>>>>> So I cannot recover from the hub - seems to be old data - not >>>>>>>> sure how >>>>>>>> far you guys rolled it back. >>>>>>>> >>>>>>>> I am thus utterly dependant on the snapshot - for me this is >>>>>>>> serious. >>>>>>>> >>>>>>>> I cannot find much in way of support for this problem. I >>>>>>>> managed to >>>>>>>> find the menu item which pointed me towards rebuilding from >>>>>>>> the snapshot >>>>>>>> but get this error message below >>>>>>>> >>>>>>>> Please do not leave me hanging guys. I look forward to a >>>>>>>> response >>>>>>>> >>>>>>>> regards >>>>>>>> >>>>>>>> Michael >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Seconds since last error: 292 >>>>>>>> Chandler Version: 1.0.2 >>>>>>>> OS: nt >>>>>>>> Platform Type: win32 >>>>>>>> Platform Details: Windows-XP-5.1.2600 >>>>>>>> Architecture: >>>>>>>> Python Version: 2.5.1 (r251:54863, Nov 28 2007, 17:53:19) >>>>>>>> [MSC v.1310 32 >>>>>>>> bit (Intel)] >>>>>>>> Traceback (most recent call last): >>>>>>>> File "C:\Program Files\Chandler.py", line 101, in main >>>>>>>> return realMain() >>>>>>>> File "C:\Program Files\Chandler.py", line 80, in realMain >>>>>>>> app = wxApplication(redirect=redirect, >>>>>>>> useBestVisual=useBestVisual) >>>>>>>> File "C:\Program Files\release\bin\lib\site-packages\wx >>>>>>>> \_core.py", >>>>>>>> line 7901, in __init__ >>>>>>>> self._BootstrapApp() >>>>>>>> File "C:\Program Files\release\bin\lib\site-packages\wx >>>>>>>> \_core.py", >>>>>>>> line 7498, in _BootstrapApp >>>>>>>> return _core_.PyApp__BootstrapApp(*args, **kwargs) >>>>>>>> File "C:\Program Files\application\Application.py", line 377, >>>>>>>> in OnInit >>>>>>>> options) >>>>>>>> File "C:\Program Files\application\Utility.py", line 1101, in >>>>>>>> openRepositoryOrBackup >>>>>>>> view = openRepository(options, repoDir) >>>>>>>> File "C:\Program Files\application\Utility.py", line 1070, in >>>>>>>> openRepository >>>>>>>> view = initRepository(repoDir, options) >>>>>>>> File "C:\Program Files\application\Utility.py", line 684, in >>>>>>>> initRepository >>>>>>>> repository.open(**kwds) >>>>>>>> File "c:\program >>>>>>>> files\release\bin\lib\site-packages\chandlerdb-0.7_37-py2.5- >>>>>>>> win32.egg\chandlerdb\persistence\DBRepository.py", >>>>>>>> line 970, in open >>>>>>>> raise RepositoryRunRecoveryError, recover >>>>>>>> RepositoryRunRecoveryError: True >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> chandler-users mailing list >>>>>>>> chandler-users@osafoundation.org >>>>>>>> http://lists.osafoundation.org/mailman/listinfo/chandler-users >>>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> > _______________________________________________ chandler-users mailing list chandler-users@osafoundation.org http://lists.osafoundation.org/mailman/listinfo/chandler-users Sat, 09 Apr, 03:30
b...@code-bear.com  Sat, 13 Sep, 09:29
b...@code-bear.com F6-A1D7-83EA5DF2191B@osafoundation.org>/2 Sat, 13 Sep, 09:29
ler bly good + # enough for our purposes, but make tests expect a float, in + # case we decide to replace it with something with a little more + # resolution + return float(timegm(dt.astimezone(TimeZone.utc).timetuple())) + &lt;/ins&gt;&lt;span class="cx"&gt; def setNow(dt): &lt;/span&gt;&lt;span class="cx"&gt; if dt is not None and dt.tzinfo is None: &lt;/span&gt;&lt;span class="cx"&gt; dt = dt.replace(tzinfo=ICUtzinfo.default) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- timetuple = dt.astimezone(TimeZone.utc).timetuple() - &lt;/del&gt;&lt;span class="cx"&gt; # this ignores calendar.timegm (or time.mktime) range limits and &lt;/span&gt;&lt;span class="cx"&gt; # MAXYEAR/MINYEAR, since a now timestamp really shouldn't be outside those &lt;/span&gt;&lt;span class="cx"&gt; # ranges &lt;/span&gt;&lt;del&gt;- new_timestamp = timegm(timetuple) &lt;/del&gt;&lt;ins&gt;+ new_timestamp = timestamp(dt) &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; activity.Time.auto_update = False &lt;/span&gt;&lt;span class="cx"&gt; activity.Time.advance(new_timestamp - activity.Time._now) &lt;/span&gt;&lt;span class="lines"&gt;@@ -54,7 +59,6 @@ &lt;/span&gt;&lt;span class="cx"&gt; &amp;quot;&amp;quot;&amp;quot;The number of seconds betwen the UTC epoch and now.&amp;quot;&amp;quot;&amp;quot; &lt;/span&gt;&lt;span class="cx"&gt; return activity.Time._now &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- &lt;/del&gt;&lt;span class="cx"&gt; class TimeZone(trellis.Component, context.Service): &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; default = trellis.attr(ICUtzinfo.default) &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkHookstxt"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Hooks.txt (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Hooks.txt 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Hooks.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -11,8 +11,8 @@ &lt;/span&gt;&lt;span class="cx"&gt; Main hooks &lt;/span&gt;&lt;span class="cx"&gt; ========== &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-Below are Chandler's most frequently used Hooks. See the index_ for a -complete list. &lt;/del&gt;&lt;ins&gt;+Below are Chandler's most frequently used Hooks. See &amp;quot;hook&amp;quot; in the +index_ for a complete list. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. &lt;/span&gt;&lt;span class="cx"&gt; When documenting a hook, add a Sphinx index directive, like &lt;/span&gt;&lt;span class="lines"&gt;@@ -22,17 +22,38 @@ &lt;/span&gt;&lt;span class="cx"&gt; and use :ref: to link to associated use and registration documentation. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+.. index:: hook; chandler.domain.triage +.. _triage-hook-central: + +Triage +------ + +.. describe:: triage_callable(entry) -&amp;gt; (weight, triage_status) + + Return (-1, None) if triage can't be calculated for the entry, + otherwise a float weight and :mod:`~chandler.triage` value. + +.. seealso:: + + :ref:`triage-hook` + .. + + :ref:`event-triage-position` + .. + + &lt;/ins&gt;&lt;span class="cx"&gt; .. index:: hook; chandler.interaction.triage_position &lt;/span&gt;&lt;ins&gt;+.. _triage-position-hook-central: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; Triage position &lt;/span&gt;&lt;span class="cx"&gt; --------------- &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-*chandler.interaction.triage_position* provides callables like: &lt;/del&gt;&lt;ins&gt;+&amp;quot;chandler.interaction.triage_position&amp;quot; provides callables like: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-.. describe:: triage_position_callable(entry) -&amp;gt; (weight, position) &lt;/del&gt;&lt;ins&gt;+.. describe:: triage_position_callable(entry) -&amp;gt; position &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. &lt;/del&gt;&lt;ins&gt;+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. seealso:: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Sun, 23 Aug, 19:35
ls mp (seconds since the UTC epoch). &lt;/del&gt;&lt;ins&gt;+timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &amp;gt;&amp;gt;&amp;gt; nowTimestamp() &lt;/span&gt;&lt;span class="cx"&gt; 1222783200.0 &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkChandlerPlatformchandlercorepy"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Chandler-Platform/chandler/core.py (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-Platform/chandler/core.py 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-Platform/chandler/core.py 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -66,3 +66,16 @@ &lt;/span&gt;&lt;span class="cx"&gt; def __str__(self): &lt;/span&gt;&lt;span class="cx"&gt; return self.msg % {'cell_description' : self.cell_description, &lt;/span&gt;&lt;span class="cx"&gt; 'cell_value' : self.cell_value} &lt;/span&gt;&lt;ins&gt;+ + +#### Utility ##### + +class Viewer(trellis.Component): + component = trellis.attr(None) + cell_name = trellis.attr(None) + + @trellis.perform + def view_it(self): + value = getattr(self.component, self.cell_name, None) + if None not in (self.component, self.cell_name, value): + print &amp;quot;%s changed to: %s&amp;quot; % (self.cell_name, value) &lt;/ins&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkChandlerPlatformchandlertime_servicespy"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Chandler-Platform/chandler/time_services.py (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Chandler-Platform/chandler/time_services.py 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Chandler-Platform/chandler/time_services.py 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -32,16 +32,21 @@ &lt;/span&gt;&lt;span class="cx"&gt; tz = TimeZone.default &lt;/span&gt;&lt;span class="cx"&gt; return datetime.fromtimestamp(activity.Time._now, tz) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+def timestamp(dt): + # timegm returns an int number of seconds, which is probably good + # enough for our purposes, but make tests expect a float, in + # case we decide to replace it with something with a little more + # resolution + return float(timegm(dt.astimezone(TimeZone.utc).timetuple())) + &lt;/ins&gt;&lt;span class="cx"&gt; def setNow(dt): &lt;/span&gt;&lt;span class="cx"&gt; if dt is not None and dt.tzinfo is None: &lt;/span&gt;&lt;span class="cx"&gt; dt = dt.replace(tzinfo=ICUtzinfo.default) &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- timetuple = dt.astimezone(TimeZone.utc).timetuple() - &lt;/del&gt;&lt;span class="cx"&gt; # this ignores calendar.timegm (or time.mktime) range limits and &lt;/span&gt;&lt;span class="cx"&gt; # MAXYEAR/MINYEAR, since a now timestamp really shouldn't be outside those &lt;/span&gt;&lt;span class="cx"&gt; # ranges &lt;/span&gt;&lt;del&gt;- new_timestamp = timegm(timetuple) &lt;/del&gt;&lt;ins&gt;+ new_timestamp = timestamp(dt) &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; activity.Time.auto_update = False &lt;/span&gt;&lt;span class="cx"&gt; activity.Time.advance(new_timestamp - activity.Time._now) &lt;/span&gt;&lt;span class="lines"&gt;@@ -54,7 +59,6 @@ &lt;/span&gt;&lt;span class="cx"&gt; &amp;quot;&amp;quot;&amp;quot;The number of seconds betwen the UTC epoch and now.&amp;quot;&amp;quot;&amp;quot; &lt;/span&gt;&lt;span class="cx"&gt; return activity.Time._now &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- &lt;/del&gt;&lt;span class="cx"&gt; class TimeZone(trellis.Component, context.Service): &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; default = trellis.attr(ICUtzinfo.default) &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkHookstxt"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Hooks.txt (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Hooks.txt 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Hooks.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -11,8 +11,8 @@ &lt;/span&gt;&lt;span class="cx"&gt; Main hooks &lt;/span&gt;&lt;span class="cx"&gt; ========== &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-Below are Chandler's most frequently used Hooks. See the index_ for a -complete list. &lt;/del&gt;&lt;ins&gt;+Below are Chandler's most frequently used Hooks. See &amp;quot;hook&amp;quot; in the +index_ for a complete list. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. &lt;/span&gt;&lt;span class="cx"&gt; When documenting a hook, add a Sphinx index directive, like &lt;/span&gt;&lt;span class="lines"&gt;@@ -22,17 +22,38 @@ &lt;/span&gt;&lt;span class="cx"&gt; and use :ref: to link to associated use and registration documentation. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+.. index:: hook; chandler.domain.triage +.. _triage-hook-central: + +Triage +------ + +.. describe:: triage_callable(entry) -&amp;gt; (weight, triage_status) + + Return (-1, None) if triage can't be calculated for the entry, + otherwise a float weight and :mod:`~chandler.triage` value. + +.. seealso:: + + :ref:`triage-hook` + .. + + :ref:`event-triage-position` + .. + + &lt;/ins&gt;&lt;span class="cx"&gt; .. index:: hook; chandler.interaction.triage_position &lt;/span&gt;&lt;ins&gt;+.. _triage-position-hook-central: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; Triage position &lt;/span&gt;&lt;span class="cx"&gt; --------------- &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-*chandler.interaction.triage_position* provides callables like: &lt;/del&gt;&lt;ins&gt;+&amp;quot;chandler.interaction.triage_position&amp;quot; provides callables like: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-.. describe:: triage_position_callable(entry) -&amp;gt; (weight, position) &lt;/del&gt;&lt;ins&gt;+.. describe:: triage_position_callable(entry) -&amp;gt; position &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. &lt;/del&gt;&lt;ins&gt;+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. seealso:: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Wed, 28 Jun, 18:45
or ;/span&gt;&lt;del&gt;- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. &lt;/del&gt;&lt;ins&gt;+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. seealso:: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Mon, 11 Apr, 12:09
or ;/span&gt;&lt;del&gt;- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. &lt;/del&gt;&lt;ins&gt;+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. seealso:: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Mon, 11 Apr, 12:09
sut r of seconds betwen the UTC epoch and now.&amp;quot;&amp;quot;&amp;quot; &lt;/span&gt;&lt;span class="cx"&gt; return activity.Time._now &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- &lt;/del&gt;&lt;span class="cx"&gt; class TimeZone(trellis.Component, context.Service): &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; default = trellis.attr(ICUtzinfo.default) &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkHookstxt"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Hooks.txt (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Hooks.txt 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Hooks.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -11,8 +11,8 @@ &lt;/span&gt;&lt;span class="cx"&gt; Main hooks &lt;/span&gt;&lt;span class="cx"&gt; ========== &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-Below are Chandler's most frequently used Hooks. See the index_ for a -complete list. &lt;/del&gt;&lt;ins&gt;+Below are Chandler's most frequently used Hooks. See &amp;quot;hook&amp;quot; in the +index_ for a complete list. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. &lt;/span&gt;&lt;span class="cx"&gt; When documenting a hook, add a Sphinx index directive, like &lt;/span&gt;&lt;span class="lines"&gt;@@ -22,17 +22,38 @@ &lt;/span&gt;&lt;span class="cx"&gt; and use :ref: to link to associated use and registration documentation. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+.. index:: hook; chandler.domain.triage +.. _triage-hook-central: + +Triage +------ + +.. describe:: triage_callable(entry) -&amp;gt; (weight, triage_status) + + Return (-1, None) if triage can't be calculated for the entry, + otherwise a float weight and :mod:`~chandler.triage` value. + +.. seealso:: + + :ref:`triage-hook` + .. + + :ref:`event-triage-position` + .. + + &lt;/ins&gt;&lt;span class="cx"&gt; .. index:: hook; chandler.interaction.triage_position &lt;/span&gt;&lt;ins&gt;+.. _triage-position-hook-central: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; Triage position &lt;/span&gt;&lt;span class="cx"&gt; --------------- &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-*chandler.interaction.triage_position* provides callables like: &lt;/del&gt;&lt;ins&gt;+&amp;quot;chandler.interaction.triage_position&amp;quot; provides callables like: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-.. describe:: triage_position_callable(entry) -&amp;gt; (weight, position) &lt;/del&gt;&lt;ins&gt;+.. describe:: triage_position_callable(entry) -&amp;gt; position &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. &lt;/del&gt;&lt;ins&gt;+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. seealso:: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Fri, 06 Mar, 15:55
sut r of seconds betwen the UTC epoch and now.&amp;quot;&amp;quot;&amp;quot; &lt;/span&gt;&lt;span class="cx"&gt; return activity.Time._now &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- &lt;/del&gt;&lt;span class="cx"&gt; class TimeZone(trellis.Component, context.Service): &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; default = trellis.attr(ICUtzinfo.default) &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkHookstxt"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Hooks.txt (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Hooks.txt 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Hooks.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -11,8 +11,8 @@ &lt;/span&gt;&lt;span class="cx"&gt; Main hooks &lt;/span&gt;&lt;span class="cx"&gt; ========== &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-Below are Chandler's most frequently used Hooks. See the index_ for a -complete list. &lt;/del&gt;&lt;ins&gt;+Below are Chandler's most frequently used Hooks. See &amp;quot;hook&amp;quot; in the +index_ for a complete list. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. &lt;/span&gt;&lt;span class="cx"&gt; When documenting a hook, add a Sphinx index directive, like &lt;/span&gt;&lt;span class="lines"&gt;@@ -22,17 +22,38 @@ &lt;/span&gt;&lt;span class="cx"&gt; and use :ref: to link to associated use and registration documentation. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+.. index:: hook; chandler.domain.triage +.. _triage-hook-central: + +Triage +------ + +.. describe:: triage_callable(entry) -&amp;gt; (weight, triage_status) + + Return (-1, None) if triage can't be calculated for the entry, + otherwise a float weight and :mod:`~chandler.triage` value. + +.. seealso:: + + :ref:`triage-hook` + .. + + :ref:`event-triage-position` + .. + + &lt;/ins&gt;&lt;span class="cx"&gt; .. index:: hook; chandler.interaction.triage_position &lt;/span&gt;&lt;ins&gt;+.. _triage-position-hook-central: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; Triage position &lt;/span&gt;&lt;span class="cx"&gt; --------------- &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-*chandler.interaction.triage_position* provides callables like: &lt;/del&gt;&lt;ins&gt;+&amp;quot;chandler.interaction.triage_position&amp;quot; provides callables like: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-.. describe:: triage_position_callable(entry) -&amp;gt; (weight, position) &lt;/del&gt;&lt;ins&gt;+.. describe:: triage_position_callable(entry) -&amp;gt; position &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. &lt;/del&gt;&lt;ins&gt;+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. seealso:: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Fri, 06 Mar, 15:55
sut ext/plain Fri, 06 Mar, 15:55
ung mails reappear in dashboard - can this be prevented Tue, 20 Jan, 04:07
w.@osafoundation.org> lt;/del&gt;&lt;span class="cx"&gt; class TimeZone(trellis.Component, context.Service): &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; default = trellis.attr(ICUtzinfo.default) &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt; &lt;a id="trunkHookstxt"&gt;&lt;/a&gt; &lt;div class="modfile"&gt;&lt;h4&gt;Modified: trunk/Hooks.txt (33 =&gt; 34)&lt;/h4&gt; &lt;pre class="diff"&gt;&lt;span&gt; &lt;span class="info"&gt;--- trunk/Hooks.txt 2008-10-10 17:51:48 UTC (rev 33) +++ trunk/Hooks.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -11,8 +11,8 @@ &lt;/span&gt;&lt;span class="cx"&gt; Main hooks &lt;/span&gt;&lt;span class="cx"&gt; ========== &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-Below are Chandler's most frequently used Hooks. See the index_ for a -complete list. &lt;/del&gt;&lt;ins&gt;+Below are Chandler's most frequently used Hooks. See &amp;quot;hook&amp;quot; in the +index_ for a complete list. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. &lt;/span&gt;&lt;span class="cx"&gt; When documenting a hook, add a Sphinx index directive, like &lt;/span&gt;&lt;span class="lines"&gt;@@ -22,17 +22,38 @@ &lt;/span&gt;&lt;span class="cx"&gt; and use :ref: to link to associated use and registration documentation. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+.. index:: hook; chandler.domain.triage +.. _triage-hook-central: + +Triage +------ + +.. describe:: triage_callable(entry) -&amp;gt; (weight, triage_status) + + Return (-1, None) if triage can't be calculated for the entry, + otherwise a float weight and :mod:`~chandler.triage` value. + +.. seealso:: + + :ref:`triage-hook` + .. + + :ref:`event-triage-position` + .. + + &lt;/ins&gt;&lt;span class="cx"&gt; .. index:: hook; chandler.interaction.triage_position &lt;/span&gt;&lt;ins&gt;+.. _triage-position-hook-central: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; Triage position &lt;/span&gt;&lt;span class="cx"&gt; --------------- &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-*chandler.interaction.triage_position* provides callables like: &lt;/del&gt;&lt;ins&gt;+&amp;quot;chandler.interaction.triage_position&amp;quot; provides callables like: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-.. describe:: triage_position_callable(entry) -&amp;gt; (weight, position) &lt;/del&gt;&lt;ins&gt;+.. describe:: triage_position_callable(entry) -&amp;gt; position &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. &lt;/del&gt;&lt;ins&gt;+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. seealso:: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Sat, 24 May, 21:02
w.@osafoundation.org> UTC (rev 33) +++ trunk/Hooks.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -11,8 +11,8 @@ &lt;/span&gt;&lt;span class="cx"&gt; Main hooks &lt;/span&gt;&lt;span class="cx"&gt; ========== &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-Below are Chandler's most frequently used Hooks. See the index_ for a -complete list. &lt;/del&gt;&lt;ins&gt;+Below are Chandler's most frequently used Hooks. See &amp;quot;hook&amp;quot; in the +index_ for a complete list. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. &lt;/span&gt;&lt;span class="cx"&gt; When documenting a hook, add a Sphinx index directive, like &lt;/span&gt;&lt;span class="lines"&gt;@@ -22,17 +22,38 @@ &lt;/span&gt;&lt;span class="cx"&gt; and use :ref: to link to associated use and registration documentation. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+.. index:: hook; chandler.domain.triage +.. _triage-hook-central: + +Triage +------ + +.. describe:: triage_callable(entry) -&amp;gt; (weight, triage_status) + + Return (-1, None) if triage can't be calculated for the entry, + otherwise a float weight and :mod:`~chandler.triage` value. + +.. seealso:: + + :ref:`triage-hook` + .. + + :ref:`event-triage-position` + .. + + &lt;/ins&gt;&lt;span class="cx"&gt; .. index:: hook; chandler.interaction.triage_position &lt;/span&gt;&lt;ins&gt;+.. _triage-position-hook-central: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; Triage position &lt;/span&gt;&lt;span class="cx"&gt; --------------- &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-*chandler.interaction.triage_position* provides callables like: &lt;/del&gt;&lt;ins&gt;+&amp;quot;chandler.interaction.triage_position&amp;quot; provides callables like: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-.. describe:: triage_position_callable(entry) -&amp;gt; (weight, position) &lt;/del&gt;&lt;ins&gt;+.. describe:: triage_position_callable(entry) -&amp;gt; position &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. &lt;/del&gt;&lt;ins&gt;+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. seealso:: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Sat, 24 May, 21:02
w.@osafoundation.org> UTC (rev 33) +++ trunk/Hooks.txt 2008-10-10 22:24:21 UTC (rev 34) &lt;/span&gt;&lt;span class="lines"&gt;@@ -11,8 +11,8 @@ &lt;/span&gt;&lt;span class="cx"&gt; Main hooks &lt;/span&gt;&lt;span class="cx"&gt; ========== &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-Below are Chandler's most frequently used Hooks. See the index_ for a -complete list. &lt;/del&gt;&lt;ins&gt;+Below are Chandler's most frequently used Hooks. See &amp;quot;hook&amp;quot; in the +index_ for a complete list. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. &lt;/span&gt;&lt;span class="cx"&gt; When documenting a hook, add a Sphinx index directive, like &lt;/span&gt;&lt;span class="lines"&gt;@@ -22,17 +22,38 @@ &lt;/span&gt;&lt;span class="cx"&gt; and use :ref: to link to associated use and registration documentation. &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;ins&gt;+.. index:: hook; chandler.domain.triage +.. _triage-hook-central: + +Triage +------ + +.. describe:: triage_callable(entry) -&amp;gt; (weight, triage_status) + + Return (-1, None) if triage can't be calculated for the entry, + otherwise a float weight and :mod:`~chandler.triage` value. + +.. seealso:: + + :ref:`triage-hook` + .. + + :ref:`event-triage-position` + .. + + &lt;/ins&gt;&lt;span class="cx"&gt; .. index:: hook; chandler.interaction.triage_position &lt;/span&gt;&lt;ins&gt;+.. _triage-position-hook-central: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; Triage position &lt;/span&gt;&lt;span class="cx"&gt; --------------- &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-*chandler.interaction.triage_position* provides callables like: &lt;/del&gt;&lt;ins&gt;+&amp;quot;chandler.interaction.triage_position&amp;quot; provides callables like: &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;-.. describe:: triage_position_callable(entry) -&amp;gt; (weight, position) &lt;/del&gt;&lt;ins&gt;+.. describe:: triage_position_callable(entry) -&amp;gt; position &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;del&gt;- Return (-1, None) if triage_position can't be calculated for the - entry, otherwise a float weight and position timestamp. &lt;/del&gt;&lt;ins&gt;+ Return None if triage_position can't be calculated for the + entry, otherwise a position timestamp. &lt;/ins&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;span class="cx"&gt; .. seealso:: &lt;/span&gt;&lt;span class="cx"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/pre&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; ne 7901, in __init__ >> self._BootstrapApp() >> File "C:\Program Files\release\bin\lib\site-packages\wx\_core.py", >> line 7498, in _BootstrapApp >> return _core_.PyApp__BootstrapApp(*args, **kwargs) >> File "C:\Program Files\application\Application.py", line 377, in >> OnInit >> options) >> File "C:\Program Files\application\Utility.py", line 1101, in >> openRepositoryOrBackup >> view = openRepository(options, repoDir) >> File "C:\Program Files\application\Utility.py", line 1070, in >> openRepository >> view = initRepository(repoDir, options) >> File "C:\Program Files\application\Utility.py", line 684, in >> initRepository >> repository.open(**kwds) >> File "c:\program files\release\bin\lib\site-packages >> \chandlerdb-0.7_37-py2.5-win32.egg\chandlerdb\persistence >> \DBRepository.py", line 970, in open >> raise RepositoryRunRecoveryError, recover >> RepositoryRunRecoveryError: True >> >> Michael >> >> Sheila Mooney wrote: >>> Micheal, >>> >>> Don't worry about the .chex file. If you can't find one, we can't >>> create one from the repository backup. >>>׷`׷ ׷5߷2߷ ޷:߷G߷@۷޷ Sat, 24 May, 21:02
w.@osafoundation.org> [No Subject] Sat, 24 May, 21:02
w.@osafoundation.org> ead Sat, 24 May, 21:02
Message listThread · Author · Date
Box list
Jul 20081
Mar 20081
Jan 20085
Dec 200715
Nov 20078
Oct 200749
Sep 200725
Aug 2007137
Jul 2007246
Jun 200761
May 200710
Apr 200744
Mar 200716
Feb 20076
Jan 200721
Dec 20065
Nov 200613
Oct 200613
Sep 200623
Aug 200643
Jul 200621
Jun 200652
May 200652
Apr 200629
Mar 200639
Feb 200677
Jan 200620
Dec 200510
Sep 20058
Jun 20052
Apr 20051
Mar 20052
Feb 20054
Dec 20045
Nov 20042
Sep 20041
Aug 20045
Jun 20047
Apr 20041
Feb 20042
Jan 20042
Dec 20031
Nov 20039
Aug 20036
Jun 20033
Mar 20031
Feb 20031
Jan 20033
Dec 20021
Nov 20022
Oct 20024