rer.ufficiostampa


Namerer.ufficiostampa JSON
Version 1.6.6 PyPI version JSON
download
home_pagehttps://github.com/RegioneER/rer.ufficiostampa
SummaryPolicy for Ufficio Stampa
upload_time2023-03-14 13:51:13
maintainer
docs_urlNone
authorRedTurtle Technology
requires_python==2.7, >=3.6
licenseGPL version 2
keywords python plone
VCS
bugtrack_url
requirements setuptools zc.buildout
Travis-CI No Travis.
coveralls test coverage
            .. This README is meant for consumption by humans and pypi. Pypi can render rst files so please do not use Sphinx features.
   If you want to learn more about writing documentation, please check out: http://docs.plone.org/about/documentation_styleguide.html
   This text does not appear on pypi or github. It is a comment.

===================
RER: Ufficio Stampa
===================

Prodotto per la gestione delle comunicazioni alla stampa.

Funzionalità principali
=======================

- Content-type dedicati (Comunicato Stampa e Invito Stampa)
- Gestione canali di iscrizioni per i giornalisti
- Invio dei comunicati

Content-type
============

Sono presenti due content-type uguali tra loro per la gestione di due tipi diversi di comunicazioni:

- **Comunicato Stampa**
- **Invito Stampa**

Sono delle pagine con due campi aggiuntivi (Argomenti e Legislatura) e folderish (in cui si può inserire solo **Immagini**, **File** e **Cartelle**).

Progressivo Comunicato Stampa
-----------------------------

I comunicati stampa hanno un progressivo rispetto all'anno corrente (es: 1/2021).

Ogni volta che viene pubblicato un Comunicato Stampa, viene incrementato il progressivo e il valore viene
associato a quel comunicato (scritto in un campo).

Il primo Comunicato Stampa inviato in un anno, parte col numero 1.


Database iscritti
=================

C'è un database interno (basato su `souper.plone <https://pypi.org/project/souper.plone/>`_) nel quale vengono memorizzati i dati degli iscritti.

E' possibile interrogare il database tramite rotte api (vedi in seguito) o mediante utility Plone::

    from zope.component import getUtility
    from rer.ufficiostampa.interfaces import ISubscriptionsStore

    tool = getUtility(ISubscriptionsStore)

Di seguito vengono riportati i principali metodi.

Aggiunta iscritto
-----------------

- Metodo ``add``
- Parametri: ``data`` (dizionario con i parametri)
- Risposta: l'id univoco del nuovo record

``data`` deve essere un dizionario con la lista di possibili parametri:

- email [obbligatorio]: indirizzo a cui inviare i comunicati
- channels [obbligatorio]: lista dei canali di invio di interesse
- name: nome dell'iscritto
- surname: cognome dell'iscritto
- phone: numero di telefono dell'iscritto
- newspaper: nome della testata giornalistica di riferimento dell'iscritto

Altri campi verranno ignorati.

Ricerca iscritti
----------------

- Metodo ``search``
- Parametri: ``query`` (dizionario con i parametri), ``sort_index`` (default=date), ``reverse`` (default=False)
- Risposta: la lista di risultati

``query`` è un dizionario che può contenere uno o più dei seguenti parametri:

- text (viene ricercato nei campi nome, email e cognome)
- channels
- newspaper

Aggiornamento dati iscritto
---------------------------

