pymetrick


Namepymetrick JSON
Version 0.80.4 PyPI version JSON
download
home_pagehttps://pythonhosted.org/pymetrick/
SummaryLightweight web framework
upload_time2024-12-17 18:57:46
maintainerFco. Javier Tamarit V
docs_urlNone
authorFco. Javier Tamarit V
requires_pythonNone
licenseGNU/GPLv3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            PYMETRICK
=========
Pymetrick version 0.80.4

Mini marco de desarrollo basado en Python 3.11+ ( TODO EN UNO ), al disponer de todos los módulos necesarios para cualquier desarrollo web (templates, session/cookies, routing de solicitudes, gestión MySQL y SQLite, rst - reStructuredText, identificación de conexiones, tratamiento de imagenes, tratamiento de correos,...etc) permite prescindir de librerias ajenas a las librerías estándar de PYTHON, aunque el uso de librerías externas no se excluye completamente.

Se aceptan contribuciones de codigo que permitan la adaptación a desarrollos empresariales, con igual licencia que PYMETRICK.


INDICE DE MODULOS
-----------------

- IMAGE o cómo gestionar imagenes
- SQLDB o cómo gestionar BB.DD. (mariaDB)
- MAIL tratamiento de correo
- EXCHEQUER tratamiento fiscal e identificación (NIF/CIF/NIE/VAT) y Registro de Operadores Intracomunitarios
- HELPERS o gestión de utilidades universales de uso común
- RST o reStructuredText gestiona el formato de textos convirtiendolo en html
- COMMON o dónde identificar valores universales
- FPDF generación de documentos PDF ( versión de pyFPDF con incorporaciones de pymetrick )
- ISSUE formatos comerciales como facturas, tickets (PDF y ESC/POS), etiquetas de almacén,...
- BUCKET gestiona OBJECT STORAGE o servicios compatibles con AWS S3

IMAGE
-----

Este módulo permite la adaptación o manipulación de las imágenes a cualquier necesidad, desde el peso de las imágenes hasta su formato.

Importar Image:

from pymetrick.image import *

