Merge pull request #141 from hbrunn/9.0-report_qweb_pdf_watermark

[IMP] use PyPDF2 if possible
pull/166/head
Pedro M. Baeza 2017-08-30 10:24:53 +02:00 committed by GitHub
commit 631fd60345
5 changed files with 24 additions and 15 deletions

View File

@ -1,14 +1,12 @@
sudo: false
dist: trusty
cache: pip
addons:
sources:
- pov-wkhtmltopdf
apt:
packages:
- expect-dev # provides unbuffer utility
- python-lxml # because pip installation is slow
- wkhtmltopdf # report tests
language: python
@ -19,6 +17,7 @@ env:
global:
- VERSION="9.0" TESTS="0" LINT_CHECK="0" TRANSIFEX="0"
- TRANSIFEX_USER='transbot@odoo-community.org'
- WKHTMLTOPDF_VERSION=0.12.4
- secure: NUsXwVrMntcqge1ozKW+DSkP7dq+Rla6JVvFF2c89/g+zJaIqQRi8EQBLoqNwCdMk+rjpQeZt/JPELjH+EzPcmGddhDxOgVB3nUT9LvFXGCHF+NjmHXqyba4tuc7BnpG1WDD+rSlxVCt1aIjNIhhaZ4ic0rCWpKNYu/yFTsmChc=
matrix:
- LINT_CHECK="1"
@ -26,13 +25,6 @@ env:
- TESTS="1" ODOO_REPO="odoo/odoo"
- TESTS="1" ODOO_REPO="OCA/OCB"
virtualenv:
system_site_packages: true
before_install:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
install:
- git clone --depth=1 https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools
- export PATH=${HOME}/maintainer-quality-tools/travis:${PATH}

View File

@ -10,6 +10,11 @@ This module was written to add watermarks (backgrounds) to PDF reports.
This is necessary because of the way wkhtmltopdf handles headers and footers, in the current versions if quite impossible to have a background for the complete page.
Installation
============
This module works out of the box, but is faster if you install the python library PyPDF2.
Usage
=====

View File

@ -3,7 +3,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Pdf watermark",
"version": "9.0.1.0.0",
"version": "9.0.1.0.1",
"author": "Therp BV,Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Reporting",

View File

@ -3,10 +3,20 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from base64 import b64decode
from logging import getLogger
from pyPdf import PdfFileWriter, PdfFileReader
from pyPdf.utils import PdfReadError
from PIL import Image
from StringIO import StringIO
from pyPdf import PdfFileWriter, PdfFileReader
from pyPdf.utils import PdfReadError
try:
from PyPDF2 import PdfFileWriter, PdfFileReader # pylint: disable=W0404
from PyPDF2.utils import PdfReadError # pylint: disable=W0404
except ImportError:
pass
try:
# we need this to be sure PIL has loaded PDF support
from PIL import PdfImagePlugin # noqa: F401
except ImportError:
pass
from openerp import api, models, tools
logger = getLogger(__name__)

View File

@ -1,11 +1,13 @@
# -*- coding: utf-8 -*-
# © 2016 Therp BV <http://therp.nl>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openerp.tests.common import TransactionCase
from PIL import Image
from openerp.tests.common import HttpCase
class TestReportQwebPdfWatermark(TransactionCase):
class TestReportQwebPdfWatermark(HttpCase):
def test_report_qweb_pdf_watermark(self):
Image.init()
# with our image, we have three
self._test_report_images(3)