Modify

Opened 5 years ago

Closed 4 years ago

#6258 closed defect (fixed)

'Fragment' object has no attribute 'attrib'

Reported by: sebastian.paniagua@… Owned by: rudyryk
Priority: normal Component: FlashEmbedMacro
Severity: normal Keywords:
Cc: Trac Release: 0.11

Description

This error was shown when i tried to embed a .swf movie

Error: Macro Embed(swf=attachment:output.swf,w=400,h=300) failed
'Fragment' object has no attribute 'attrib'

Attachments (0)

Change History (5)

comment:1 Changed 5 years ago by sebastian.paniagua@…

I'm using Trac 0.11.1, Python 2.5.2

This is the log:

2009-11-27 11:36:49,548 Trac[formatter] ERROR: Macro Embed(swf=attachment:test2.swf,w=400,h=300) failed:
Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/trac/wiki/formatter.py", line 480, in _macro_formatter
    return macro.process(args, in_paragraph=True)
  File "/usr/lib/python2.5/site-packages/trac/wiki/formatter.py", line 180, in process
    text = self.processor(text)
  File "/usr/lib/python2.5/site-packages/trac/wiki/formatter.py", line 167, in _macro_processor
    text)
  File "/usr/lib/python2.5/site-packages/TracFlashEmbedMacro-0.95RC1-py2.5.egg/tracflashembed/macros.py", line 55, in expand_macro
    return embed_swf(formatter, params)
  File "/usr/lib/python2.5/site-packages/TracFlashEmbedMacro-0.95RC1-py2.5.egg/tracflashembed/macros.py", line 101, in embed_swf
    url = '/raw-' + url.attrib.get('href')[1:]
AttributeError: 'Fragment' object has no attribute 'attrib'

comment:2 Changed 4 years ago by rjollos

I'm also seeing this issue with Trac 0.11.7

comment:3 follow-up: Changed 4 years ago by mkc

The extract_link code now returns a stream instead of one element. The following diff should fix for inputs following forms:
[[Embed(swf=output.swf)]]
[[Embed(swf=attachment:output.swf)]]

Index: tracflashembed/macros.py
===================================================================
--- tracflashembed/macros.py	(revision 7791)
+++ tracflashembed/macros.py	(working copy)
@@ -9,7 +9,6 @@
 from StringIO import StringIO
 from genshi.builder import tag
 from trac.wiki.api import IWikiMacroProvider, parse_args
-from trac.wiki.formatter import format_to_oneliner, extract_link
 from trac.wiki.macros import WikiMacroBase
 
 
@@ -95,10 +94,9 @@
     
     # url for attachment
     if url[0] != '/' and url[0:7] != 'http://' and url[0:8] != 'https://':
-        if url[:11] != 'attachment:':
-            url = 'attachment:%s' % url
-        url = extract_link(formatter.env, formatter.context, '[%s attachment]' % url)
-        url = '/raw-' + url.attrib.get('href')[1:]
+        if url[:11] == 'attachment:':
+            url = url[11:]
+        url = formatter.env.abs_href('/raw-attachment/%s/%s/%s' % (formatter.resource.realm, formatter.resource.id, url))
     
     # embed code
     code = '<object width="%(w)s" height="%(h)s">\

comment:4 in reply to: ↑ 3 Changed 4 years ago by rudyryk

  • Status changed from new to assigned

Replying to mkc:

The extract_link code now returns a stream instead of one element. The following diff should fix for inputs following forms:

patch applied in r7800. thank you! )

comment:5 Changed 4 years ago by rudyryk

  • Resolution set to fixed
  • Status changed from assigned to closed

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.