pineboo


Namepineboo JSON
Version 0.76.27.1 PyPI version JSON
download
home_pagehttps://github.com/deavid/pineboo
SummaryERP replacement for Eneboo written in Python
upload_time2020-12-01 12:04:48
maintainer
docs_urlNone
authorDavid Martínez Martí, José A. Fernández Fernández
requires_python~=3.6
license
keywords erp pineboo eneboo accounting sales warehouse
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Pineboo - Manual de supervivencia
===================================
Se ha redactado este manual para las dudas más comunes sobre este proyecto de
investigación, y ayudar a que cualquiera pueda poner en marcha y realizar las
pruebas que desee con el mismo.

¿Qué demonios es Pineboo?
----------------------------
Pineboo es un proyecto de investigación, donde no se pretende obtener un producto
final, sino sentar una base y crear las tecnologías necesarias para el día de mañana
crear realmente el/los producto(s) que se deseen.

Lo que se desea es contestar a la frase: "Qué necesitamos para poder ejecutar un proyecto
de módulos de Eneboo sin Eneboo?"

Para ello, se crea un micro-proyecto (o mejor dicho, pico-proyecto) que solo cubre
lo mínimo necesario para cumplir esa frase, y estrictamente esa frase.

Es posible que exista más de una versión de Pineboo, cada una con distintas aproximaciones
y tecnologías. Actualmente, en el momento de escribir esta documentación, solo existe una.

El nombre de Pineboo viene de Pico-eneboo, y hace referencia que es un proyecto de
investigación


Aproximaciones existentes
---------------------------
Solo existe una única aproximación a la ejecución de proyectos de Eneboo:

 - Python3.x + PyQt5
 - Permite ejecutarlo en PostgreSQL , SQLite y en MySQL.
 - Motor realizado integramente en Python
 - Conversión al vuelo de QSA a PY con parseador FLScriptParser2
 - Conversión al vuelo de formularios Qt3 a Qt5 creando un UiLoader manualmente


Dependencias
----------------
 - Python 3.x
 - PyQt5
 - PsycoPG2
 - Python PLY (flscriptparser)


Alcance actual de Pineboo
---------------------------
Pineboo es capaz de conectarse a cualquier base de datos de Eneboo y realizar
las siguientes tareas:

 - Funcionamientos habituales de las acciones
 - Trabajos normales de cursor (afterCommit, beforeCommit, ...)
 - Transacciones plenamente operativas sobre postgres
 - Impresión con jasperPluging configurado


Al iniciar una acción, el formulario es convertido al vuelo a Qt5 (con errores) y
el script QS es convertido a Python y ejecutado (con muchos más errores). Se
lanza el init() automáticamente.

Las referencias entre módulos (flfacturac.iface.XYZ) funcionan con carga de módulo
retrasada.

La API de QSA y Eneboo está en desarrollo. En la API aún existente son
funciones y clases "fake", que desde el script, parece que funcionen pero no
realizan ningún trabajo. Esto permite ejecutar los scripts, pero no opera correctamente.

¿Si cargo Pineboo en mi base de datos de producción, puedo perder datos?
-------------------------------------------------------------------------
Sí, pueden perderse datos. Los experimentos con gaseosa.

Dado que es un motor experimental, puede que no realice el trabajo que se le
mande, sino otro inesperado. Un script podría de forma inadvertida borrar registros
por fallos en la API implementada. Y aquí nadie se hace responsable de esto.

Lo mejor es usarlo en bases de datos de desarrollo para evitar problemas.


Cómo poner en marcha Pineboo
------------------------------

1) Instalar desde apt-get.

sudo apt-get install python3-pip git libmysqlclient-dev

2) Actualizar pip.

sudo -H pip3 install --upgrade pip

3) Instalar dependencias python3.

sudo -H pip3 install python-barcode==0.9.0 odfpy==1.4.0  ply==3.11  six==1.10.0 pyqt5==5.12.1 pg8000==1.12.3 psycopg2-binary==2.7.6.1 PyQt5_sip==4.19.14 mysqlclient==1.3.14 SQLAlchemy PyMySQL

