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 .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from rudyryk. Next status will be '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.