[26346] in Source-Commits

home help back first fref pref prev next nref lref last post

Re: /svn/athena r25525 - in trunk/athena/bin/bugme: . debian

daemon@ATHENA.MIT.EDU (Geoffrey Thomas)
Wed May 30 11:01:34 2012

Date: Wed, 30 May 2012 08:01:33 -0700 (PDT)
From: Geoffrey Thomas <geofft@MIT.EDU>
To: Jonathan D Reed <jdreed@MIT.EDU>
cc: source-commits@MIT.EDU
In-Reply-To: <201205300120.q4U1K9Ng011980@drugstore.mit.edu>
Message-ID: <alpine.DEB.2.00.1205300801300.16176@dr-wily.mit.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Looks reasonable, ACK

-- 
Geoffrey Thomas
geofft@mit.edu

On Tue, 29 May 2012, Jonathan D Reed wrote:

> Author: jdreed
> Date: 2012-05-29 21:20:09 -0400 (Tue, 29 May 2012)
> New Revision: 25525
>
> Modified:
>   trunk/athena/bin/bugme/bugme
>   trunk/athena/bin/bugme/debian/changelog
> Log:
> In bugme:
>  * Add a feature which forces a logout after a 1.5x the "allowed"
>    duration (Trac: #830 and #831).  Patch from Luke Faraone.
>  * Allow speciyfing Glade file on command line for debugging
>  * Minor UI tweaks
>
>
> Modified: trunk/athena/bin/bugme/bugme
> ===================================================================
> --- trunk/athena/bin/bugme/bugme	2012-05-30 00:27:58 UTC (rev 25524)
> +++ trunk/athena/bin/bugme/bugme	2012-05-30 01:20:09 UTC (rev 25525)
> @@ -8,8 +8,6 @@
> import sys
> from optparse import OptionParser
>
> -gladeFile = "/usr/share/bugme/bugme.glade"
> -
> class BugMe:
>     def __init__(self):
>         # Time limit in seconds  (600)
> @@ -20,15 +18,18 @@
>         self.warnInterval = 60
>         # How often to warn after time has expired (secs)
>         self.annoyInterval = 30
> +        # Hard time limit; user will be killed after this time
> +        self.killTime = self.timeLimit * 1.5
>         if options.debugMode:
>             self.timeLimit = 120
>             self.firstWarn = 90
>             self.warnInterval = 30
>             self.annoyInterval = 10
> +            self.killTime = 180
>         # (foreground, background)
>         self.colors = ('black', 'white')
>         try:
> -            self.xml = gtk.glade.XML(gladeFile)
> +            self.xml = gtk.glade.XML(options.gladeFile)
>         except:
>             print "Failed to create GladeXML object."
>             # Kill the child
> @@ -73,6 +74,11 @@
>             self.nextWarn = now + self.warnInterval
>             self.nag(((self.timeLimit - elapsed) / 60,
>                       (self.timeLimit - elapsed) % 60))
> +        if options.killMode and elapsed >= self.killTime:
> +            # The user has outstayed their welcome, nuke their session
> +            print "Quitting."
> +            sys.exit(0)
> +
> 	# It's a little odd to put this here, but it doesn't work in
> 	# __init__; see comments in Trac #386
>         self.timerWindow.set_keep_above(True)
> @@ -80,7 +86,10 @@
>
>     def nag(self, remainingTime):
>         if self.timeExpired:
> -            self.nagLabel.set_markup("<span font_desc=\"20\">Please log out immediately.</span>")
> +            msg="Please log out immediately."
> +            if options.killMode:
> +                msg += "\n\nYour session will be terminated in %d seconds." % (self.killTime - (int(time.time()) - self.startTime))
> +            self.nagLabel.set_markup("<span font_desc=\"20\">"+msg+"</span>")
>         else:
>             seconds = "%d second%s" % (remainingTime[1],
>                                        remainingTime[1] != 1 and 's' or '')
> @@ -92,7 +101,7 @@
>                 remaining = minutes
>             else:
>                 remaining = "%s, %s" % (minutes, seconds)
> -            self.nagLabel.set_markup("<span font_desc=\"20\">You have %s remaining\nin your login session.</span>" % (remaining))
> +            self.nagLabel.set_markup("<span font_desc=\"20\">You have %s remaining\nin this session.</span>" % (remaining))
>
>         self.nagDialog.show()
>
> @@ -106,17 +115,23 @@
>
>
> if __name__ == '__main__':
> -    if not os.access(gladeFile, os.R_OK):
> -        print 'error: Unable to read glade file "' + gladeFile + '"'
> -        sys.exit(255)
> -
>     parser = OptionParser(usage="%prog [--debug] progname [args]",
>                           version="%prog 0.1")
>     parser.disable_interspersed_args()
>     parser.add_option("--debug",
>                      action="store_true", dest="debugMode", default=False,
>                      help="Enable debug mode (time limit of 2 minutes)")
> +    parser.add_option("--fatal",
> +                     action="store_true", dest="killMode", default=False,
> +                     help="Kill the user session after 1.5 times the time limit.")
> +    parser.add_option("--glade", action="store", type="string",
> +                      dest="gladeFile",
> +                      default="/usr/share/bugme/bugme.glade",
> +                      help="Specify an alternate Glade file for debugging")
>     (options, args) = parser.parse_args()
> +    if not os.access(options.gladeFile, os.R_OK):
> +        print 'error: Unable to read glade file "' + gladeFile + '"'
> +        sys.exit(255)
>     if len(args) < 1:
>         parser.error("'progname' is required")
>     pid = os.fork()
>
> Modified: trunk/athena/bin/bugme/debian/changelog
> ===================================================================
> --- trunk/athena/bin/bugme/debian/changelog	2012-05-30 00:27:58 UTC (rev 25524)
> +++ trunk/athena/bin/bugme/debian/changelog	2012-05-30 01:20:09 UTC (rev 25525)
> @@ -1,10 +1,17 @@
> debathena-bugme (10.0.4-0debathena1) unstable; urgency=low
>
> +  [ Geoffrey Thomas ]
>   * Set always-on-top window manager hint (Trac: #386). Patch from Luke
>     Faraone.
>
> - -- Geoffrey Thomas <geofft@mit.edu>  Fri, 06 Jan 2012 15:37:46 -0500
> +  [ Jonathan Reed ]
> +  * Add a feature which forces a logout after a 1.5x the "allowed"
> +    duration (Trac: #830 and #831).  Patch from Luke Faraone.
> +  * Allow speciyfing Glade file on command line for debugging
> +  * Minor UI tweaks
>
> + -- Jonathan Reed <jdreed@mit.edu>  Tue, 29 May 2012 21:20:01 -0400
> +
> debathena-bugme (10.0.3-0debathena1) unstable; urgency=low
>
>   * Don't run dpkg-query (Trac: #778)
>
>

home help back first fref pref prev next nref lref last post