sudo -H pip3 install -i https://test.pypi.org/simple/ pyfpdf==1.7.3

4) Descargamos pineboo

git clone https://github.com/Aulla/pineboo.git
sudo -H pip3 install -i https://test.pypi.org/simple/ pyfpdf==1.7.3

Al llamar al programa Pineboo éste crea el subdirectorio "/profiles".

Desde ese formulario se configura el acceso a la empresa elegida



Con esto, pineboo debería iniciarse así::

    ./pineboo -l proyecto1


Pineboo y Eclipse
---------------------
Para integrar Pineboo con eclipse. Despues de instalar Eclipse añade los repositorios de PyDev  y Egit

PyDev
Help > install New Software > Add Repository
http://pydev.org/updates

Egit
Help > install New Software > Add Repository
http://download.eclipse.org/egit/updates

Ahora que tienes los compementos instalados, Create un fork de https://github.com/deavid/pineboo
Despues importa ese repositorio Git.

Import > Git > Project from Git > Clone URI
https://github.com/AquiTuUsuario/pineboo


Cosas que se pueden probar en Pineboo
----------------------------------------
La opción --help ofrece un listado de opciones, algunas pueden ser interesantes.

Por ejemplo, para facilitar las pruebas existe el switch -a que ejecuta directamente
una acción determinada. (Abre el formulario master de esa acción)

Otra opción interesante es --no-python-cache que fuerza a regenerar los ficheros
de python transformados aunque ya existan. Útil si estamos jugando con flscriptparser.

Los formularios con convertidos al vuelo, y aún requiere este proceso de muchos
retoques. Las características más usadas funcionan, pero muchas de las cosas
que se pueden hacer en un formulario de Eneboo aún no son intepretadas correctamente.

Para ejecutar los scripts se usan tres capas de compatibilidad: flcontrols, qsaglobals
y qsatypes.

Los ficheros son convertidos a python y guardados junto al fichero QS de cache.
Por ejemplo, las conversiones de masterarticulos.qs se pueden ver en la ruta
`tempdata/cache/nombre_bd/flfactalma/file.qs/masterarticulos/`.

