def canvas(width, height, delegate, useCGI=False): C = cookie() if useCGI: global _canvasCGIService if _canvasCGIService is None: from nevow import appserver from twisted.internet import reactor _canvasCGIService = reactor.listenTCP( 0, appserver.NevowSite(Canvas(docFactory=canvasServerMessage))) _canvasCGIService.dispatchMap = {} port = _canvasCGIService.getHost().port prefix = '/' movie_url = url.here.click('/').secure(False, port) else: movie_url = url.here port = lambda c, d: inevow.IRequest(c).transport.server.port def prefix(c, d): pre = inevow.IRequest(c).path if pre.endswith('/'): return pre return pre + '/' _hookup[C] = delegate handlerInfo = [] for handlerName in [ 'onMouseMove', 'onMouseDown', 'onMouseUp', 'onKeyDown', 'onKeyUp' ]: if getattr(delegate, handlerName, None) is not None: handlerInfo.append((handlerName, 1)) movie_url = movie_url.child('nevow_canvas_movie.swf').add('cookie', C).add( 'port', port).add('prefix', prefix) for (k, v) in handlerInfo: movie_url = movie_url.add(k, v) return tags._object( classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", codebase= "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0", width=width, height=height, id=("Canvas-", C), align="middle" )[tags.param(name="allowScriptAccess", value="sameDomain"), tags.param(name="movie", value=movie_url), tags.param(name="quality", value="high"), tags.param(name="scale", value="noscale"), tags.param(name="bgcolor", value="#ffffff"), Tag('embed')(src=movie_url, quality="high", scale="noscale", bgcolor="#ffffff", width=width, height=height, name=("Canvas-", C), align="middle", allowScriptAccess="sameDomain", type="application/x-shockwave-flash", pluginspage="http://www.macromedia.com/go/getflashplayer")]
def canvas(width, height, delegate, useCGI=False): C = cookie() if useCGI: global _canvasCGIService if _canvasCGIService is None: from nevow import appserver # Import reactor here to avoid installing default at startup from twisted.internet import reactor _canvasCGIService = reactor.listenTCP(0, appserver.NevowSite(Canvas(docFactory=canvasServerMessage))) _canvasCGIService.dispatchMap = {} port = _canvasCGIService.getHost().port prefix = '/' movie_url = url.here.click('/').secure(False, port) else: movie_url = url.here port = lambda c, d: inevow.IRequest(c).transport.server.port def prefix(c, d): pre = inevow.IRequest(c).path if pre.endswith('/'): return pre return pre + '/' _hookup[C] = delegate handlerInfo = [] for handlerName in ['onMouseMove', 'onMouseDown', 'onMouseUp', 'onKeyDown', 'onKeyUp']: if getattr(delegate, handlerName, None) is not None: handlerInfo.append((handlerName, 1)) movie_url = movie_url.child('nevow_canvas_movie.swf').add('cookie', C).add('port', port).add('prefix', prefix) for (k, v) in handlerInfo: movie_url = movie_url.add(k, v) return tags._object(classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000", codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0", width=width, height=height, id=("Canvas-", C), align="middle")[ tags.param(name="allowScriptAccess", value="sameDomain"), tags.param(name="movie", value=movie_url), tags.param(name="quality", value="high"), tags.param(name="scale", value="noscale"), tags.param(name="bgcolor", value="#ffffff"), Tag('embed')( src=movie_url, quality="high", scale="noscale", bgcolor="#ffffff", width=width, height=height, name=("Canvas-", C), align="middle", allowScriptAccess="sameDomain", type="application/x-shockwave-flash", pluginspage="http://www.macromedia.com/go/getflashplayer")]
def flash(src, width, height, id_=None, params=None, **kwparams): """Returns the XHTML for flash. 'params' is a dictionary of name, value pairs that will be turned into a bunch of <param> tags""" log.debug(u"flash %s" % src) stan = T._object(type="application/x-shockwave-flash", width=width, height=height, **kwparams) if id_: stan.attributes["id"] = id_ stan.attributes["data"] = src if params is None: params = {} params.setdefault("movie", src) for name, value in params.items(): stan = stan[T.param(name=name, value=value)] return unicode(flatten(stan).replace("&", "&"), "utf8")
def flash(src, width, height, id_=None, params={}, **kwparams): """Returns the XHTML for flash. 'params' is a dictionary of name, value pairs that will be turned into a bunch of <param> tags""" log.debug(u"flash %s" % src) stan = \ T._object(type='application/x-shockwave-flash', width=width, height=height, **kwparams) if id_: stan = stan(id=id_) if src: stan = stan(data=src) for name, value in params.items(): stan = stan[T.param(name=name, value=value)] return flatten(stan)
def flash(src, width, height, id_=None, params=None, **kwparams): """Returns the XHTML for flash. 'params' is a dictionary of name, value pairs that will be turned into a bunch of <param> tags""" log.debug(u"flash %s" % src) stan = \ T._object(type='application/x-shockwave-flash', width=width, height=height, **kwparams) if id_: stan.attributes['id'] = id_ stan.attributes['data'] = src if params is None: params = {} params.setdefault('movie', src) for name, value in params.items(): stan = stan[T.param(name=name, value=value)] return unicode(flatten(stan).replace('&', '&'), 'utf8')