[Checkins] SVN: z3c.reference/trunk/ - removed dependency on
elementtree
Juergen Kartnaller
juergen at kartnaller.at
Fri Dec 7 10:46:43 EST 2007
Log message for revision 82187:
- removed dependency on elementtree
- changed serializer to accept namespaces
Changed:
U z3c.reference/trunk/CHANGES.txt
U z3c.reference/trunk/setup.py
U z3c.reference/trunk/src/z3c/reference/browser/README.txt
U z3c.reference/trunk/src/z3c/reference/browser/serialize.py
U z3c.reference/trunk/src/z3c/reference/browser/serialize.txt
-=-
Modified: z3c.reference/trunk/CHANGES.txt
===================================================================
--- z3c.reference/trunk/CHANGES.txt 2007-12-07 15:15:19 UTC (rev 82186)
+++ z3c.reference/trunk/CHANGES.txt 2007-12-07 15:46:42 UTC (rev 82187)
@@ -5,6 +5,10 @@
After
=====
+- removed dependency on elementtree
+
+- changed serializer to accept namespaces
+
- seting the new input data from an editor updated the html content via
javascript
Modified: z3c.reference/trunk/setup.py
===================================================================
--- z3c.reference/trunk/setup.py 2007-12-07 15:15:19 UTC (rev 82186)
+++ z3c.reference/trunk/setup.py 2007-12-07 15:46:42 UTC (rev 82187)
@@ -42,9 +42,7 @@
'lovely.relation>=0.3.0',
'z3c.javascript',
'z3c.viewtemplate',
- 'cElementTree',
- 'elementtree'
],
dependency_links = ['http://download.zope.org/distribution'],
- zip_safe = False,
+ zip_safe = False,
)
Modified: z3c.reference/trunk/src/z3c/reference/browser/README.txt
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/README.txt 2007-12-07 15:15:19 UTC (rev 82186)
+++ z3c.reference/trunk/src/z3c/reference/browser/README.txt 2007-12-07 15:46:42 UTC (rev 82187)
@@ -81,7 +81,7 @@
... IViewReferenceOpener)
>>> print widget()
- <a class="popupwindow" href="http://127.0.0.1/Intro/viewReferenceEditor.html?formdata=&target=&settingName=introRefs&name=field.intro" id="field.intro.tag" name="field.intro" onclick="" rel="window">
+ <a class="popupwindow" href="http://127.0.0.1/Intro/viewReferenceEditor.html?formdata=&target=&settingName=introRefs&name=field.intro" id="field.intro.tag" name="field.intro" onclick="" rel="height:550,width:800,status:0,scrollbars:1,resizable:1">
<span id="field.intro.title">Undefined</span>
</a>
<input class="hiddenType" id="field.intro.function" name="field.intro.function" type="hidden" value="setDefaultReferenceInput" rel="window" />
Modified: z3c.reference/trunk/src/z3c/reference/browser/serialize.py
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/serialize.py 2007-12-07 15:15:19 UTC (rev 82186)
+++ z3c.reference/trunk/src/z3c/reference/browser/serialize.py 2007-12-07 15:46:42 UTC (rev 82187)
@@ -1,4 +1,3 @@
-import cElementTree
import urllib
from BeautifulSoup import BeautifulSoup
@@ -10,25 +9,17 @@
def serializeForm(html):
- tags = BeautifulSoup(html)(['input', 'textarea'])
- html = ''.join([unicode(tag) for tag in tags])
- html = '<div>%s</div>' % html
- elem = cElementTree.fromstring(html.encode('utf-8'))
res = []
- for e in elem.findall('input'):
- name = e.get('name')
- value = e.get('value').encode('utf-8')
- t = e.get('type')
+ for tag in BeautifulSoup(html)(['input', 'textarea']):
+ name = tag.get('name', None)
+ t = tag.get('type', 'text')
+ value = tag.get('value', None)
+ if value is None:
+ value = tag.renderContents(encoding=None)
if ( t not in ('hidden', 'text')
or None in (name, value)
):
continue
- res.append((name, value))
- for e in elem.findall('textarea'):
- name = e.get('name')
- value = e.text or ''
- if name is None:
- continue
res.append((name, value.encode('utf-8')))
return urllib.urlencode(res)
Modified: z3c.reference/trunk/src/z3c/reference/browser/serialize.txt
===================================================================
--- z3c.reference/trunk/src/z3c/reference/browser/serialize.txt 2007-12-07 15:15:19 UTC (rev 82186)
+++ z3c.reference/trunk/src/z3c/reference/browser/serialize.txt 2007-12-07 15:46:42 UTC (rev 82187)
@@ -11,8 +11,17 @@
... <textarea name="m.area">tarea</textarea>
... <input type="text" value="second" name="m.two"/>"""
>>> print serializeForm(html)
- m.one=one&m.two=two&m.two=second&m.area=tarea
+ m.one=one&m.two=two&m.area=tarea&m.two=second
+Also namespace parameters are handled correct.
+
+ >>> html = """<input type="text" value="one" name="m.one"/><br/>
+ ... <input type="text" value="two" name="m.two" ajax:inputlen="123"/>
+ ... <textarea name="m.area">tarea</textarea>
+ ... <input type="text" value="second" name="m.two"/>"""
+ >>> print serializeForm(html)
+ m.one=one&m.two=two&m.area=tarea&m.two=second
+
>>> html = u"""<input type="text" value="\xe4" name="m.one"/><br/>"""
>>> print serializeForm(html)
m.one=%C3%A4
More information about the Checkins
mailing list