def update_work_unit_info(self, app):
        if not self.queue:
            self.reset_work_unit_info(app)
            return

        # Get selected queue entry
        selected = self.get_selected_queue_entry(app)
        if selected is None: return
        entry = self.queue_map[selected]

        # Load info
        for name, value in entry.items():
            if name in app.queue_widgets:
                if (name in ['basecredit', 'creditestimate', 'ppd'] and \
                        float(value) == 0) or value == '<invalid>' or \
                        value == '0.00 secs':
                    value = 'Unknown'

                widget = app.queue_widgets[name]
                set_widget_str_value(widget, value)

        # Status
        status = entry['state'].title()
        color = status_to_color(status)
        status = get_span_markup(status, color)
        widget = app.queue_widgets['state']
        widget.set_markup(status)

        # PRCG
        prcg = '%s (%s, %s, %s)' % (entry['project'], entry['run'],
                                    entry['clone'], entry['gen'])
        set_widget_str_value(app.queue_widgets['prcg'], prcg)
Example #2
0
    def update_work_unit_info(self, app):
        if not self.queue:
            self.reset_work_unit_info(app)
            return

        # Get selected queue entry
        selected = self.get_selected_queue_entry(app)
        if selected is None: return
        entry = self.queue_map[selected]

        # Load info
        for name, value in entry.items():
            if name in app.queue_widgets:
                if (name in ['basecredit', 'creditestimate', 'ppd'] and \
                        float(value) == 0) or value == '<invalid>' or \
                        value == '0.00 secs': value = 'Unknown'

                widget = app.queue_widgets[name]
                set_widget_str_value(widget, value)

        # Status
        status = entry['state'].title()
        color = status_to_color(status)
        status = get_span_markup(status, color)
        widget = app.queue_widgets['state']
        widget.set_markup(status)

        # PRCG
        prcg = '%s (%s, %s, %s)' % (
            entry['project'], entry['run'], entry['clone'], entry['gen'])
        set_widget_str_value(app.queue_widgets['prcg'], prcg)
    def update_work_unit_info(self, app):
        if not self.queue:
            self.reset_work_unit_info(app)
            return

        # Get selected queue entry
        selected = self.get_selected_queue_entry(app)
        if selected is None: return
        entry = self.queue_map[selected]

        # Load info
        for name, value in entry.items():
            if name in app.queue_widgets:
                if (name in ['basecredit', 'creditestimate', 'ppd'] and \
                        float(value) == 0) or value == '<invalid>' or \
                        value == '0.00 secs':
                    value = 'Unknown'

                widget = app.queue_widgets[name]
                set_widget_str_value(widget, value)

        # Status
        status = entry['state'].title()
        color = status_to_color(status)
        status = get_span_markup(status, color)
        widget = app.queue_widgets['state']
        widget.set_markup(status)

        # PRCG
        prcg = '%s (%s, %s, %s)' % (entry['project'], entry['run'],
                                    entry['clone'], entry['gen'])
        set_widget_str_value(app.queue_widgets['prcg'], prcg)

        # Links
        for name in ['cs', 'ws', 'project']:
            widget = app.queue_widgets[name]
            value = str(entry[name])

            if name in ['cs', 'ws']:
                uri = 'http://fah-web.stanford.edu/logs/%s.log.html' % value
            else:
                uri = 'http://fah-web.stanford.edu/cgi-bin/fahproject.' \
                    'overusingIPswillbebanned?p=' + value

            widget.set_uri(uri)
    def update_work_unit_info(self, app):
        if not self.queue:
            self.reset_work_unit_info(app)
            return

        # Get selected queue entry
        selected = self.get_selected_queue_entry(app)
        if selected is None: return
        entry = self.queue_map[selected]

        # Load info
        for name, value in entry.items():
            if name in app.queue_widgets:
                if (name in ['basecredit', 'creditestimate', 'ppd'] and \
                        float(value) == 0) or value == '<invalid>' or \
                        value == '0.00 secs': value = 'Unknown'

                widget = app.queue_widgets[name]
                set_widget_str_value(widget, value)

        # Status
        status = entry['state'].title()
        color = status_to_color(status)
        status = get_span_markup(status, color)
        widget = app.queue_widgets['state']
        widget.set_markup(status)

        # PRCG
        prcg = '%s (%s, %s, %s)' % (
            entry['project'], entry['run'], entry['clone'], entry['gen'])
        set_widget_str_value(app.queue_widgets['prcg'], prcg)

        # Links
        for name in ['cs', 'ws', 'project']:
            widget = app.queue_widgets[name]
            value = str(entry[name])

            if name in ['cs', 'ws']:
                uri = 'http://fah-web.stanford.edu/logs/%s.log.html' % value
            else:
                uri = 'http://fah-web.stanford.edu/cgi-bin/fahproject.' \
                    'overusingIPswillbebanned?p=' + value

            widget.set_uri(uri)
