Software / code / prosody
Comparison
util/stanza.lua @ 5776:bd0ff8ae98a8
Remove all trailing whitespace
| author | Florian Zeitz <florob@babelmonkeys.de> |
|---|---|
| date | Fri, 09 Aug 2013 17:48:21 +0200 |
| parent | 5435:f56e449a63e3 |
| child | 6468:3728c30da4e3 |
comparison
equal
deleted
inserted
replaced
| 5775:a6c2b8933507 | 5776:bd0ff8ae98a8 |
|---|---|
| 1 -- Prosody IM | 1 -- Prosody IM |
| 2 -- Copyright (C) 2008-2010 Matthew Wild | 2 -- Copyright (C) 2008-2010 Matthew Wild |
| 3 -- Copyright (C) 2008-2010 Waqas Hussain | 3 -- Copyright (C) 2008-2010 Waqas Hussain |
| 4 -- | 4 -- |
| 5 -- This project is MIT/X11 licensed. Please see the | 5 -- This project is MIT/X11 licensed. Please see the |
| 6 -- COPYING file in the source package for more information. | 6 -- COPYING file in the source package for more information. |
| 7 -- | 7 -- |
| 8 | 8 |
| 9 | 9 |
| 97 function stanza_mt:get_child(name, xmlns) | 97 function stanza_mt:get_child(name, xmlns) |
| 98 for _, child in ipairs(self.tags) do | 98 for _, child in ipairs(self.tags) do |
| 99 if (not name or child.name == name) | 99 if (not name or child.name == name) |
| 100 and ((not xmlns and self.attr.xmlns == child.attr.xmlns) | 100 and ((not xmlns and self.attr.xmlns == child.attr.xmlns) |
| 101 or child.attr.xmlns == xmlns) then | 101 or child.attr.xmlns == xmlns) then |
| 102 | 102 |
| 103 return child; | 103 return child; |
| 104 end | 104 end |
| 105 end | 105 end |
| 106 end | 106 end |
| 107 | 107 |
| 150 end | 150 end |
| 151 | 151 |
| 152 function stanza_mt:maptags(callback) | 152 function stanza_mt:maptags(callback) |
| 153 local tags, curr_tag = self.tags, 1; | 153 local tags, curr_tag = self.tags, 1; |
| 154 local n_children, n_tags = #self, #tags; | 154 local n_children, n_tags = #self, #tags; |
| 155 | 155 |
| 156 local i = 1; | 156 local i = 1; |
| 157 while curr_tag <= n_tags and n_tags > 0 do | 157 while curr_tag <= n_tags and n_tags > 0 do |
| 158 if self[i] == tags[curr_tag] then | 158 if self[i] == tags[curr_tag] then |
| 159 local ret = callback(self[i]); | 159 local ret = callback(self[i]); |
| 160 if ret == nil then | 160 if ret == nil then |
| 256 end | 256 end |
| 257 end | 257 end |
| 258 | 258 |
| 259 function stanza_mt.get_error(stanza) | 259 function stanza_mt.get_error(stanza) |
| 260 local type, condition, text; | 260 local type, condition, text; |
| 261 | 261 |
| 262 local error_tag = stanza:get_child("error"); | 262 local error_tag = stanza:get_child("error"); |
| 263 if not error_tag then | 263 if not error_tag then |
| 264 return nil, nil, nil; | 264 return nil, nil, nil; |
| 265 end | 265 end |
| 266 type = error_tag.attr.type; | 266 type = error_tag.attr.type; |
| 267 | 267 |
| 268 for _, child in ipairs(error_tag.tags) do | 268 for _, child in ipairs(error_tag.tags) do |
| 269 if child.attr.xmlns == xmlns_stanzas then | 269 if child.attr.xmlns == xmlns_stanzas then |
| 270 if not text and child.name == "text" then | 270 if not text and child.name == "text" then |
| 271 text = child:get_text(); | 271 text = child:get_text(); |
| 272 elseif not condition then | 272 elseif not condition then |
| 331 end | 331 end |
| 332 end | 332 end |
| 333 stanza.tags = tags; | 333 stanza.tags = tags; |
| 334 end | 334 end |
| 335 end | 335 end |
| 336 | 336 |
| 337 return stanza; | 337 return stanza; |
| 338 end | 338 end |
| 339 | 339 |
| 340 local function _clone(stanza) | 340 local function _clone(stanza) |
| 341 local attr, tags = {}, {}; | 341 local attr, tags = {}, {}; |
| 388 if do_pretty_printing then | 388 if do_pretty_printing then |
| 389 local style_attrk = getstyle("yellow"); | 389 local style_attrk = getstyle("yellow"); |
| 390 local style_attrv = getstyle("red"); | 390 local style_attrv = getstyle("red"); |
| 391 local style_tagname = getstyle("red"); | 391 local style_tagname = getstyle("red"); |
| 392 local style_punc = getstyle("magenta"); | 392 local style_punc = getstyle("magenta"); |
| 393 | 393 |
| 394 local attr_format = " "..getstring(style_attrk, "%s")..getstring(style_punc, "=")..getstring(style_attrv, "'%s'"); | 394 local attr_format = " "..getstring(style_attrk, "%s")..getstring(style_punc, "=")..getstring(style_attrv, "'%s'"); |
| 395 local top_tag_format = getstring(style_punc, "<")..getstring(style_tagname, "%s").."%s"..getstring(style_punc, ">"); | 395 local top_tag_format = getstring(style_punc, "<")..getstring(style_tagname, "%s").."%s"..getstring(style_punc, ">"); |
| 396 --local tag_format = getstring(style_punc, "<")..getstring(style_tagname, "%s").."%s"..getstring(style_punc, ">").."%s"..getstring(style_punc, "</")..getstring(style_tagname, "%s")..getstring(style_punc, ">"); | 396 --local tag_format = getstring(style_punc, "<")..getstring(style_tagname, "%s").."%s"..getstring(style_punc, ">").."%s"..getstring(style_punc, "</")..getstring(style_tagname, "%s")..getstring(style_punc, ">"); |
| 397 local tag_format = top_tag_format.."%s"..getstring(style_punc, "</")..getstring(style_tagname, "%s")..getstring(style_punc, ">"); | 397 local tag_format = top_tag_format.."%s"..getstring(style_punc, "</")..getstring(style_tagname, "%s")..getstring(style_punc, ">"); |
| 398 function stanza_mt.pretty_print(t) | 398 function stanza_mt.pretty_print(t) |
| 409 if t.attr then | 409 if t.attr then |
| 410 for k, v in pairs(t.attr) do if type(k) == "string" then attr_string = attr_string .. s_format(attr_format, k, tostring(v)); end end | 410 for k, v in pairs(t.attr) do if type(k) == "string" then attr_string = attr_string .. s_format(attr_format, k, tostring(v)); end end |
| 411 end | 411 end |
| 412 return s_format(tag_format, t.name, attr_string, children_text, t.name); | 412 return s_format(tag_format, t.name, attr_string, children_text, t.name); |
| 413 end | 413 end |
| 414 | 414 |
| 415 function stanza_mt.pretty_top_tag(t) | 415 function stanza_mt.pretty_top_tag(t) |
| 416 local attr_string = ""; | 416 local attr_string = ""; |
| 417 if t.attr then | 417 if t.attr then |
| 418 for k, v in pairs(t.attr) do if type(k) == "string" then attr_string = attr_string .. s_format(attr_format, k, tostring(v)); end end | 418 for k, v in pairs(t.attr) do if type(k) == "string" then attr_string = attr_string .. s_format(attr_format, k, tostring(v)); end end |
| 419 end | 419 end |