def load(self, uri='', name=''): if uri: return self._g.load(uri=uri, name=name, handler=self._h) st = os.stat(self._p0) if not stat.S_ISDIR(st.st_mode): p = Parser(self._f0) assert p.parse_into_model(self._g, 'file:' + self._p0, base_uri=self._base, handler=self._h) else: for k in os.listdir(self._p0): kn = Node(uri_string=str(k)) st = os.stat(self._p0 + '/' + k) if stat.S_ISDIR(st.st_mode): self._g.append(Statement(kn,ns.rdf['type'],ns.rdfs['Container'])) elif stat.S_ISREG(st.st_mode): self._g.append(Statement(kn,ns.rdf['type'],ns.rdfs['Resource'])) self._g.append(Statement(kn,ns.stat['atime'],Node(literal=str(st.st_atime)))) self._g.append(Statement(kn,ns.stat['ctime'],Node(literal=str(st.st_ctime)))) self._g.append(Statement(kn,ns.stat['mtime'],Node(literal=str(st.st_mtime)))) self._g.append(Statement(kn,ns.stat['size'],Node(literal=str(st.st_size))))
def load(self, uri='', name=''): if uri: return self._g.load(uri=uri, name=name, handler=self._h) st = os.stat(self._p0) if not stat.S_ISDIR(st.st_mode): self._editable = True p = Parser(self._f0) assert p.parse_into_model(self._g, 'file:' + self._p0, base_uri=self._base, handler=self._h) else: self._g.append( Statement(Node(uri_string=self._base), ns.rdf['type'], ns.stat['Directory'])) for k in os.listdir(self._p0): st = os.stat(self._p0 + '/' + k) if stat.S_ISDIR(st.st_mode): kn = Node(uri_string=str(k) + '/') self._g.append( Statement(kn, ns.rdf['type'], ns.stat['Directory'])) else: kn = Node(uri_string=str(k)) self._g.append( Statement(Node(uri_string=self._base), ns.rdfs['member'], kn)) self._g.append( Statement(kn, ns.stat['atime'], Node(literal=str(int(st.st_atime))))) self._g.append( Statement(kn, ns.stat['ctime'], Node(literal=str(int(st.st_ctime))))) self._g.append( Statement(kn, ns.stat['mtime'], Node(literal=str(int(st.st_mtime))))) self._g.append( Statement(kn, ns.stat['size'], Node(literal=str(int(st.st_size)))))
def load_model(rdf, base_uri): if hasattr(rdf, 'find_statements'): return rdf if hasattr(rdf, 'read'): rdf = rdf.read() def handler(code, level, facility, message, line, column, byte, file, uri): pass from RDF import Model, Parser model = Model() Parser().parse_string_into_model(model, rdf, base_uri, handler) return model
def append(self, s, name=None, mime_type=None): p = Parser(name=name, mime_type=mime_type) assert p.parse_string_into_model(self._g, s, self._base, handler=self._h)
def POST_staff(spa, rdf): parser = Parser(mime_type="application/rdf+xml") for statement in parser.parse_string_as_stream(rdf, OUR_LAND): print statement return rdf, 'staff_member_name'