# -*- coding: utf-8 -*- """ *************************************************************************** workspace.py --------------------- Date : November 2012 Copyright : (C) 2012 by David Winslow Email : dwins at opengeo dot com *************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * *************************************************************************** """ __author__ = 'David Winslow' __date__ = 'November 2012' __copyright__ = '(C) 2012, David Winslow' # This will get replaced with a git SHA1 when you do a git archive __revision__ = '$Format:%H$' from processing.admintools.geoserver.support import xml_property, write_bool, \ ResourceInfo, url def workspace_from_index(catalog, node): name = node.find('name') return Workspace(catalog, name.text) class Workspace(ResourceInfo): resource_type = 'workspace' def __init__(self, catalog, name): super(Workspace, self).__init__() self.catalog = catalog self.name = name @property def href(self): return url(self.catalog.service_url, ['workspaces', self.name + '.xml' ]) @property def coveragestore_url(self): return url(self.catalog.service_url, ['workspaces', self.name, 'coveragestores.xml']) @property def datastore_url(self): return url(self.catalog.service_url, ['workspaces', self.name, 'datastores.xml']) enabled = xml_property('enabled', lambda x: x.lower() == 'true') writers = dict(enabled=write_bool('enabled')) def __repr__(self): return '%s @ %s' % (self.name, self.href)