[![pipeline status](https://gitlab.com/deavidsedice/pineboo/badges/master/pipeline.svg)](https://gitlab.com/deavidsedice/pineboo/commits/master)
[![coverage report](https://gitlab.com/deavidsedice/pineboo/badges/master/coverage.svg)](https://gitlab.com/deavidsedice/pineboo/commits/master)



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/deavid/pineboo",
    "name": "pineboo",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "~=3.6",
    "maintainer_email": "",
    "keywords": "erp pineboo eneboo accounting sales warehouse",
    "author": "David Mart\u00ednez Mart\u00ed, Jos\u00e9 A. Fern\u00e1ndez Fern\u00e1ndez",
    "author_email": "deavidsedice@gmail.com, aullasistemas@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/17/8c/4183fd5f9a33a36777699a672261b935a50f4026f7d76b46b6350fa581a0/pineboo-0.76.27.1.tar.gz",
    "platform": "",
    "description": "Pineboo - Manual de supervivencia\n===================================\nSe ha redactado este manual para las dudas m\u00e1s comunes sobre este proyecto de\ninvestigaci\u00f3n, y ayudar a que cualquiera pueda poner en marcha y realizar las\npruebas que desee con el mismo.\n\n\u00bfQu\u00e9 demonios es Pineboo?\n----------------------------\nPineboo es un proyecto de investigaci\u00f3n, donde no se pretende obtener un producto\nfinal, sino sentar una base y crear las tecnolog\u00edas necesarias para el d\u00eda de ma\u00f1ana\ncrear realmente el/los producto(s) que se deseen.\n\nLo que se desea es contestar a la frase: \"Qu\u00e9 necesitamos para poder ejecutar un proyecto\nde m\u00f3dulos de Eneboo sin Eneboo?\"\n\nPara ello, se crea un micro-proyecto (o mejor dicho, pico-proyecto) que solo cubre\nlo m\u00ednimo necesario para cumplir esa frase, y estrictamente esa frase.\n\nEs posible que exista m\u00e1s de una versi\u00f3n de Pineboo, cada una con distintas aproximaciones\ny tecnolog\u00edas. Actualmente, en el momento de escribir esta documentaci\u00f3n, solo existe una.\n\nEl nombre de Pineboo viene de Pico-eneboo, y hace referencia que es un proyecto de\ninvestigaci\u00f3n\n\n\nAproximaciones existentes\n---------------------------\nSolo existe una \u00fanica aproximaci\u00f3n a la ejecuci\u00f3n de proyectos de Eneboo:\n\n - Python3.x + PyQt5\n - Permite ejecutarlo en PostgreSQL , SQLite y en MySQL.\n - Motor realizado integramente en Python\n - Conversi\u00f3n al vuelo de QSA a PY con parseador FLScriptParser2\n - Conversi\u00f3n al vuelo de formularios Qt3 a Qt5 creando un UiLoader manualmente\n\n\nDependencias\n----------------\n - Python 3.x\n - PyQt5\n - PsycoPG2\n - Python PLY (flscriptparser)\n\n\nAlcance actual de Pineboo\n---------------------------\nPineboo es capaz de conectarse a cualquier base de datos de Eneboo y realizar\nlas siguientes tareas:\n\n - Funcionamientos habituales de las acciones\n - Trabajos normales de cursor (afterCommit, beforeCommit, ...)\n - Transacciones plenamente operativas sobre postgres\n - Impresi\u00f3n con jasperPluging configurado\n\n\nAl iniciar una acci\u00f3n, el formulario es convertido al vuelo a Qt5 (con errores) y\nel script QS es convertido a Python y ejecutado (con muchos m\u00e1s errores). Se\nlanza el init() autom\u00e1ticamente.\n\nLas referencias entre m\u00f3dulos (flfacturac.iface.XYZ) funcionan con carga de m\u00f3dulo\nretrasada.\n\nLa API de QSA y Eneboo est\u00e1 en desarrollo. En la API a\u00fan existente son\nfunciones y clases \"fake\", que desde el script, parece que funcionen pero no\nrealizan ning\u00fan trabajo. Esto permite ejecutar los scripts, pero no opera correctamente.\n\n\u00bfSi cargo Pineboo en mi base de datos de producci\u00f3n, puedo perder datos?\n-------------------------------------------------------------------------\nS\u00ed, pueden perderse datos. Los experimentos con gaseosa.\n\nDado que es un motor experimental, puede que no realice el trabajo que se le\nmande, sino otro inesperado. Un script podr\u00eda de forma inadvertida borrar registros\npor fallos en la API implementada. Y aqu\u00ed nadie se hace responsable de esto.\n\nLo mejor es usarlo en bases de datos de desarrollo para evitar problemas.\n\n\nC\u00f3mo poner en marcha Pineboo\n------------------------------\n\n1) Instalar desde apt-get.\n\nsudo apt-get install python3-pip git libmysqlclient-dev\n\n2) Actualizar pip.\n\nsudo -H pip3 install --upgrade pip\n\n3) Instalar dependencias python3.\n\nsudo -H pip3 install python-barcode==0.9.0 odfpy==1.4.0  ply==3.11  six==1.10.0 pyqt5==5.12.1 pg8000==1.12.3 psycopg2-binary==2.7.6.1 PyQt5_sip==4.19.14 mysqlclient==1.3.14 SQLAlchemy PyMySQL\n\nsudo -H pip3 install -i https://test.pypi.org/simple/ pyfpdf==1.7.3\n\n4) Descargamos pineboo\n\ngit clone https://github.com/Aulla/pineboo.git\nsudo -H pip3 install -i https://test.pypi.org/simple/ pyfpdf==1.7.3\n\nAl llamar al programa Pineboo \u00e9ste crea el subdirectorio \"/profiles\".\n\nDesde ese formulario se configura el acceso a la empresa elegida\n\n\n\nCon esto, pineboo deber\u00eda iniciarse as\u00ed::\n\n    ./pineboo -l proyecto1\n\n\nPineboo y Eclipse\n---------------------\nPara integrar Pineboo con eclipse. Despues de instalar Eclipse a\u00f1ade los repositorios de PyDev  y Egit\n\nPyDev\nHelp > install New Software > Add Repository\nhttp://pydev.org/updates\n\nEgit\nHelp > install New Software > Add Repository\nhttp://download.eclipse.org/egit/updates\n\nAhora que tienes los compementos instalados, Create un fork de https://github.com/deavid/pineboo\nDespues importa ese repositorio Git.\n\nImport > Git > Project from Git > Clone URI\nhttps://github.com/AquiTuUsuario/pineboo\n\n\nCosas que se pueden probar en Pineboo\n----------------------------------------\nLa opci\u00f3n --help ofrece un listado de opciones, algunas pueden ser interesantes.\n\nPor ejemplo, para facilitar las pruebas existe el switch -a que ejecuta directamente\nuna acci\u00f3n determinada. (Abre el formulario master de esa acci\u00f3n)\n\nOtra opci\u00f3n interesante es --no-python-cache que fuerza a regenerar los ficheros\nde python transformados aunque ya existan. \u00datil si estamos jugando con flscriptparser.\n\nLos formularios con convertidos al vuelo, y a\u00fan requiere este proceso de muchos\nretoques. Las caracter\u00edsticas m\u00e1s usadas funcionan, pero muchas de las cosas\nque se pueden hacer en un formulario de Eneboo a\u00fan no son intepretadas correctamente.\n\nPara ejecutar los scripts se usan tres capas de compatibilidad: flcontrols, qsaglobals\ny qsatypes.\n\nLos ficheros son convertidos a python y guardados junto al fichero QS de cache.\nPor ejemplo, las conversiones de masterarticulos.qs se pueden ver en la ruta\n`tempdata/cache/nombre_bd/flfactalma/file.qs/masterarticulos/`.\n\n[![pipeline status](https://gitlab.com/deavidsedice/pineboo/badges/master/pipeline.svg)](https://gitlab.com/deavidsedice/pineboo/commits/master)\n[![coverage report](https://gitlab.com/deavidsedice/pineboo/badges/master/coverage.svg)](https://gitlab.com/deavidsedice/pineboo/commits/master)\n\n\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "ERP replacement for Eneboo written in Python",
    "version": "0.76.27.1",
    "split_keywords": [
        "erp",
        "pineboo",
        "eneboo",
        "accounting",
        "sales",
        "warehouse"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "7a5fb4a23b0fb58cf70c0fb6e2df954d",
                "sha256": "27bc952f15cf2eeea674072e3719d3e7775edb00a5cbd3e0273f8a65bca4d3c7"
            },
            "downloads": -1,
            "filename": "pineboo-0.76.27.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7a5fb4a23b0fb58cf70c0fb6e2df954d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.6",
            "size": 7025986,
            "upload_time": "2020-12-01T12:04:17",
            "upload_time_iso_8601": "2020-12-01T12:04:17.252190Z",
            "url": "https://files.pythonhosted.org/packages/07/9d/ebdb2f52cc9ce89e1f0578ed9014a04ac98b71ef5e8160ab6b2f43c21ef0/pineboo-0.76.27.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "ccf72504ba81fc59dcbecdb73aba4c6e",
                "sha256": "4ef602b634aacfba32e9b684ad890eded5832bdbf0ae1bbb50e62e755d8d4fc7"
            },
            "downloads": -1,
            "filename": "pineboo-0.76.27.1.tar.gz",
            "has_sig": false,
            "md5_digest": "ccf72504ba81fc59dcbecdb73aba4c6e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.6",
            "size": 6802208,
            "upload_time": "2020-12-01T12:04:48",
            "upload_time_iso_8601": "2020-12-01T12:04:48.978542Z",
            "url": "https://files.pythonhosted.org/packages/17/8c/4183fd5f9a33a36777699a672261b935a50f4026f7d76b46b6350fa581a0/pineboo-0.76.27.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2020-12-01 12:04:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": null,
    "github_project": "deavid",
    "error": "Could not fetch GitHub repository",
    "lcname": "pineboo"
}
        
Elapsed time: 0.21531s