Skip to main content

Observatoire Photographique des Paysages

Project description

Build Status codecov PyPi version

Terralego Backend for OPP module


First, create a data layer for observatory

./ create_observatory_layer -n observatory

Then get the given primary key, for example 10.

Settings needed to be set

TROPP_OBSERVATORY_LAYER_PK=10  # replace by primary key given by command

  'terra_opp': [
    ('original', 'url'),
    ('full', 'thumbnail__1500x1125'),
    ('list', 'thumbnail__300x225'),
    ('thumbnail', 'thumbnail__180x120'),

AUTH_USER_MODEL = 'terra_accounts.TerraUser'

Media files

If your project is not using the default django storage, then you must define and set a url fetcher in order to tell weasyprint where to find your media files.

An example of url fetcher using media files from S3 storage :

from django.conf import settings
from terra_opp.renderers import django_url_fetcher

def custom_url_fetcher(url, *args, **kwargs):
   scheme = 'https' if settings.AWS_S3_SECURE_URLS else 'http'
   url_prefix = f"{scheme}://{settings.AWS_S3_CUSTOM_DOMAIN}"

   if url.startswith(url_prefix):
       url = url.replace(
           settings.AWS_S3_ENDPOINT_URL + settings.AWS_STORAGE_BUCKET_NAME

   return django_url_fetcher(url, *args, **kwargs)

And then you must refer to this custom url fetcher in your settings. Example if your fetcher is define in custom/

TROPP_URL_FETCHER = 'custom.fetcher.custom_url_fetcher'

0.4.1 / 2020-08-26

  • Removing signals and doing all the logic in the related viewsets
  • Add possibility to make your own url fetcher :
    • Add TROPP_URL_FETCHER settings and instructions
  • Fix factory boy version
  • using django.db.models.JSONField instead of django.contrib.postgres.fields

0.4.0 / 2020-07-30

  • Warning ! Breaking changes

    • Due to uniformity of storage usages, you need to use file:// schema in your template to access pictures
    • Deprecate defining observatory layer by name.
    • Now you need to define layer pk instead -> TROPP_OBSERVATORY_LAYER_PK.
    • Existing frontend applications should be fixed by TROPP_OBSERVATORY_LAYER_PK=1
  • fix picture property

  • fix prefetched data as list and not queryset

  • fix restframework not listed in setup requirements

  • Fix storage usage and make it working with weasyprint with default and custom storages

  • add correct dependencies to handle JPG

  • allow argument set layer name at creation

  • dont block if observatory layer pk not defined, to let ability to create it

  • block start without defined correct layer settings

  • add and improve configuration checking

  • add command to create point layer to used as observatory

  • set defined observatory layer by pk and provide info to frontend to avoid expecting hardcoded pk=1 layer for tiles

  • PK and corresponding endpoints are auto added to /api/settings to send dynamic configuration to frontend

  • Storage bucket is not required anymore.

0.3.8 (2020-06-23)

  • Fix default settings

0.3.7 (2020-06-19)

  • Support django 3.0
  • add "as_versatile" filter for template usage

0.3.6 (2019-12-19)

  • Compatibility with python 3.8, django 3.0 and DRF 3.11
  • Add flake8 for linting

0.3.5 (2019-11-04)

  • Fix MEDIA_URL may be empty, breaking url fetcher

0.3.4 (2019-10-10)

  • Remove remarks field on Picture

0.3.3 (2019-10-09)

  • Fix Manifest to include md files

0.3.0 (XXXX-XX-XX)

First standalone release

  • Extract from terra-common package to make it a standalone package

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for terra-opp, version 0.4.1
Filename, size File type Python version Upload date Hashes
Filename, size terra-opp-0.4.1.tar.gz (23.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page