Welcome to the Ogre Toolkit Documentation!¶
The Ogre Toolkit is designed to make working with OpenGeoMetadata repositories a bit easier for Python projects.
Repositories¶
A Repository
is a collection of items. Each item provides access to its associated metadata files:
from ogre.repository import Repository
repo = Repository('local/repo', 'remote/repo')
for item in repo:
with open(item.fgdc) as fp:
fp.read() # <?xml version="1.0"?><metadata>...
Parsers¶
Parsers (currently only FGDC) are provided to handle various metadata formats that might appear in a repository. A parser will parse a file into a dictionary whose keys match the current GeoBlacklight schema:
from ogre.xml import parse, FGDCParser
metadata = parse(item.fgdc, FGDCParser)
print metadata['dc_title_s']
Records¶
A Record
is a container object for GeoBlacklight metadata (see: https://github.com/geoblacklight/geoblacklight-schema). Fields can be
provided as arguments to the constructor or set later:
from ogre.record import Record
record = Record(dc_title_s='Some GIS data')
print record.dc_title_s # 'Some GIS data'
record.dct_provenance_s = 'MIT'
Fields are typed and provide some basic normalization and authority control:
record.dc_description_s = ' Abstract '
print record.dc_description_s # 'Abstract'
record.dc_rights_s = 'Bogus rights' # raises InvalidDataError
A record can be represented as a dictionary:
record.as_dict() # {'dc_title_s': 'Some GIS data'...
You can easily create your own kind of Record
with, for example, default field values:
from ogre.record import Record
from ogre.fields import *
class MITRecord(Record):
dct_provenance_s = String(default='MIT')
r = MITRecord()
print r.dct_provenance_s # 'MIT'
API Reference¶
For detailed information on the API refer to the following documentation: