mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-05 04:09:25 +02:00
See #170: channels ui (listeners)
This commit is contained in:
parent
b74517ff33
commit
95497e76ac
79 changed files with 1768 additions and 232 deletions
|
@ -5,6 +5,29 @@ from rest_framework import renderers
|
|||
import funkwhale_api
|
||||
|
||||
|
||||
# from https://stackoverflow.com/a/8915039
|
||||
# because I want to avoid a lxml dependency just for outputting cdata properly
|
||||
# in a RSS feed
|
||||
def CDATA(text=None):
|
||||
element = ET.Element("![CDATA[")
|
||||
element.text = text
|
||||
return element
|
||||
|
||||
|
||||
ET._original_serialize_xml = ET._serialize_xml
|
||||
|
||||
|
||||
def _serialize_xml(write, elem, qnames, namespaces, **kwargs):
|
||||
if elem.tag == "![CDATA[":
|
||||
write("<%s%s]]>" % (elem.tag, elem.text))
|
||||
return
|
||||
return ET._original_serialize_xml(write, elem, qnames, namespaces, **kwargs)
|
||||
|
||||
|
||||
ET._serialize_xml = ET._serialize["xml"] = _serialize_xml
|
||||
# end of tweaks
|
||||
|
||||
|
||||
def structure_payload(data):
|
||||
payload = {
|
||||
"funkwhaleVersion": funkwhale_api.__version__,
|
||||
|
@ -56,7 +79,7 @@ def dict_to_xml_tree(root_tag, d, parent=None):
|
|||
if key == "value":
|
||||
root.text = str(value)
|
||||
elif key == "cdata_value":
|
||||
root.text = "<![CDATA[{}]]>".format(str(value))
|
||||
root.append(CDATA(value))
|
||||
else:
|
||||
root.set(key, str(value))
|
||||
return root
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue