PDF Liste

194 views
Skip to first unread message

Keivisha

unread,
May 19, 2012, 5:57:28 AM5/19/12
to Griffith in German
Hallo zusammen

Nachdem ich nun endlich meine Filmliste auf aktuellem Stand habe habe
ich mir überlegt das ganze als PDF-Liste auszudrucken. Leider habe ich
festgestellt das ich mehr Informationen in die Liste einbringen möchte
und sie grafisch etwas aufpeppen wollte, also habe ich angefangen ein
wenig zu basteln und bin bis auf 3 Punkte auch erfolgreich gewesen:
1.) Die Altersfreigabe
2.) Der Datenträger
3.) Die Auflösung
Diese 3 Informationen hätte ich noch gerne mit in der PDF Liste. Im
Forum standen einige Beiträge zur PDF Liste und in den meisten war man
sich einig darüber, das man um die Informationen mit einzubauen
erstmal diese Zeile erweitern soll:

fields_to_export = ('number', 'o_title', 'title', 'director', 'genre',
'cast', 'plot', 'runtime', 'year', 'notes', 'poster_md5')

Da die gewünschten infos als html einstellbar waeren hab ich dort
nachgesehen wie die Bereiche heißen müssten und bin auf folgende
gestossen

1.) Rating
2.) Volume_id
3.) Resolution

Daher kam mein Versuch die oben genannte Zeile umzuwandeln:

fields_to_export = ('volume_id', 'Rating', 'Resolution', 'barcode',
'number', 'o_title', 'title', 'director', 'genre', 'cast', 'plot',
'runtime', 'year', 'notes', 'poster_md5')

Um die Werte als Text in die Liste zu bekommen fehlt dann ja nur noch
der umbau der Zeile:

if 'genre' in pdf_elements and movie.genre:
paragraph_text = '<b>' + _('Genre') + ': </b>'
+ saxutils.escape(movie.genre.encode(defaultEnc))
p =
Paragraph(paragraph_text.decode(defaultEnc), self.styles['Normal'])
Story.append(p)

Dies habe ich wie folgt probiert

1.) if 'Rating' in pdf_elements and movie.Rating:
paragraph_text = '<b>' + _('Altersfreigabe') +
': </b>' + saxutils.escape(str(movie.rating))
p =
Paragraph(paragraph_text.decode(defaultEnc), self.styles['Normal'])
Story.append(p)

2.)if 'Volume_id' in pdf_elements and movie.volume_id:
paragraph_text = '<b>' + _('Datenträger') + ':
</b>''<i>' + saxutils.escape(movie.Volume_id.encode(defaultEnc)) +
'</i>'
p =
Paragraph(paragraph_text.decode(defaultEnc), self.styles['Normal'])
Story.append(p)

3.)if 'Resolution' in pdf_elements and movie.resolution:
paragraph_text = '<b>' + _('Auflösung') + ': </
b>''<i>' + saxutils.escape(movie.resolution.encode(defaultEnc)) + '</
i>'
p =
Paragraph(paragraph_text.decode(defaultEnc), self.styles['Normal'])
Story.append(p)

So weit so gut. Das Ergebnis ist aber leider nicht das gewünschte. Es
wird zwar eine PDF Liste erzeugt aber eben ohne die zusätzlichen
Infos. Daher die Frage wo liegt mein Fehler?

Kann mir da irgendjemand weiterhelfen?

Nutze Griffith 0.13 unter Windows Vista 64bit

Andreas Schmidt

unread,
May 23, 2012, 7:10:16 AM5/23/12
to griffit...@googlegroups.com

Hallo,

 

jetzt hatte ich mal Zeit zu testen ... und habe folgende Antwort:

1. Die Altersangabe wird eingeblendet, wenn Du classification nutzt und nicht rating:

                   #if 'classification' in pdf_elements and movie.classification:
                        paragraph_text = '<i><b>' + _('Classification') + ': </b>' + saxutils.escape(movie.classification.encode(defaultEnc)) + '</i>'


                        p = Paragraph(paragraph_text.decode(defaultEnc), self.styles['Normal'])
                        Story.append(p)