Example #5
0
    def update_options(self, app):
        used = set()

        for name, widget in list(app.client_option_widgets.items()):
            name = name.replace('_', '-')
            used.add(name)

            try:
                set_widget_str_value(widget, self.options[name])

            except Exception as e:  # Don't let one bad widget kill everything
                print('WARNING: failed to set widget "%s": %s' % (name, e))

        # Setup passkey and password entries
        app.passkey_validator.set_good()
        app.password_validator.set_good()
        app.proxy_pass_validator.set_good()

        # Set folding power
        if 'power' in self.options:
            used.add('power')
            self.update_power(app)

        # Set proxy options
        if 'proxy-enable' in self.options:
            proxy_enable = parse_bool(self.get('proxy-enable'))
            app.proxy_frame.set_sensitive(proxy_enable)
            app.proxy_auth_frame.set_sensitive(proxy_enable)

        if self.have('proxy'):
            proxy = self.get('proxy')
            if ':' in proxy:
                proxy_addr, proxy_port = proxy.split(':', 1)
            else:
                proxy_addr, proxy_port = proxy, '8080'
            set_widget_str_value(app.client_option_widgets['proxy'],
                                 proxy_addr)
            set_widget_str_value(app.proxy_port, proxy_port)

        # Set core priority radio button
        core_idle = not self.have('core-priority') or \
            self.get('core-priority') == 'idle'
        app.client_option_widgets['core_priority'].set_active(core_idle)
        app.core_priority_low.set_active(not core_idle)

        # Extra core options
        app.core_option_list.clear()
        if self.have('extra-core-args'):
            used.add('extra-core-args')

            args = self.get('extra-core-args').split()
            for arg in args:
                app.core_option_list.append([arg])

        # Remaining options
        app.option_list.clear()
        for name, value in list(self.options.items()):
            if name not in used:
                app.option_list.append([name, value])
    def update_options(self, app):
        used = set()

        for name, widget in app.client_option_widgets.items():
            name = name.replace('_', '-')
            used.add(name)

            try:
                set_widget_str_value(widget, self.options[name])

            except: # Don't let one bad widget kill everything
                print 'WARNING: failed to set widget "%s"' % name

        # Setup passkey and password entries
        app.passkey_validator.set_good()
        app.password_validator.set_good()
        app.proxy_pass_validator.set_good()

        # Set folding power
        if 'power' in self.options:
            used.add('power')
            self.update_power(app)

        # Set proxy options
        if 'proxy-enable' in self.options:
            proxy_enable = parse_bool(self.get('proxy-enable'))
            app.proxy_frame.set_sensitive(proxy_enable)
            app.proxy_auth_frame.set_sensitive(proxy_enable)

        if self.have('proxy'):
            proxy = self.get('proxy')
            if ':' in proxy: proxy_addr, proxy_port = proxy.split(':', 1)
            else: proxy_addr, proxy_port = proxy, '8080'
            set_widget_str_value(app.client_option_widgets['proxy'], proxy_addr)
            set_widget_str_value(app.proxy_port, proxy_port)

        # Set core priority radio button
        core_idle = not self.have('core-priority') or \
            self.get('core-priority') == 'idle'
        app.client_option_widgets['core_priority'].set_active(core_idle)
        app.core_priority_low.set_active(not core_idle)

        # Extra core options
        app.core_option_list.clear()
        if self.have('extra-core-args'):
            used.add('extra-core-args')

            args = self.get('extra-core-args').split()
            for arg in args: app.core_option_list.append([arg])

        # Remaining options
        app.option_list.clear()
        for name, value in self.options.items():
            if name not in used:
                app.option_list.append([name, value])
Example #7
0
 def reset_work_unit_info(self, app):
     for widget in list(app.queue_widgets.values()):
         set_widget_str_value(widget, None)
 def reset_work_unit_info(self, app):
     for widget in app.queue_widgets.values():
         set_widget_str_value(widget, None)