def __init__(self, version): self.hostlist = ['127.0.0.1', '::1'] parser = optparse.OptionParser( usage="%prog toolbox [options]", version='%prog ' + version) parser.add_option('-n', '--no-open', help="don't open browser automatically", dest='noopen', action='store_true', default=False) parser.add_option('-c', '--add-client', help="allow client ip address specified to connect to toolbox" " (can be specified more than once)", dest='host', action='append', default=None) parser.add_option('-p', '--port', help="port to run the Toolbox on", dest='port', default=7654) parser.add_option('--config', help="config file to use", dest='config', default=self.config or get_project_config()) options, args = parser.parse_args(sys.argv[1:]) self.port = int(options.port) self.noopen = options.noopen self.config = options.config if options.host: self.hostlist = self.hostlist + options.host widgets.load_widgets()
def index(self, name=None): from turbogears import widgets from turbogears.widgets import js_location, Tabber, SyntaxHighlighter all_descs = self.all_descs if not all_descs: widgets.load_widgets() all_descs = dict() for widgetdesc in widgets.all_widgets: wd = widgetdesc() all_descs[wd.full_class_name.replace(".", "_")] = wd self.all_descs = all_descs if name: all_descs = {name: all_descs[name]} desclist = list(all_descs.values()) desclist.sort(cmp=lambda x, y: cmp(x.name, y.name)) output = dict(descs=desclist, viewing_one=name != None) if name: # do not extend desclist! desclist = desclist + [Tabber(), SyntaxHighlighter()] css = setlike() js = dict() for l in js_location: js[l] = setlike() for widgetdesc in desclist: if not name and widgetdesc.show_separately: continue css.add_all(widgetdesc.retrieve_css()) for l in js_location: for script in widgetdesc.retrieve_javascript(): if hasattr(script, "location"): js[script.location].add(script) else: js[js_location.head].add(script) output["widget_css"] = css for l in js_location: output["widget_js_%s" % str(l)] = js[l] return output
def index(self, name=None): from turbogears import widgets from turbogears.widgets import js_location, Tabber, SyntaxHighlighter all_descs = self.all_descs if not all_descs: widgets.load_widgets() all_descs = dict() for widgetdesc in widgets.all_widgets: wd = widgetdesc() all_descs[wd.full_class_name.replace('.', '_')] = wd self.all_descs = all_descs if name: all_descs = {name: all_descs[name]} desclist = all_descs.values() desclist.sort(cmp=lambda x, y: cmp(x.name.lower(), y.name.lower())) output = dict(descs=desclist, viewing_one=name != None) if name: # do not extend desclist! desclist = desclist + [Tabber(), SyntaxHighlighter()] css = setlike() js = dict() for location in js_location: js[location] = setlike() for widgetdesc in desclist: if not name and widgetdesc.show_separately: continue css.add_all(widgetdesc.retrieve_css()) for script in widgetdesc.retrieve_javascript(): js[getattr(script, 'location', js_location.head)].add(script) output['widget_css'] = css for location in js: output['widget_js_%s' % str(location)] = js[location] return output