def get_rootid(self): """Returns nodeid of notebook root node""" # GET / self._request('GET', format_node_path(self._prefix)) result = self._conn.getresponse() if result.status == httplib.OK: return plist.load(result) else: raise connlib.UnknownNode()
def read_node(self, nodeid): self._request('GET', format_node_path(self._prefix, nodeid)) result = self._conn.getresponse() if result.status == httplib.OK: try: attr = plist.load(result) self._title_cache.update_attr(attr) return attr except Exception, e: raise connlib.ConnectionError( "unexpected error '%s'" % str(e), e)
def index_raw(self, query): # POST /?index # query plist encoded body_content = plist.dumps(query).encode("utf8") self._request( 'POST', format_node_path(self._prefix) + "?index", body_content) result = self._conn.getresponse() if result.status == httplib.OK: try: return plist.load(result) except Exception, e: raise connlib.ConnectionError( "unexpected response '%s'" % str(e), e)
def test_read_write_file(self): data = { 'aaa': 444, '11': True, } plist_xml = ("<dict><key>aaa</key><integer>444</integer>" "<key>11</key><true/></dict>") elm = plist.load(StringIO(plist_xml)) self.assertEqual(elm, data) out = StringIO() plist.dump(elm, out) self.assertEqual(out.getvalue(), plist_xml)
def index_raw(self, query): # POST /?index # query plist encoded body_content = plist.dumps(query).encode("utf8") self._request('POST', format_node_path(self._prefix) + "?index", body_content) result = self._conn.getresponse() if result.status == httplib.OK: try: return plist.load(result) except Exception as e: raise connlib.ConnectionError( "unexpected response '%s'" % str(e), e)
def read_node(self, nodeid): self._request('GET', format_node_path(self._prefix, nodeid)) result = self._conn.getresponse() if result.status == httplib.OK: try: attr = plist.load(result) self._title_cache.update_attr(attr) return attr except Exception as e: raise connlib.ConnectionError("unexpected error '%s'" % str(e), e) else: raise connlib.UnknownNode(nodeid)
def list_dir(self, nodeid, filename="/"): """ List data files in node """ # GET nodeid/dir/ if not filename.endswith("/"): filename += "/" self._request( 'GET', format_node_path(self._prefix, nodeid, filename)) result = self._conn.getresponse() if result.status == httplib.OK: try: return plist.load(result) except Exception, e: raise connlib.ConnectionError( "unexpected response '%s'" % str(e), e)
def list_dir(self, nodeid, filename="/"): """ List data files in node """ # GET nodeid/dir/ if not filename.endswith("/"): filename += "/" self._request('GET', format_node_path(self._prefix, nodeid, filename)) result = self._conn.getresponse() if result.status == httplib.OK: try: return plist.load(result) except Exception as e: raise connlib.ConnectionError( "unexpected response '%s'" % str(e), e) else: raise connlib.FileError("cannot list node")
def load_data(self, stream): if self._version == 2: return json.loads(stream.read()) else: return plist.load(stream)