[haizea-commit] r750 - branches/1.1/src/haizea/cli
haizea-commit at mailman.cs.uchicago.edu
haizea-commit at mailman.cs.uchicago.edu
Thu Jan 7 11:58:21 CST 2010
Author: borja
Date: 2010-01-07 11:52:25 -0600 (Thu, 07 Jan 2010)
New Revision: 750
Modified:
branches/1.1/src/haizea/cli/annotator.py
Log:
Modified annotator to support LWF files generated from artificial SWF files.
Modified: branches/1.1/src/haizea/cli/annotator.py
===================================================================
--- branches/1.1/src/haizea/cli/annotator.py 2010-01-07 02:37:38 UTC (rev 749)
+++ branches/1.1/src/haizea/cli/annotator.py 2010-01-07 17:52:25 UTC (rev 750)
@@ -56,6 +56,7 @@
DEADLINE_DURATION = "multiple-of-duration"
DEADLINE_SLOWDOWN = "original-slowdown"
+ DEADLINE_ABSOLUTE = "absolute"
def __init__(self, argv):
Command.__init__(self, argv)
@@ -149,22 +150,29 @@
if self.deadlinestretch_dist == None:
return None, None
else:
- if type == haizea_lwf_annotate.DEADLINE_DURATION:
- tau = self.deadlinestretch_dist.get()
+ if type in (haizea_lwf_annotate.DEADLINE_DURATION, haizea_lwf_annotate.DEADLINE_SLOWDOWN):
+ if type == haizea_lwf_annotate.DEADLINE_DURATION:
+ tau = self.deadlinestretch_dist.get()
+
+ elif type == haizea_lwf_annotate.DEADLINE_SLOWDOWN:
+ runtime = float(lease.extras["SWF_runtime"])
+ waittime = float(lease.extras["SWF_waittime"])
+ if runtime < 10: runtime = 10
+ slowdown = (waittime + runtime) / runtime
+
+ min = self.deadlinestretch_dist.min
+ max = self.deadlinestretch_dist.max
+ tau = self.deadlinestretch_dist.get()
+
+ tau = (slowdown - 1)*((tau-min) / (max-min))
+
+ deadline = round_datetime_delta(start + (1 + tau)*lease.duration.requested)
+ elif type == haizea_lwf_annotate.DEADLINE_ABSOLUTE:
+ wait = self.deadlinestretch_dist.get()
+ deadline = round_datetime_delta(start + TimeDelta(seconds=wait) + lease.duration.requested)
- elif type == haizea_lwf_annotate.DEADLINE_SLOWDOWN:
- runtime = float(lease.extras["SWF_runtime"])
- waittime = float(lease.extras["SWF_waittime"])
- if runtime < 10: runtime = 10
- slowdown = (waittime + runtime) / runtime
-
- min = self.deadlinestretch_dist.min
- max = self.deadlinestretch_dist.max
- tau = self.deadlinestretch_dist.get()
-
- tau = (slowdown - 1)*((tau-min) / (max-min))
-
- deadline = round_datetime_delta(start + (1 + tau)*lease.duration.requested)
+ tau = ((deadline - start) / lease.duration.requested) - 1
+
return deadline, tau
def __get_software(self, lease):
@@ -174,12 +182,15 @@
if self.markup_dist == None:
return None
else:
- if self.user_markups.has_key(lease.user_id):
- return self.user_markups[lease.user_id]
+ if lease.user_id == -1:
+ return self.markup_dist.get()
else:
- markup = self.markup_dist.get()
- self.user_markups[lease.user_id] = markup
- return markup
+ if self.user_markups.has_key(lease.user_id):
+ return self.user_markups[lease.user_id]
+ else:
+ markup = self.markup_dist.get()
+ self.user_markups[lease.user_id] = markup
+ return markup
def __get_dist(self, section):
if self.config.has_section(section):
More information about the Haizea-commit
mailing list