X-Git-Url: https://source.tree.se/git?p=treecutter.git;a=blobdiff_plain;f=treecutter%2Fpage.py;h=b14ccdfec1a1522383e29227357de1555ae8e713;hp=22d380ec033562358c0d01562af3d4544f5b87e7;hb=e334f4bd5cbfd4ac928333c78dbfae3afe0c3a6a;hpb=a5d302ebffb20a984f2393d6e1f6aea6ae39c1d9 diff --git a/treecutter/page.py b/treecutter/page.py index 22d380e..b14ccdf 100644 --- a/treecutter/page.py +++ b/treecutter/page.py @@ -3,6 +3,8 @@ import os import subprocess import tempfile import re +import getpass +import gnupg from lxml import etree from Cheetah.Template import Template from pkg_resources import resource_filename, resource_listdir @@ -87,6 +89,14 @@ class Page(): for r in self._doc.xpath(u"//db:link[@xlink:href]",namespaces=const.XPATH): rf = os.path.join(dirname,r.get(const.XLINK+'href')) if os.path.isfile(rf): + if r.get('security')=='encrypt': + with open(rf, 'rb') as f: + gpg = gnupg.GPG() + status = gpg.encrypt_file( + f, None, passphrase=getpass.getpass(rf+' password:'), symmetric=True, + output=rf+'.gpg') + r.set(const.XLINK+'href', r.get(const.XLINK+'href')+'.gpg') + rf=rf+'.gpg' self._resources.append(rf) for i in self._doc.xpath(u"//db:imagedata[@fileref]",namespaces=const.XPATH): im = os.path.join(dirname,i.get('fileref'))