py::qo::exporter::interface Class Reference

Inheritance diagram for py::qo::exporter::interface:

Inheritance graph
[legend]

List of all members.

Public Member Functions

def __init__
def run

Public Attributes

 fields
 label_fields

Static Public Attributes

list all_fields

Private Member Functions

def _begin
def _end
def _write_schema
def _write_row


Member Function Documentation

def py::qo::exporter::interface::__init__ (   self  ) 

Reimplemented in py::qo::exporter::comma_separated_values.

00034                              :
00035                 self.fields = self.all_fields[:]
00036                 self.label_fields = {
00037                         "series" : _("Series"),
00038                         "volume" : _("Volume"),
00039                         "name" : _("Title"),
00040                         "author" : _("Authors"),
00041                         "drawer" : _("Drawers"),
00042                         "editor" : _("Editor"),
00043                         "collection" : _("Collection"),
00044                         "isbn" : _("ISBN"),
00045                         "ean" : _("EAN"),
00046                         "published_date" : _("Published date"),
00047                         "guiding_price" : _("Guiding price"),
00048                         "in_library1" : qodb.models.Library.objects.get(id=1).name,
00049                         "in_library2" : qodb.models.Library.objects.get(id=2).name,
00050                  }
00051         
        def _begin( self ) :

def py::qo::exporter::interface::_begin (   self  )  [private]

called when export begins 

Reimplemented in py::qo::exporter::opendocument_spreadsheet, and py::qo::exporter::comma_separated_values.

00052                            :
00053                 """ called when export begins """
00054                 pass
00055         
        def _end( self ) :

def py::qo::exporter::interface::_end (   self  )  [private]

called when export is done 

Reimplemented in py::qo::exporter::opendocument_spreadsheet, and py::qo::exporter::comma_separated_values.

00056                          :
00057                 """ called when export is done """
00058                 pass
00059         
        def _write_schema( self, fields ) :

def py::qo::exporter::interface::_write_schema (   self,
  fields 
) [private]

we will export fields @p fields 

Reimplemented in py::qo::exporter::opendocument_spreadsheet.

00060                                           :
00061                 """ we will export fields @p fields """
00062                 pass
00063         
        def _write_row( self, row ) :

def py::qo::exporter::interface::_write_row (   self,
  row 
) [private]

insert row 

Reimplemented in py::qo::exporter::opendocument_spreadsheet, and py::qo::exporter::comma_separated_values.

00064                                     :
00065                 """ insert row """
00066                 pass
00067 
        def run( self, queryset ) :

def py::qo::exporter::interface::run (   self,
  queryset 
)

00068                                   :
00069                 fields = []
00070                 # order fields
00071                 for field in self.all_fields :
00072                         if field in self.fields :
00073                                 fields.append(field)
00074 
00075                 # begin exportation
00076                 self._begin()
00077 
00078                 self._write_schema(fields)
00079 
00080                 for obj in queryset :
00081                         if isinstance(obj, qodb.models.AlbumCopy) :
00082                                 copy = obj
00083                                 album = copy.album
00084                         else :
00085                                 album = obj
00086                         row = []
00087                         for field in fields :
00088                                 value = None
00089                                 if field == "series" :
00090                                         value = album.series.name
00091                                 elif field == "collection" :
00092                                         value = album.series.collection.name
00093                                 elif field == "editor" :
00094                                         value = album.series.collection.editor.name
00095                                 elif field in ["author","drawer"] :
00096                                         value = getattr(album,"%ss_str"%field)
00097                                 elif field.startswith("in_library") :
00098                                         value = album.belongs_to_library(int(field[10:]))
00099                                 else :
00100                                         value = getattr(album,field)
00101 
00102                                 row.append(value)
00103                         self._write_row(row)
00104 
00105                 # end exportation
00106                 self._end()
00107 
00108 
class file_interface( interface ) :


Member Data Documentation

list py::qo::exporter::interface::all_fields [static]

Initial value:

["series","volume","name","author","drawer","editor","collection",
                                        "isbn","ean","published_date","guiding_price","in_library1","in_library2"]

py::qo::exporter::interface::fields

py::qo::exporter::interface::label_fields


The documentation for this class was generated from the following file:
Generated on Tue Oct 9 20:40:31 2007 for Qomics by  doxygen 1.5.3