Seite 1 von 1

Funktion, die Dateigröße ausliest

Verfasst: Montag 19. Mai 2008, 08:53
von cort1983
Hallo,

ich habe für unsere Plone-Seite ein Produkt programmiert, mit dessen Hilfe die Nutzer Jobangebote in unserer Firma auf die Website stellen können.
Das ganze läuft wie folgt:
Es gibt ein Eingabeformular mit "Einstiegsdatum", "Vergütung" etc. Der Nutzer hat weiterhin die Möglichkeit, eine Datei hochzuladen, z.B. ein PDF mit genaueren Angaben zum jeweiligen Job-Angebot.
Im Ausgabeformular habe ich mit "tal:condition" versucht festzulegen, dass der Link zu der Datei nur dann ausgegeben wird, wenn der Nutzer sie auch wirklich hochgeladen hat. Es ist jedoch egal ob man eine Datei hochlädt, der Link zu der Datei wird IMMER ausgegeben.
Nun versuche ich eine Funktion zu programmieren, die mittels getSize die Größe der Datei ermittelt. Bei >0 soll der Link angezeigt werden, bei =0 nicht.
Der Codeschnipsel sieht wie folgt aus. Mir ist bewusst, dass das so nicht klappen kann, aber mir gehen die Ideen aus, denn ich bin eigentlich kein Programmierer!

Code: Alles auswählen

<tr>
        <td>
        <tal:tal tal:define="datei here/upload;"></tal:tal>
        <span tal:python import os />
        <span tal:python from os.path import getsize />        
        <span tal:define="groesse python:getSize(here/upload)"/>        
        <tal:tal tal:condition="here/groesse > 0"></tal:tal>        
        <a href="" tal:attributes = "href
        string:${here/absolute_url}/upload">
        Download 
        </a>
        </td>        
</tr>
Ich freue mich auf jede Antwort, sollte es noch Fragen geben, stellt sie bitte!

Viele Grüße,
Christoph

Verfasst: Dienstag 20. Mai 2008, 06:44
von audax
getsize ist der falsche Ansatz! Du solltest eigentlich direkt mit einer Bedingung prüfen können, ob das Dateifeld belegt ist.

Frag mich nicht, wie genau, das frag lieber in #zope oder #plone in freenode-irc ;)

Auf jeden Fall musst du kein Python dafür schreiben!