faset over fra Z3950 til google books
This commit is contained in:
193
python/gdata/calendar_resource/data.py
Normal file
193
python/gdata/calendar_resource/data.py
Normal file
@@ -0,0 +1,193 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
# Copyright 2009 Google Inc. All Rights Reserved.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""Data model for parsing and generating XML for the Calendar Resource API."""
|
||||
|
||||
|
||||
__author__ = 'Vic Fryzel <vf@google.com>'
|
||||
|
||||
|
||||
import atom.core
|
||||
import atom.data
|
||||
import gdata.apps
|
||||
import gdata.apps_property
|
||||
import gdata.data
|
||||
|
||||
|
||||
# This is required to work around a naming conflict between the Google
|
||||
# Spreadsheets API and Python's built-in property function
|
||||
pyproperty = property
|
||||
|
||||
|
||||
# The apps:property name of the resourceId property
|
||||
RESOURCE_ID_NAME = 'resourceId'
|
||||
# The apps:property name of the resourceCommonName property
|
||||
RESOURCE_COMMON_NAME_NAME = 'resourceCommonName'
|
||||
# The apps:property name of the resourceDescription property
|
||||
RESOURCE_DESCRIPTION_NAME = 'resourceDescription'
|
||||
# The apps:property name of the resourceType property
|
||||
RESOURCE_TYPE_NAME = 'resourceType'
|
||||
|
||||
|
||||
class CalendarResourceEntry(gdata.data.GDEntry):
|
||||
"""Represents a Calendar Resource entry in object form."""
|
||||
|
||||
property = [gdata.apps_property.AppsProperty]
|
||||
|
||||
def _GetProperty(self, name):
|
||||
"""Get the apps:property value with the given name.
|
||||
|
||||
Args:
|
||||
name: string Name of the apps:property value to get.
|
||||
|
||||
Returns:
|
||||
The apps:property value with the given name, or None if the name was
|
||||
invalid.
|
||||
"""
|
||||
|
||||
for p in self.property:
|
||||
if p.name == name:
|
||||
return p.value
|
||||
return None
|
||||
|
||||
def _SetProperty(self, name, value):
|
||||
"""Set the apps:property value with the given name to the given value.
|
||||
|
||||
Args:
|
||||
name: string Name of the apps:property value to set.
|
||||
value: string Value to give the apps:property value with the given name.
|
||||
"""
|
||||
|
||||
for i in range(len(self.property)):
|
||||
if self.property[i].name == name:
|
||||
self.property[i].value = value
|
||||
return
|
||||
self.property.append(gdata.apps_property.AppsProperty(name=name, value=value))
|
||||
|
||||
def GetResourceId(self):
|
||||
"""Get the resource ID of this Calendar Resource object.
|
||||
|
||||
Returns:
|
||||
The resource ID of this Calendar Resource object as a string or None.
|
||||
"""
|
||||
|
||||
return self._GetProperty(RESOURCE_ID_NAME)
|
||||
|
||||
def SetResourceId(self, value):
|
||||
"""Set the resource ID of this Calendar Resource object.
|
||||
|
||||
Args:
|
||||
value: string The new resource ID value to give this object.
|
||||
"""
|
||||
|
||||
self._SetProperty(RESOURCE_ID_NAME, value)
|
||||
|
||||
resource_id = pyproperty(GetResourceId, SetResourceId)
|
||||
|
||||
def GetResourceCommonName(self):
|
||||
"""Get the common name of this Calendar Resource object.
|
||||
|
||||
Returns:
|
||||
The common name of this Calendar Resource object as a string or None.
|
||||
"""
|
||||
|
||||
return self._GetProperty(RESOURCE_COMMON_NAME_NAME)
|
||||
|
||||
def SetResourceCommonName(self, value):
|
||||
"""Set the common name of this Calendar Resource object.
|
||||
|
||||
Args:
|
||||
value: string The new common name value to give this object.
|
||||
"""
|
||||
|
||||
self._SetProperty(RESOURCE_COMMON_NAME_NAME, value)
|
||||
|
||||
resource_common_name = pyproperty(
|
||||
GetResourceCommonName,
|
||||
SetResourceCommonName)
|
||||
|
||||
def GetResourceDescription(self):
|
||||
"""Get the description of this Calendar Resource object.
|
||||
|
||||
Returns:
|
||||
The description of this Calendar Resource object as a string or None.
|
||||
"""
|
||||
|
||||
return self._GetProperty(RESOURCE_DESCRIPTION_NAME)
|
||||
|
||||
def SetResourceDescription(self, value):
|
||||
"""Set the description of this Calendar Resource object.
|
||||
|
||||
Args:
|
||||
value: string The new description value to give this object.
|
||||
"""
|
||||
|
||||
self._SetProperty(RESOURCE_DESCRIPTION_NAME, value)
|
||||
|
||||
resource_description = pyproperty(
|
||||
GetResourceDescription,
|
||||
SetResourceDescription)
|
||||
|
||||
def GetResourceType(self):
|
||||
"""Get the type of this Calendar Resource object.
|
||||
|
||||
Returns:
|
||||
The type of this Calendar Resource object as a string or None.
|
||||
"""
|
||||
|
||||
return self._GetProperty(RESOURCE_TYPE_NAME)
|
||||
|
||||
def SetResourceType(self, value):
|
||||
"""Set the type value of this Calendar Resource object.
|
||||
|
||||
Args:
|
||||
value: string The new type value to give this object.
|
||||
"""
|
||||
|
||||
self._SetProperty(RESOURCE_TYPE_NAME, value)
|
||||
|
||||
resource_type = pyproperty(GetResourceType, SetResourceType)
|
||||
|
||||
def __init__(self, resource_id=None, resource_common_name=None,
|
||||
resource_description=None, resource_type=None, *args, **kwargs):
|
||||
"""Constructs a new CalendarResourceEntry object with the given arguments.
|
||||
|
||||
Args:
|
||||
resource_id: string (optional) The resource ID to give this new object.
|
||||
resource_common_name: string (optional) The common name to give this new
|
||||
object.
|
||||
resource_description: string (optional) The description to give this new
|
||||
object.
|
||||
resource_type: string (optional) The type to give this new object.
|
||||
args: The other parameters to pass to gdata.entry.GDEntry constructor.
|
||||
kwargs: The other parameters to pass to gdata.entry.GDEntry constructor.
|
||||
"""
|
||||
super(CalendarResourceEntry, self).__init__(*args, **kwargs)
|
||||
if resource_id:
|
||||
self.resource_id = resource_id
|
||||
if resource_common_name:
|
||||
self.resource_common_name = resource_common_name
|
||||
if resource_description:
|
||||
self.resource_description = resource_description
|
||||
if resource_type:
|
||||
self.resource_type = resource_type
|
||||
|
||||
|
||||
class CalendarResourceFeed(gdata.data.GDFeed):
|
||||
"""Represents a feed of CalendarResourceEntry objects."""
|
||||
|
||||
# Override entry so that this feed knows how to type its list of entries.
|
||||
entry = [CalendarResourceEntry]
|
Reference in New Issue
Block a user