Interessanterweise aber nur, wenn die if Zeile auskommentiert wird ...

 

2. Datenträger und Auflösung sind nur als Referenz unter volume_id und ratio_id einblendbar; die dazugehörigen Klartextwerte liegen in den Datenbanksets volumes und ratios. Da muß der Code erweitert werden, damit diese Felder im Klartext erscheinen. Soweit habe ich nun nicht getestet.

 

Vielleicht hilft es ja ... ich bin auch kein Coder ...

 

Gruß, Andreas 

 

Keivisha <Dail...@gmx.de> hat am 19. Mai 2012 um 11:57 geschrieben:

Mit freundlichen Grüßen
Ihr Andreas Schmidt
http://www.biblionaer.de/
http://www.bibelspiel.de/
http://www.hillschmidt.de/

Forum zum Quiz: http://www.hillschmidt.de/forum_smf/
Newsletter zum Quiz: anmelden unter
http://www.hillschmidt.de/quiz/quiz_newsletter.html
Noch mehr Spiele finden Sie unter http://www.bibelspiel.de/

Keivisha

unread,
May 30, 2012, 3:05:15 PM5/30/12
to griffit...@googlegroups.com, Andreas Schmidt
Wunderbar hat einwandfrei funktioniert jetzt fehlen nur noch die Punkte 2 und 3 aber die werde ich auch noch irgendwie knacken. Hab mal ein Beispielbild von meinem jetzigen Fortschritt angehangen.
PDFliste bspl.jpg

Keivisha

unread,
Jun 9, 2012, 5:10:31 PM6/9/12
to griffit...@googlegroups.com
Super Klasse Mike du bist der größte vielen Dank für die Hilfe

Keivisha

unread,
Jun 14, 2012, 3:45:18 AM6/14/12
to griffit...@googlegroups.com
zu den Punkten 2 und 3 schrieb mir Mike:

 um den Datenträger zu bekommen, musst Du die Auflistung fields_to_export um den Eintrag 'volumes.name' erweitern.

 Durch 'volumes.name' ergibt sich jedoch noch eine signifikante Änderung beim Abruf der Werte aus dem Objekt movie.

 Die Spalten haben jetzt alle die Tabelle als Prefix. Also aus movie.number wird movie.movies_number, aus volumes.name wird movie.volumes_name, aus movie.title wird movie.movies_title und so weiter.


 

 Bei der Auflösung ist es etwas komplizierter. Diese wird in den Feldern 'width' und 'height' gespeichert.

 Die zwei Spalten musst Du ebenfalls in die Auflistung fields_to_export aufnehmen.

 In der Datei lib\db\_movie.py ist dann das Mapping enthalten.

 Um es zu nutzen, legst Du in der Klasse ExportPlugin die Methode

     def _get_resolution(self, movie):

         if not movie.movies_width or not movie.movies_height:

             return ''

         from db._movie import res_aliases

         resolution = (movie.movies_width, movie.movies_height)

         if resolution in res_aliases:

             return res_aliases[resolution][0]

         else:

             res_string = "%dx%d" % resolution

             return res_string

an. Mit self._get_resolution(movie) rufst dann die Auflösung ab.

Hab einfach mal die geänderte ExportPDF angehangen.
PluginExportPDFfinal.py

frank.ko...@googlemail.com

unread,
Nov 6, 2012, 2:25:09 AM11/6/12
to griffit...@googlegroups.com
Hallo zusammen,
 
das PDF-Export Script ist wirklich spitze. Da ich den Datenträger ebenfalls benötige habe ich das angehängteScript direkt eingebunden.
 
Aber bei mir wird leider nicht die Handlung des Films angezeigt. Bei den zu exportierenden Feldnamen habe ich 'plot' mitaufgenommen,
aber es funktioniert nicht. Wäre echt klasse, wenn mir jemand helfen könnte!!
 
Ich nutze griffith 0.13 unter Windows 7 (64bit).
 
Viele Grüße
Frank
Reply all
Reply to author
Forward
0 new messages