- Metodo ``update``
- Parametri: ``data`` (dizionario con i parametri), ``id`` (identificativo dell'iscritto)
- Risposta: 

``data`` è un dizionario che può contenere uno o più dei parametri di iscrizione.

Cancellazione iscritto
-----------------------

- Metodo ``delete``
- Parametri: ``id`` (identificativo dell'iscritto)
- Risposta: 

Reset database
--------------

- Metodo ``clear``
- Parametri:
- Risposta: 


Rotte restapi
=============

Lista iscritti
--------------

*@subscriptions*

Endpoint da chiamare in **GET** sulla radice del sito.

Ritorna la lista degli iscritti e i possibili canali. Solo per gli utenti che hanno il permesso "rer.ufficiostampa.ManageChannels"::

> curl -i -X GET http://localhost:8080/Plone/@subscriptions -H 'Accept: application/json' -H 'Content-Type: application/json' --user admin:admin

La risposta è simile a questa::

    {
        "@id": "http://localhost:8080/Plone/@subscriptions",
        "items": [
            ...
        ],
        "items_total": 42,
        "channels": [...]
    }


Creazione nuovo iscritto
------------------------

*@subscriptions*

Endpoint da chiamare in **POST** sulla radice del sito.

Solo per gli utenti che hanno il permesso "rer.ufficiostampa.ManageChannels"::

> curl -i -X POST http://localhost:8080/Plone/@subscriptions -H 'Accept: application/json' -H 'Content-Type: application/json' --data-raw '{"email": "foo@plone.org", "channels": ["first", "second"]}' --user admin:admin

Se l'operazione va a buon fine, il server ritorna un ``204``.



Aggiornamento dati iscritto
---------------------------

*@subscriptions*

Endpoint da chiamare in **PATCH** sulla radice del sito.

Solo per gli utenti che hanno il permesso "rer.ufficiostampa.ManageChannels"::

> curl -i -X PATCH http://localhost:8080/Plone/@subscriptions/subscription_id -H 'Accept: application/json' -H 'Content-Type: application/json' --data-raw '{"email": "foo@plone.org", "name": "John"}' --user admin:admin

Dove **subscription_id** è l'id dell'iscritto da aggiornare.

Se l'operazione va a buon fine, il server ritorna un ``204``.

Valgono le regole dei campi per la creazione.

Cancellazione iscritto
----------------------

*@subscriptions*

Endpoint da chiamare in **DELETE** sulla radice del sito.

Solo per gli utenti che hanno il permesso "rer.ufficiostampa.ManageChannels"::

> curl -i -X DELETE http://localhost:8080/Plone/@subscriptions/subscription_id -H 'Accept: application/json' --user admin:admin

Dove **subscription_id** è l'id dell'iscritto da aggiornare.

Se l'operazione va a buon fine, il server ritorna un ``204``.


Cancellazione iscritto
----------------------

*@subscriptions-clear*

Endpoint da chiamare in **GET** sulla radice del sito.

Solo per gli utenti che hanno il permesso "rer.ufficiostampa.ManageChannels"::

> curl -i -X DELETE http://localhost:8080/Plone/@subscriptions-clear -H 'Accept: application/json' --user admin:admin

Svuota completamente il db degli iscritti.

Se l'operazione va a buon fine, il server ritorna un ``204``.


Export in CSV
-------------

*@subscriptions-csv*

Endpoint da chiamare in **GET** sulla radice del sito.

Solo per gli utenti che hanno il permesso "rer.ufficiostampa.ManageChannels"::

> curl -i -X GET http://localhost:8080/Plone/@subscriptions-csv -H 'Accept: application/json' --user admin:admin

Ritorna un file csv con la lista degli iscritti.

Import da CSV
-------------

*@subscriptions-csv*

Endpoint da chiamare in **POST** sulla radice del sito.

Solo per gli utenti che hanno il permesso "rer.ufficiostampa.ManageChannels"::

> curl -i -X POST http://localhost:8080/Plone/@subscriptions-csv -H 'Accept: application/json' -H 'Content-Type: application/json' --data-raw '{"overwrite":true,"file":{"data": "...","encoding":"base64","content-type":"text/comma-separated-values","filename":"iscritti.csv"}}' --user admin:admin

Accetta i seguenti parametri:

- **overwrite**: se ``true``, se esiste già un record nel db con l'email presente nel file, questo verrà sovrascritto con i nuovi dati. Se il parametro è mancante o ``false``, viene mantenuto il valore già presente nel db senza aggiornarlo.
- **clear**: se ``true``, prima di eseguire l'import, viene completamente cancellato il db.
- **file**: il file csv da caricare. Encodato in base64

La chiamata ritorna una risposta del genere::

    {
        "imported": 0,
        "skipped": []
    }

Dove **imported** è il numero di elementi inseriti effettivamente nel db, e **skipped** è la lista di righe del file che sono state ignorate per qualche motivo (entry già presenti e overwrite non impostato).

Se l'email non è valida o channels contiene uno dei canali non impostati nel panello di controllo, allora il procedimeto si interrompe e viene ritonata la risposta con
la lista di righe del file che hanno dei valori non validi::
    
    {
        "errored": []
    }

Installazione
=============

Install rer.ufficiostampa by adding it to your buildout::

    [buildout]

    ...

    eggs =
        rer.ufficiostampa


and then running ``bin/buildout``


Contribute
----------

- Issue Tracker: https://github.com/collective/rer.ufficiostampa/issues
- Source Code: https://github.com/collective/rer.ufficiostampa
- Documentation: https://docs.plone.org/foo/bar


Support
-------

If you are having issues, please let us know.
We have a mailing list located at: project@example.com


License
-------

The project is licensed under the GPLv2.


Contributors
============

- RedTurtle Technology, sviluppo@redturtle.it


Changelog
=========

1.6.6 (2023-03-14)
------------------

- Do not send duplicated emails lowering all addresses before send.
  [cekk]


1.6.5 (2023-01-05)
------------------

- Add querystring modifiers for keyord indexes to prevent utf-8 errors.
  [cekk]


1.6.4 (2023-01-03)
------------------

- Index also text from contents.
  [cekk]


1.6.3 (2022-11-23)
------------------

- Read value of slave form fields from the querystring.
  [cekk]


1.6.2 (2022-11-03)
------------------

- Fix field logic.
  [cekk]
- Set proper value in legislature field.
  [cekk]

1.6.1 (2022-10-27)
------------------

- Fix README identation.
  [cekk]

1.6.0 (2022-10-27)
------------------

- Handle master/select logic for Legislature and Arguments in search form.
  [cekk]

- Additional validations for subscribers import, also new behavior if invalid email/channels passed
  [foxtrot-dfm1]

1.5.1 (2022-06-06)
------------------

- Pass query to export-csv endpoint to export only selected subscribers.
  [cekk]


1.5.0 (2022-03-10)
------------------

- Add versioning for Comunicato and Invito.
  [cekk]
- Add solrpush behavior for additional fields.
  [cekk]

1.4.0 (2022-01-20)
------------------

- New search endpoint for comunicati (@search-comunicati). This is needed because new rer.sitesearch overrides @search endpoint and always search on SOLR.
  [cekk]


1.3.0 (2022-01-20)
------------------

- Normalize title and description on save.
  [cekk]
- Add effective date in Comunicato view.
  [cekk]

1.2.2 (2021-11-04)
------------------

- Arguments field is now required.
  [cekk]


1.2.1 (2021-09-16)
------------------

- Cleanup subject string before send, to remove strange characters.
  [cekk]


1.2.0 (2021-09-02)
------------------

- Cleanup channels (remove duplicated ones).
  [cekk]
- Refactor how to perform queries (to handle also unicode problems).
  [cekk]
- Accessibilty fixes: modal focus trap + select keyboard events
  [nzambello]


1.1.0 (2021-08-05)
------------------

- Disallow add new items in *arguments* field.
  [cekk]
- Export in csv also title and number.
  [cekk]
- Correctly wrap search terms with "*'*" in it.
  [cekk]
- Customize social viewlets to fix title and description meta tags (and also add a light dependency with rer.agidtheme.base).
  [cekk]
- Add dependency to ftfy to better encode csv exports.
  [cekk]

1.0.1 (2021-07-09)
------------------

- Fix import for python2 and sort indexes.
  [cekk]


1.0.0 (2021-05-26)
------------------

- Initial release.
  [cekk]
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/RegioneER/rer.ufficiostampa",
    "name": "rer.ufficiostampa",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "==2.7, >=3.6",
    "maintainer_email": "",
    "keywords": "Python Plone",
    "author": "RedTurtle Technology",
    "author_email": "sviluppo@redturtle.it",
    "download_url": "https://files.pythonhosted.org/packages/f4/33/77b9aa827bea137def5cd64b68d1b9ce46ada972d71ab1bcb97e14a27457/rer.ufficiostampa-1.6.6.tar.gz",
    "platform": null,
    "description": ".. This README is meant for consumption by humans and pypi. Pypi can render rst files so please do not use Sphinx features.\n   If you want to learn more about writing documentation, please check out: http://docs.plone.org/about/documentation_styleguide.html\n   This text does not appear on pypi or github. It is a comment.\n\n===================\nRER: Ufficio Stampa\n===================\n\nProdotto per la gestione delle comunicazioni alla stampa.\n\nFunzionalit\u00e0 principali\n=======================\n\n- Content-type dedicati (Comunicato Stampa e Invito Stampa)\n- Gestione canali di iscrizioni per i giornalisti\n- Invio dei comunicati\n\nContent-type\n============\n\nSono presenti due content-type uguali tra loro per la gestione di due tipi diversi di comunicazioni:\n\n- **Comunicato Stampa**\n- **Invito Stampa**\n\nSono delle pagine con due campi aggiuntivi (Argomenti e Legislatura) e folderish (in cui si pu\u00f2 inserire solo **Immagini**, **File** e **Cartelle**).\n\nProgressivo Comunicato Stampa\n-----------------------------\n\nI comunicati stampa hanno un progressivo rispetto all'anno corrente (es: 1/2021).\n\nOgni volta che viene pubblicato un Comunicato Stampa, viene incrementato il progressivo e il valore viene\nassociato a quel comunicato (scritto in un campo).\n\nIl primo Comunicato Stampa inviato in un anno, parte col numero 1.\n\n\nDatabase iscritti\n=================\n\nC'\u00e8 un database interno (basato su `souper.plone <https://pypi.org/project/souper.plone/>`_) nel quale vengono memorizzati i dati degli iscritti.\n\nE' possibile interrogare il database tramite rotte api (vedi in seguito) o mediante utility Plone::\n\n    from zope.component import getUtility\n    from rer.ufficiostampa.interfaces import ISubscriptionsStore\n\n    tool = getUtility(ISubscriptionsStore)\n\nDi seguito vengono riportati i principali metodi.\n\nAggiunta iscritto\n-----------------\n\n- Metodo ``add``\n- Parametri: ``data`` (dizionario con i parametri)\n- Risposta: l'id univoco del nuovo record\n\n``data`` deve essere un dizionario con la lista di possibili parametri:\n\n- email [obbligatorio]: indirizzo a cui inviare i comunicati\n- channels [obbligatorio]: lista dei canali di invio di interesse\n- name: nome dell'iscritto\n- surname: cognome dell'iscritto\n- phone: numero di telefono dell'iscritto\n- newspaper: nome della testata giornalistica di riferimento dell'iscritto\n\nAltri campi verranno ignorati.\n\nRicerca iscritti\n----------------\n\n- Metodo ``search``\n- Parametri: ``query`` (dizionario con i parametri), ``sort_index`` (default=date), ``reverse`` (default=False)\n- Risposta: la lista di risultati\n\n``query`` \u00e8 un dizionario che pu\u00f2 contenere uno o pi\u00f9 dei seguenti parametri:\n\n- text (viene ricercato nei campi nome, email e cognome)\n- channels\n- newspaper\n\nAggiornamento dati iscritto\n---------------------------\n\n- Metodo ``update``\n- Parametri: ``data`` (dizionario con i parametri), ``id`` (identificativo dell'iscritto)\n- Risposta: \n\n``data`` \u00e8 un dizionario che pu\u00f2 contenere uno o pi\u00f9 dei parametri di iscrizione.\n\nCancellazione iscritto\n-----------------------\n\n- Metodo ``delete``\n- Parametri: ``id`` (identificativo dell'iscritto)\n- Risposta: \n\nReset database\n--------------\n\n- Metodo ``clear``\n- Parametri:\n- Risposta: \n\n\nRotte restapi\n=============\n\nLista iscritti\n--------------\n\n*@subscriptions*\n\nEndpoint da chiamare in **GET** sulla radice del sito.\n\nRitorna la lista degli iscritti e i possibili canali. Solo per gli utenti che hanno il permesso \"rer.ufficiostampa.ManageChannels\"::\n\n> curl -i -X GET http://localhost:8080/Plone/@subscriptions -H 'Accept: application/json' -H 'Content-Type: application/json' --user admin:admin\n\nLa risposta \u00e8 simile a questa::\n\n    {\n        \"@id\": \"http://localhost:8080/Plone/@subscriptions\",\n        \"items\": [\n            ...\n        ],\n        \"items_total\": 42,\n        \"channels\": [...]\n    }\n\n\nCreazione nuovo iscritto\n------------------------\n\n*@subscriptions*\n\nEndpoint da chiamare in **POST** sulla radice del sito.\n\nSolo per gli utenti che hanno il permesso \"rer.ufficiostampa.ManageChannels\"::\n\n> curl -i -X POST http://localhost:8080/Plone/@subscriptions -H 'Accept: application/json' -H 'Content-Type: application/json' --data-raw '{\"email\": \"foo@plone.org\", \"channels\": [\"first\", \"second\"]}' --user admin:admin\n\nSe l'operazione va a buon fine, il server ritorna un ``204``.\n\n\n\nAggiornamento dati iscritto\n---------------------------\n\n*@subscriptions*\n\nEndpoint da chiamare in **PATCH** sulla radice del sito.\n\nSolo per gli utenti che hanno il permesso \"rer.ufficiostampa.ManageChannels\"::\n\n> curl -i -X PATCH http://localhost:8080/Plone/@subscriptions/subscription_id -H 'Accept: application/json' -H 'Content-Type: application/json' --data-raw '{\"email\": \"foo@plone.org\", \"name\": \"John\"}' --user admin:admin\n\nDove **subscription_id** \u00e8 l'id dell'iscritto da aggiornare.\n\nSe l'operazione va a buon fine, il server ritorna un ``204``.\n\nValgono le regole dei campi per la creazione.\n\nCancellazione iscritto\n----------------------\n\n*@subscriptions*\n\nEndpoint da chiamare in **DELETE** sulla radice del sito.\n\nSolo per gli utenti che hanno il permesso \"rer.ufficiostampa.ManageChannels\"::\n\n> curl -i -X DELETE http://localhost:8080/Plone/@subscriptions/subscription_id -H 'Accept: application/json' --user admin:admin\n\nDove **subscription_id** \u00e8 l'id dell'iscritto da aggiornare.\n\nSe l'operazione va a buon fine, il server ritorna un ``204``.\n\n\nCancellazione iscritto\n----------------------\n\n*@subscriptions-clear*\n\nEndpoint da chiamare in **GET** sulla radice del sito.\n\nSolo per gli utenti che hanno il permesso \"rer.ufficiostampa.ManageChannels\"::\n\n> curl -i -X DELETE http://localhost:8080/Plone/@subscriptions-clear -H 'Accept: application/json' --user admin:admin\n\nSvuota completamente il db degli iscritti.\n\nSe l'operazione va a buon fine, il server ritorna un ``204``.\n\n\nExport in CSV\n-------------\n\n*@subscriptions-csv*\n\nEndpoint da chiamare in **GET** sulla radice del sito.\n\nSolo per gli utenti che hanno il permesso \"rer.ufficiostampa.ManageChannels\"::\n\n> curl -i -X GET http://localhost:8080/Plone/@subscriptions-csv -H 'Accept: application/json' --user admin:admin\n\nRitorna un file csv con la lista degli iscritti.\n\nImport da CSV\n-------------\n\n*@subscriptions-csv*\n\nEndpoint da chiamare in **POST** sulla radice del sito.\n\nSolo per gli utenti che hanno il permesso \"rer.ufficiostampa.ManageChannels\"::\n\n> curl -i -X POST http://localhost:8080/Plone/@subscriptions-csv -H 'Accept: application/json' -H 'Content-Type: application/json' --data-raw '{\"overwrite\":true,\"file\":{\"data\": \"...\",\"encoding\":\"base64\",\"content-type\":\"text/comma-separated-values\",\"filename\":\"iscritti.csv\"}}' --user admin:admin\n\nAccetta i seguenti parametri:\n\n- **overwrite**: se ``true``, se esiste gi\u00e0 un record nel db con l'email presente nel file, questo verr\u00e0 sovrascritto con i nuovi dati. Se il parametro \u00e8 mancante o ``false``, viene mantenuto il valore gi\u00e0 presente nel db senza aggiornarlo.\n- **clear**: se ``true``, prima di eseguire l'import, viene completamente cancellato il db.\n- **file**: il file csv da caricare. Encodato in base64\n\nLa chiamata ritorna una risposta del genere::\n\n    {\n        \"imported\": 0,\n        \"skipped\": []\n    }\n\nDove **imported** \u00e8 il numero di elementi inseriti effettivamente nel db, e **skipped** \u00e8 la lista di righe del file che sono state ignorate per qualche motivo (entry gi\u00e0 presenti e overwrite non impostato).\n\nSe l'email non \u00e8 valida o channels contiene uno dei canali non impostati nel panello di controllo, allora il procedimeto si interrompe e viene ritonata la risposta con\nla lista di righe del file che hanno dei valori non validi::\n    \n    {\n        \"errored\": []\n    }\n\nInstallazione\n=============\n\nInstall rer.ufficiostampa by adding it to your buildout::\n\n    [buildout]\n\n    ...\n\n    eggs =\n        rer.ufficiostampa\n\n\nand then running ``bin/buildout``\n\n\nContribute\n----------\n\n- Issue Tracker: https://github.com/collective/rer.ufficiostampa/issues\n- Source Code: https://github.com/collective/rer.ufficiostampa\n- Documentation: https://docs.plone.org/foo/bar\n\n\nSupport\n-------\n\nIf you are having issues, please let us know.\nWe have a mailing list located at: project@example.com\n\n\nLicense\n-------\n\nThe project is licensed under the GPLv2.\n\n\nContributors\n============\n\n- RedTurtle Technology, sviluppo@redturtle.it\n\n\nChangelog\n=========\n\n1.6.6 (2023-03-14)\n------------------\n\n- Do not send duplicated emails lowering all addresses before send.\n  [cekk]\n\n\n1.6.5 (2023-01-05)\n------------------\n\n- Add querystring modifiers for keyord indexes to prevent utf-8 errors.\n  [cekk]\n\n\n1.6.4 (2023-01-03)\n------------------\n\n- Index also text from contents.\n  [cekk]\n\n\n1.6.3 (2022-11-23)\n------------------\n\n- Read value of slave form fields from the querystring.\n  [cekk]\n\n\n1.6.2 (2022-11-03)\n------------------\n\n- Fix field logic.\n  [cekk]\n- Set proper value in legislature field.\n  [cekk]\n\n1.6.1 (2022-10-27)\n------------------\n\n- Fix README identation.\n  [cekk]\n\n1.6.0 (2022-10-27)\n------------------\n\n- Handle master/select logic for Legislature and Arguments in search form.\n  [cekk]\n\n- Additional validations for subscribers import, also new behavior if invalid email/channels passed\n  [foxtrot-dfm1]\n\n1.5.1 (2022-06-06)\n------------------\n\n- Pass query to export-csv endpoint to export only selected subscribers.\n  [cekk]\n\n\n1.5.0 (2022-03-10)\n------------------\n\n- Add versioning for Comunicato and Invito.\n  [cekk]\n- Add solrpush behavior for additional fields.\n  [cekk]\n\n1.4.0 (2022-01-20)\n------------------\n\n- New search endpoint for comunicati (@search-comunicati). This is needed because new rer.sitesearch overrides @search endpoint and always search on SOLR.\n  [cekk]\n\n\n1.3.0 (2022-01-20)\n------------------\n\n- Normalize title and description on save.\n  [cekk]\n- Add effective date in Comunicato view.\n  [cekk]\n\n1.2.2 (2021-11-04)\n------------------\n\n- Arguments field is now required.\n  [cekk]\n\n\n1.2.1 (2021-09-16)\n------------------\n\n- Cleanup subject string before send, to remove strange characters.\n  [cekk]\n\n\n1.2.0 (2021-09-02)\n------------------\n\n- Cleanup channels (remove duplicated ones).\n  [cekk]\n- Refactor how to perform queries (to handle also unicode problems).\n  [cekk]\n- Accessibilty fixes: modal focus trap + select keyboard events\n  [nzambello]\n\n\n1.1.0 (2021-08-05)\n------------------\n\n- Disallow add new items in *arguments* field.\n  [cekk]\n- Export in csv also title and number.\n  [cekk]\n- Correctly wrap search terms with \"*'*\" in it.\n  [cekk]\n- Customize social viewlets to fix title and description meta tags (and also add a light dependency with rer.agidtheme.base).\n  [cekk]\n- Add dependency to ftfy to better encode csv exports.\n  [cekk]\n\n1.0.1 (2021-07-09)\n------------------\n\n- Fix import for python2 and sort indexes.\n  [cekk]\n\n\n1.0.0 (2021-05-26)\n------------------\n\n- Initial release.\n  [cekk]",
    "bugtrack_url": null,
    "license": "GPL version 2",
    "summary": "Policy for Ufficio Stampa",
    "version": "1.6.6",
    "split_keywords": [
        "python",
        "plone"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f43377b9aa827bea137def5cd64b68d1b9ce46ada972d71ab1bcb97e14a27457",
                "md5": "e5c3f8b2817e2554a3a8c6e530fb8c87",
                "sha256": "011ad84070723ab2b22c387079c49cd4666082e7f33287e9d7ab527334df013a"
            },
            "downloads": -1,
            "filename": "rer.ufficiostampa-1.6.6.tar.gz",
            "has_sig": false,
            "md5_digest": "e5c3f8b2817e2554a3a8c6e530fb8c87",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "==2.7, >=3.6",
            "size": 664500,
            "upload_time": "2023-03-14T13:51:13",
            "upload_time_iso_8601": "2023-03-14T13:51:13.767545Z",
            "url": "https://files.pythonhosted.org/packages/f4/33/77b9aa827bea137def5cd64b68d1b9ce46ada972d71ab1bcb97e14a27457/rer.ufficiostampa-1.6.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-03-14 13:51:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "RegioneER",
    "github_project": "rer.ufficiostampa",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [
        {
            "name": "setuptools",
            "specs": []
        },
        {
            "name": "zc.buildout",
            "specs": []
        }
    ],
    "lcname": "rer.ufficiostampa"
}
        
Elapsed time: 0.04424s