So, I'm trying to use the day of the week my nightly scheduler was  submitted 
to determine if some steps should be skipped. The idea is to run additional 
steps that take a long time on Friday night and once a month run additional 
longer steps which will take the entire weekend to complete.

So I was running the following code, but realized it fails if the steps 
executed before the "Drug Validation" step have caused the current time to roll 
over to the Saturday.  So an easy work around is to check for the weekend, but 
I was hopping to just use the submission time of the buildstep.  I get a little 
confused on what is available to me in the python objects so I thought I would 
ask.

19 def is_friday():
20   today = datetime.date.today()
21   return today.weekday() == calendar.FRIDAY
22
23 def is_last_friday():
24   today = datetime.date.today()
25   nextweek = today + datetime.timedelta(days=7)
26   return is_weekend() and nextweek.month != today.month
....
133         
factory.addStep(steps.ShellCommand(command=util.Interpolate("%s/bg-cli%s 
VALIDATE drug" % (build_dir, exe))
134                            ,name="Drug Validation"
135                            ,doStepIf=lambda step: (isWeekly or isMonthly) 
and is_ friday ()
136                            ,hideStepIf=lambda results, s: results==SKIPPED
137                            ,haltOnFailure=False
138                            ,flunkOnFailure=False
139                            
,workdir=util.Interpolate("%(prop:builddir)s/build/runtime")
140                            ,env={ "LD_LIBRARY_PATH" : 
util.Interpolate('%(prop:builddir)s/source/external/%(prop:external_dir)s/lib/')
141                                 ,"DYLD_FALLBACK_LIBRARY_PATH" : 
util.Interpolate('%(prop:builddir)s/source/external/%(prop:external_dir)s/lib/')
142                                }
143                        )
144         )

I'm assuming I can write a function that uses the Data API for this, but I just 
don't understand enough python to wrap my head around the yield 
self.master.data syntax I keep seeing through out the code and I'm hoping 
someone on the list can provide a little feedback on how to access data 
elements like this when passing in these conditional lambdas.


Steven A White, Ph.D |Senior Engineer
Applied Research Associates, 
Inc.<applewebdata://1697E48A-4715-4EFA-AC5E-7847B313B2E4/UrlBlockedError.aspx>
8537 Six Forks Rd., Raleigh, NC 27615
Phone: 919.582.3300

_______________________________________________
users mailing list
users@buildbot.net
https://lists.buildbot.net/mailman/listinfo/users

Reply via email to