Mercurial > gemma
view pkg/common/zip.go @ 1947:4235fa8f59d7
clien: pdf-gen: load logo externally; add prepare step
* Change the way how the logo to be placed in the pdf is loaded:
It can be configured in the `.env.local´ file, otherwise a placeholder
will be loaded from the static assets. The placeholder has not been
placed in `assets` because it won't be needed if a real logo has
been specified and thus should not compiled in by default.
* Add a mechanism to do asynchronous preparations before rendering.
This is needed for the completeion of the Image() loading, but it also
shows how asynchronous preparational step can be added in principle.
* Disable the start button when the current rendering is in progress.
author | Bernhard Reiter <bernhard@intevation.de> |
---|---|
date | Tue, 22 Jan 2019 10:01:08 +0100 |
parents | 594f3f1e45aa |
children | 4bb5dfa0b7e3 |
line wrap: on
line source
// This is Free Software under GNU Affero General Public License v >= 3.0 // without warranty, see README.md and license for details. // // SPDX-License-Identifier: AGPL-3.0-or-later // License-Filename: LICENSES/AGPL-3.0.txt // // Copyright (C) 2018 by via donau // – Österreichische Wasserstraßen-Gesellschaft mbH // Software engineering by Intevation GmbH // // Author(s): // * Sascha L. Teichmann <sascha.teichmann@intevation.de> package common import ( "archive/zip" "strings" ) // FindInZIP scans a ZIP file directory for a file that ends with // case insensitive string. Returns only the first match. func FindInZIP(z *zip.ReadCloser, needle string) *zip.File { needle = strings.ToLower(needle) for _, straw := range z.File { if strings.HasSuffix(strings.ToLower(straw.Name), needle) { return straw } } return nil }