Utilidades con imagenes :
        image_size(__path__) Comprueba las dimensiones de la imagen.

        image_resize(__path__,__factor__=1,__resized_path__='') Convierte fichero de imagen a un tamaño diferente, ademas es posible cambiar el tipo de imagen de png, jpeg o gif a otro cuando se renombra el fichero de imagen resultante.

        strip_metadata(image_path,newImage=None) Elimina los metadatos EXIF de una imagen, guardando en el mismo nombre de imagen o bien en otra imagen nueva.

        image2html('logo.png') Devuelve una imagen en base64 como un string de forma que se pueda utilizar como imagen embebida en css o html.

        image2base64('logo.png') Devuelve una imagen en base64 extendido  ( file_name$string_base64).

        image_download('http://nadadenada.com/coche.png', '/img/coche_2.png') Descarga una imagen desde una url con <urllib> y permite renombrar el fichero.

        image_checksums('logo.png') Devuelve un hash como un string que identifica la imagen para ser comparada con otras imagenes.

        image_compare(file1,file2) Devuelve 0 si las imagenes comparadas son iguales, en caso contrario devolvera un valor distinto de 0.
        
        image_qrcode('/home/content.png'logo.png') Devuelve datos/informacion en formato qrcode como imagen png

SQLDB 
--------

Gestión de la conexión con BB.DD. como MySQL (MYSQL.CONNECTOR), PostgreSQL (PSYCOPG2) y SQLite.

Incluye funciones dirigidas a conexión, reconexión, así como la creación, modificación, eliminación y utilidades de BB.DD.,tablas, indices,...

SESSION
-------

Identifica las conexiones de clientes mediante JSON WEB TOKENS stateless authentication, que se intercambian entre el 
servidor WEB y el cliente a través de :
                HTTP_COOKIE
                HTTP_X_AUTHORIZATION or X_REQUEST_WITH
                HTTP_HOST
                HTTP_CLIENT_IP o HTTP_X_FORWARDED_FOR o REMOTE_ADDR

Incorpora también funciones de encriptación y generación de passwords

MAIL
-----

Con el módulo MAIL se gestiona el correo electrónico. Condición necesaria es disponer de un servidor SMTP y POP3 o IMAP

Parámetros necesarios :  

    sendMail()        Enviar mail e incorporar ficheros adjuntos si fuera necesario
        _sender       - str  -  enviado desde
        _to           - list -  enviar a
        _cc           - list -  enviar copias
        _bcc          - list -  enviar copias ocultas
        _subject      - str  -  asunto
        _text         - str  -  text/plain del mensaje
        _html         - str  -  text/html  del mensaje
        _user         - str  -  usuario
        _password     - str  -  password
        _smtpserver   - str  -  servidor smtp
        _smtp_port    - str  -  puerto
        _imapserver   - str  -  servidor imap ( crea correo en carpeta SENT )
        _imap_port    - str  -  puerto
        _files        - list -  ficheros adjuntos
        _output       - str  -  el contenido del mensaje se grabara como un fichero

    getMail()         Recepción de mail desde POP3|IMAP
        _user         - str  -  usuario
        _password     - str  -  password
        _imapserver   - str  -  servidor IMAP
        _pop3server   - str  -  servidor POP3
        _port         - str  -  puerto
        _criteria     - str  -   
                        ALL - devuelve todos los mensajes que coinciden con el resto del criterio
                        ANSWERED - coincide con los mensajes con la bandera \\ANSWERED establecida
                        BCC "cadena" - coincide con los mensajes con "cadena" en el campo Bcc:
                        BEFORE "fecha" - coincide con los mensajes con Date: antes de "fecha"
                        BODY "cadena" - coincide con los mensajes con "cadena" en el cuerpo del mensaje
                        CC "cadena" - coincide con los mensajes con "cadena" en el campo Cc:
                        DELETED - coincide con los mensajes borrados
                        FLAGGED - coincide con los mensajes con la bandera \\FLAGGED establecida (algunas veces referidos como Importante o Urgente)
                        FROM "cadena" - coincide con los mensajes con "cadena" en el campo From:
                        KEYWORD "cadena" - coincide con los mensajes con "cadena" como palabra clave
                        NEW - coincide con los mensajes nuevos
                        OLD - coincide con los mensajes antiguos
                        ON "fecha" - coincide con los mensajes con Date: coincidiendo con "fecha"
                        RECENT - coincide con los mensajes con la bandera \\RECENT establecida
                        SEEN - coincide con los mensajes que han sido leídos (la bandera \\SEEN esta estabecido)
                        SINCE "fecha" - coincide con los mensajes con Date: despues de "fecha"
                        SUBJECT "cadena" - coincide con los mensajes con "cadena" en Subject:
                        TEXT "cadena" - coincide con los mensajes con el texto "cadena"
                        TO "cadena" - coincide con los mensajes con "cadena" en To:
                        UNANSWERED - coincide con los mensajes que no han sido respondidos
                        UNDELETED - coincide con los mensajes que no están eliminados
                        UNFLAGGED - coincide con los mensajes que no tienen bandera
                        UNKEYWORD "cadena" - coincide con los mensajes que no tienen la palabra clave "cadena"
                        UNSEEN - coincide con los mensajes que aun no han sido leidos
        _outputdir    - str  -

    deleteIMAP()      Eliminar mail de servidor IMAP
        _user         - str  -  usuario
        _password     - str  -  password
        _imapserver   - str  -  servidor IMAP
        _port         - str  -  puerto
        _folder       - str  -  carpeta a tratar

    timeZone(zona)

EXCHEQUER
---------

Con el módulo EXCHEQUER pueden introducirse datos identificativos fiscales en las transacciones comerciales, así como validar
las identificaciones aportadas según reglas de cada país.

HELPERS
-------

Se admiten todas las clases o funciones que por su funcionalidad, puedan compartirse entre los restantes módulos o no tengan un fín funcional asociado a los restantes módulos.

             
COMMON
------

Proporciona listas de valores universales para todos los módulos.

FPDF
------

Producción de documentos en formato PDF. Este módulo es una actualización del original FPDF versión 1.7.1 en el que se han incluído EAN13, UPC_A y funciones auxiliares para producir 
códigos de barras no incluídos en la versión previa. 

VERSIONES
---------

Las versiones estables se indicarán con número de versión par. Las versiones en desarrollo y que incorporen características experimentales se numerarán con versión impar.


Ver 0.01     21/09/2012  Licencia GPLv3  - en desarrollo -
    Las pruebas de desarrollo se realizan sobre un ordenador RASPBERRY PI  512Mb RAM, 1 GHz CPU y tarjeta SD de 64Gb con una evolución satisfactoria. El objetivo es desarrollar una librería simple y funcional.
    El entorno hardware de desarrollo se complementa con un servidor MySQL 5 y servidor web APACHE 2 con mod_wsgi.

Ver 0.80.4   10/06/2024  Licencia GPLv3  - versión estable -

CREDITOS O COLABORACIONES
-------------------------

Cualquier desarrollo que se incorpore a un módulo o la introducción de nuevos desarrollos deben ser aprobados antes de formar parte de la libreria, debiendo respetar la licencia GPLv3. El reconocimiento de los desarrolladores que colaboren a mejorar la librería se incorporará en la cabecera 'CREDITS' de los módulos afectados por sus desarrollos.

            

Raw data

            {
    "_id": null,
    "home_page": "https://pythonhosted.org/pymetrick/",
    "name": "pymetrick",
    "maintainer": "Fco. Javier Tamarit V",
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": "pymetrick@pymetrick.org",
    "keywords": null,
    "author": "Fco. Javier Tamarit V",
    "author_email": "javtamvi@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/3d/c0/bf477f9794da387c971665027669dfe673d5bc91fa93fc583c4312a50f69/pymetrick-0.80.4.tar.gz",
    "platform": null,
    "description": "\ufeffPYMETRICK\r\n=========\r\nPymetrick version 0.80.4\r\n\r\nMini marco de desarrollo basado en Python 3.11+ ( TODO EN UNO ), al disponer de todos los m\u00f3dulos necesarios para cualquier desarrollo web (templates, session/cookies, routing de solicitudes, gesti\u00f3n MySQL y SQLite, rst - reStructuredText, identificaci\u00f3n de conexiones, tratamiento de imagenes, tratamiento de correos,...etc) permite prescindir de librerias ajenas a las librer\u00edas est\u00e1ndar de PYTHON, aunque el uso de librer\u00edas externas no se excluye completamente.\r\n\r\nSe aceptan contribuciones de codigo que permitan la adaptaci\u00f3n a desarrollos empresariales, con igual licencia que PYMETRICK.\r\n\r\n\r\nINDICE DE MODULOS\r\n-----------------\r\n\r\n- IMAGE o c\u00f3mo gestionar imagenes\r\n- SQLDB o c\u00f3mo gestionar BB.DD. (mariaDB)\r\n- MAIL tratamiento de correo\r\n- EXCHEQUER tratamiento fiscal e identificaci\u00f3n (NIF/CIF/NIE/VAT) y Registro de Operadores Intracomunitarios\r\n- HELPERS o gesti\u00f3n de utilidades universales de uso com\u00fan\r\n- RST o reStructuredText gestiona el formato de textos convirtiendolo en html\r\n- COMMON o d\u00f3nde identificar valores universales\r\n- FPDF generaci\u00f3n de documentos PDF ( versi\u00f3n de pyFPDF con incorporaciones de pymetrick )\r\n- ISSUE formatos comerciales como facturas, tickets (PDF y ESC/POS), etiquetas de almac\u00e9n,...\r\n- BUCKET gestiona OBJECT STORAGE o servicios compatibles con AWS S3\r\n\r\nIMAGE\r\n-----\r\n\r\nEste m\u00f3dulo permite la adaptaci\u00f3n o manipulaci\u00f3n de las im\u00e1genes a cualquier necesidad, desde el peso de las im\u00e1genes hasta su formato.\r\n\r\nImportar Image:\r\n\r\nfrom pymetrick.image import *\r\n\r\nUtilidades con imagenes :\r\n        image_size(__path__) Comprueba las dimensiones de la imagen.\r\n\r\n        image_resize(__path__,__factor__=1,__resized_path__='') Convierte fichero de imagen a un tama\u00f1o diferente, ademas es posible cambiar el tipo de imagen de png, jpeg o gif a otro cuando se renombra el fichero de imagen resultante.\r\n\r\n        strip_metadata(image_path,newImage=None) Elimina los metadatos EXIF de una imagen, guardando en el mismo nombre de imagen o bien en otra imagen nueva.\r\n\r\n        image2html('logo.png') Devuelve una imagen en base64 como un string de forma que se pueda utilizar como imagen embebida en css o html.\r\n\r\n        image2base64('logo.png') Devuelve una imagen en base64 extendido  ( file_name$string_base64).\r\n\r\n        image_download('http://nadadenada.com/coche.png', '/img/coche_2.png') Descarga una imagen desde una url con <urllib> y permite renombrar el fichero.\r\n\r\n        image_checksums('logo.png') Devuelve un hash como un string que identifica la imagen para ser comparada con otras imagenes.\r\n\r\n        image_compare(file1,file2) Devuelve 0 si las imagenes comparadas son iguales, en caso contrario devolvera un valor distinto de 0.\r\n        \r\n        image_qrcode('/home/content.png'logo.png') Devuelve datos/informacion en formato qrcode como imagen png\r\n\r\nSQLDB \r\n--------\r\n\r\nGesti\u00f3n de la conexi\u00f3n con BB.DD. como MySQL (MYSQL.CONNECTOR), PostgreSQL (PSYCOPG2) y SQLite.\r\n\r\nIncluye funciones dirigidas a conexi\u00f3n, reconexi\u00f3n, as\u00ed como la creaci\u00f3n, modificaci\u00f3n, eliminaci\u00f3n y utilidades de BB.DD.,tablas, indices,...\r\n\r\nSESSION\r\n-------\r\n\r\nIdentifica las conexiones de clientes mediante JSON WEB TOKENS stateless authentication, que se intercambian entre el \r\nservidor WEB y el cliente a trav\u00e9s de :\r\n                HTTP_COOKIE\r\n                HTTP_X_AUTHORIZATION or X_REQUEST_WITH\r\n                HTTP_HOST\r\n                HTTP_CLIENT_IP o HTTP_X_FORWARDED_FOR o REMOTE_ADDR\r\n\r\nIncorpora tambi\u00e9n funciones de encriptaci\u00f3n y generaci\u00f3n de passwords\r\n\r\nMAIL\r\n-----\r\n\r\nCon el m\u00f3dulo MAIL se gestiona el correo electr\u00f3nico. Condici\u00f3n necesaria es disponer de un servidor SMTP y POP3 o IMAP\r\n\r\nPar\u00e1metros necesarios :  \r\n\r\n    sendMail()        Enviar mail e incorporar ficheros adjuntos si fuera necesario\r\n        _sender       - str  -  enviado desde\r\n        _to           - list -  enviar a\r\n        _cc           - list -  enviar copias\r\n        _bcc          - list -  enviar copias ocultas\r\n        _subject      - str  -  asunto\r\n        _text         - str  -  text/plain del mensaje\r\n        _html         - str  -  text/html  del mensaje\r\n        _user         - str  -  usuario\r\n        _password     - str  -  password\r\n        _smtpserver   - str  -  servidor smtp\r\n        _smtp_port    - str  -  puerto\r\n        _imapserver   - str  -  servidor imap ( crea correo en carpeta SENT )\r\n        _imap_port    - str  -  puerto\r\n        _files        - list -  ficheros adjuntos\r\n        _output       - str  -  el contenido del mensaje se grabara como un fichero\r\n\r\n    getMail()         Recepci\u00f3n de mail desde POP3|IMAP\r\n        _user         - str  -  usuario\r\n        _password     - str  -  password\r\n        _imapserver   - str  -  servidor IMAP\r\n        _pop3server   - str  -  servidor POP3\r\n        _port         - str  -  puerto\r\n        _criteria     - str  -   \r\n                        ALL - devuelve todos los mensajes que coinciden con el resto del criterio\r\n                        ANSWERED - coincide con los mensajes con la bandera \\\\ANSWERED establecida\r\n                        BCC \"cadena\" - coincide con los mensajes con \"cadena\" en el campo Bcc:\r\n                        BEFORE \"fecha\" - coincide con los mensajes con Date: antes de \"fecha\"\r\n                        BODY \"cadena\" - coincide con los mensajes con \"cadena\" en el cuerpo del mensaje\r\n                        CC \"cadena\" - coincide con los mensajes con \"cadena\" en el campo Cc:\r\n                        DELETED - coincide con los mensajes borrados\r\n                        FLAGGED - coincide con los mensajes con la bandera \\\\FLAGGED establecida (algunas veces referidos como Importante o Urgente)\r\n                        FROM \"cadena\" - coincide con los mensajes con \"cadena\" en el campo From:\r\n                        KEYWORD \"cadena\" - coincide con los mensajes con \"cadena\" como palabra clave\r\n                        NEW - coincide con los mensajes nuevos\r\n                        OLD - coincide con los mensajes antiguos\r\n                        ON \"fecha\" - coincide con los mensajes con Date: coincidiendo con \"fecha\"\r\n                        RECENT - coincide con los mensajes con la bandera \\\\RECENT establecida\r\n                        SEEN - coincide con los mensajes que han sido le\u00eddos (la bandera \\\\SEEN esta estabecido)\r\n                        SINCE \"fecha\" - coincide con los mensajes con Date: despues de \"fecha\"\r\n                        SUBJECT \"cadena\" - coincide con los mensajes con \"cadena\" en Subject:\r\n                        TEXT \"cadena\" - coincide con los mensajes con el texto \"cadena\"\r\n                        TO \"cadena\" - coincide con los mensajes con \"cadena\" en To:\r\n                        UNANSWERED - coincide con los mensajes que no han sido respondidos\r\n                        UNDELETED - coincide con los mensajes que no est\u00e1n eliminados\r\n                        UNFLAGGED - coincide con los mensajes que no tienen bandera\r\n                        UNKEYWORD \"cadena\" - coincide con los mensajes que no tienen la palabra clave \"cadena\"\r\n                        UNSEEN - coincide con los mensajes que aun no han sido leidos\r\n        _outputdir    - str  -\r\n\r\n    deleteIMAP()      Eliminar mail de servidor IMAP\r\n        _user         - str  -  usuario\r\n        _password     - str  -  password\r\n        _imapserver   - str  -  servidor IMAP\r\n        _port         - str  -  puerto\r\n        _folder       - str  -  carpeta a tratar\r\n\r\n    timeZone(zona)\r\n\r\nEXCHEQUER\r\n---------\r\n\r\nCon el m\u00f3dulo EXCHEQUER pueden introducirse datos identificativos fiscales en las transacciones comerciales, as\u00ed como validar\r\nlas identificaciones aportadas seg\u00fan reglas de cada pa\u00eds.\r\n\r\nHELPERS\r\n-------\r\n\r\nSe admiten todas las clases o funciones que por su funcionalidad, puedan compartirse entre los restantes m\u00f3dulos o no tengan un f\u00edn funcional asociado a los restantes m\u00f3dulos.\r\n\r\n             \r\nCOMMON\r\n------\r\n\r\nProporciona listas de valores universales para todos los m\u00f3dulos.\r\n\r\nFPDF\r\n------\r\n\r\nProducci\u00f3n de documentos en formato PDF. Este m\u00f3dulo es una actualizaci\u00f3n del original FPDF versi\u00f3n 1.7.1 en el que se han inclu\u00eddo EAN13, UPC_A y funciones auxiliares para producir \r\nc\u00f3digos de barras no inclu\u00eddos en la versi\u00f3n previa. \r\n\r\nVERSIONES\r\n---------\r\n\r\nLas versiones estables se indicar\u00e1n con n\u00famero de versi\u00f3n par. Las versiones en desarrollo y que incorporen caracter\u00edsticas experimentales se numerar\u00e1n con versi\u00f3n impar.\r\n\r\n\r\nVer 0.01     21/09/2012  Licencia GPLv3  - en desarrollo -\r\n    Las pruebas de desarrollo se realizan sobre un ordenador RASPBERRY PI  512Mb RAM, 1 GHz CPU y tarjeta SD de 64Gb con una evoluci\u00f3n satisfactoria. El objetivo es desarrollar una librer\u00eda simple y funcional.\r\n    El entorno hardware de desarrollo se complementa con un servidor MySQL 5 y servidor web APACHE 2 con mod_wsgi.\r\n\r\nVer 0.80.4   10/06/2024  Licencia GPLv3  - versi\u00f3n estable -\r\n\r\nCREDITOS O COLABORACIONES\r\n-------------------------\r\n\r\nCualquier desarrollo que se incorpore a un m\u00f3dulo o la introducci\u00f3n de nuevos desarrollos deben ser aprobados antes de formar parte de la libreria, debiendo respetar la licencia GPLv3. El reconocimiento de los desarrolladores que colaboren a mejorar la librer\u00eda se incorporar\u00e1 en la cabecera 'CREDITS' de los m\u00f3dulos afectados por sus desarrollos.\r\n",
    "bugtrack_url": null,
    "license": "GNU/GPLv3",
    "summary": "Lightweight web framework",
    "version": "0.80.4",
    "project_urls": {
        "Homepage": "https://pythonhosted.org/pymetrick/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "486dde1c9cd85828b8896ac1d00349526400ad099ab061770a893694b07ca585",
                "md5": "05dffcc4e3b2bbe5c293034cd8cc8f4c",
                "sha256": "96dd3c0d6084ce85acb44e49c8b4c94337eeb68839c1f562f7e2e7e70f9db59a"
            },
            "downloads": -1,
            "filename": "pymetrick-0.80.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "05dffcc4e3b2bbe5c293034cd8cc8f4c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 199228,
            "upload_time": "2024-12-17T18:57:44",
            "upload_time_iso_8601": "2024-12-17T18:57:44.289589Z",
            "url": "https://files.pythonhosted.org/packages/48/6d/de1c9cd85828b8896ac1d00349526400ad099ab061770a893694b07ca585/pymetrick-0.80.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3dc0bf477f9794da387c971665027669dfe673d5bc91fa93fc583c4312a50f69",
                "md5": "309cd20117d1393807f39670b7fd349e",
                "sha256": "86e43e84da6744ce18343fe9e766954e26225078a0771836a19133a50cf2c7f2"
            },
            "downloads": -1,
            "filename": "pymetrick-0.80.4.tar.gz",
            "has_sig": false,
            "md5_digest": "309cd20117d1393807f39670b7fd349e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 182850,
            "upload_time": "2024-12-17T18:57:46",
            "upload_time_iso_8601": "2024-12-17T18:57:46.047132Z",
            "url": "https://files.pythonhosted.org/packages/3d/c0/bf477f9794da387c971665027669dfe673d5bc91fa93fc583c4312a50f69/pymetrick-0.80.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-17 18:57:46",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pymetrick"
}
        
Elapsed time: 0.32750s