| #!/usr/bin/python |
| # |
| # Copyright (C) 2009 Google Inc. |
| # |
| # 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. |
| |
| """Contains the data classes of the Google Book Search Data API""" |
| |
| |
| __author__ = 'j.s@google.com (Jeff Scudder)' |
| |
| |
| import atom.core |
| import atom.data |
| import gdata.data |
| import gdata.dublincore.data |
| import gdata.opensearch.data |
| |
| |
| GBS_TEMPLATE = '{http://schemas.google.com/books/2008/}%s' |
| |
| |
| class CollectionEntry(gdata.data.GDEntry): |
| """Describes an entry in a feed of collections.""" |
| |
| |
| class CollectionFeed(gdata.data.BatchFeed): |
| """Describes a Book Search collection feed.""" |
| entry = [CollectionEntry] |
| |
| |
| class Embeddability(atom.core.XmlElement): |
| """Describes an embeddability.""" |
| _qname = GBS_TEMPLATE % 'embeddability' |
| value = 'value' |
| |
| |
| class OpenAccess(atom.core.XmlElement): |
| """Describes an open access.""" |
| _qname = GBS_TEMPLATE % 'openAccess' |
| value = 'value' |
| |
| |
| class Review(atom.core.XmlElement): |
| """User-provided review.""" |
| _qname = GBS_TEMPLATE % 'review' |
| lang = 'lang' |
| type = 'type' |
| |
| |
| class Viewability(atom.core.XmlElement): |
| """Describes a viewability.""" |
| _qname = GBS_TEMPLATE % 'viewability' |
| value = 'value' |
| |
| |
| class VolumeEntry(gdata.data.GDEntry): |
| """Describes an entry in a feed of Book Search volumes.""" |
| comments = gdata.data.Comments |
| language = [gdata.dublincore.data.Language] |
| open_access = OpenAccess |
| format = [gdata.dublincore.data.Format] |
| dc_title = [gdata.dublincore.data.Title] |
| viewability = Viewability |
| embeddability = Embeddability |
| creator = [gdata.dublincore.data.Creator] |
| rating = gdata.data.Rating |
| description = [gdata.dublincore.data.Description] |
| publisher = [gdata.dublincore.data.Publisher] |
| date = [gdata.dublincore.data.Date] |
| subject = [gdata.dublincore.data.Subject] |
| identifier = [gdata.dublincore.data.Identifier] |
| review = Review |
| |
| |
| class VolumeFeed(gdata.data.BatchFeed): |
| """Describes a Book Search volume feed.""" |
| entry = [VolumeEntry] |
| |
| |