28 """ |
28 """ |
29 Public method to write the description of an engine. |
29 Public method to write the description of an engine. |
30 |
30 |
31 @param device reference to the device to write to (QIODevice) |
31 @param device reference to the device to write to (QIODevice) |
32 @param engine reference to the engine (OpenSearchEngine) |
32 @param engine reference to the engine (OpenSearchEngine) |
|
33 @return flag indicating success (boolean) |
33 """ |
34 """ |
34 if engine is None: |
35 if engine is None: |
35 return False |
36 return False |
36 |
37 |
37 if not device.isOpen(): |
38 if not device.isOpen(): |
64 self.writeAttribute("type", "text/html") |
65 self.writeAttribute("type", "text/html") |
65 self.writeAttribute("template", engine.searchUrlTemplate()) |
66 self.writeAttribute("template", engine.searchUrlTemplate()) |
66 |
67 |
67 if len(engine.searchParameters()) > 0: |
68 if len(engine.searchParameters()) > 0: |
68 self.writeNamespace( |
69 self.writeNamespace( |
69 "http://a9.com/-/spec/opensearch/extensions/parameters/1.0/", "p") |
70 "http://a9.com/-/spec/opensearch/extensions/" |
|
71 "parameters/1.0/", "p") |
70 for parameter in engine.searchParameters(): |
72 for parameter in engine.searchParameters(): |
71 self.writeStartElement("p:Parameter") |
73 self.writeStartElement("p:Parameter") |
72 self.writeAttribute("name", parameter[0]) |
74 self.writeAttribute("name", parameter[0]) |
73 self.writeAttribute("value", parameter[1]) |
75 self.writeAttribute("value", parameter[1]) |
74 |
76 |
80 self.writeAttribute("type", "application/x-suggestions+json") |
82 self.writeAttribute("type", "application/x-suggestions+json") |
81 self.writeAttribute("template", engine.suggestionsUrlTemplate()) |
83 self.writeAttribute("template", engine.suggestionsUrlTemplate()) |
82 |
84 |
83 if len(engine.suggestionsParameters()) > 0: |
85 if len(engine.suggestionsParameters()) > 0: |
84 self.writeNamespace( |
86 self.writeNamespace( |
85 "http://a9.com/-/spec/opensearch/extensions/parameters/1.0/", "p") |
87 "http://a9.com/-/spec/opensearch/extensions/" |
|
88 "parameters/1.0/", "p") |
86 for parameter in engine.suggestionsParameters(): |
89 for parameter in engine.suggestionsParameters(): |
87 self.writeStartElement("p:Parameter") |
90 self.writeStartElement("p:Parameter") |
88 self.writeAttribute("name", parameter[0]) |
91 self.writeAttribute("name", parameter[0]) |
89 self.writeAttribute("value", parameter[1]) |
92 self.writeAttribute("value", parameter[1]) |
90 |
93 |