calco-prueba


Namecalco-prueba JSON
Version 0.0.7 PyPI version JSON
download
home_page
SummaryCalco_prueba
upload_time2023-02-02 17:21:50
maintainer
docs_urlNone
authorKirill
requires_python>=3.8
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Libreria Calconut
#
#
#
[![N|Solid](https://www.calconut.com/wp-content/uploads/2020/09/logo.svg)](https://calconut.com)


Esta es la libreria de Calconut, creada para uso propio de integraciones y automatizaciones.

## Indice
- `calco_logger( )`
- `CodeDecode( )`
- `conectar_MariaDB( )`
- `conectar_HanaDB( )`
- `SAPContextManager( )`
- `enviarCorreo( )`
- `mail_send( )`
- `API_microsoft( )`
- `samba_conection( )`

## requirements.txt
Para instalar todas las dependencias copia y pega estas librerias en un archivo requiremens.txt y luego ejecutalo con pip.
```sh
msal==1.21.0
calco-prueba == 1.0.4
smbprotocol==1.10.1
certifi == 2022.12.7
cffi == 1.15.1
charset-normalizer == 3.0.1
cryptography == 39.0.0
hdbcli == 2.15.19
idna == 3.4
mariadb == 1.1.5.post3
numpy == 1.24.1
packaging == 23.0
pycparser == 2.21
python-dateutil == 2.8.2
pytz == 2022.7.1
requests == 2.28.2
six == 1.16.0
urllib3 == 1.26.14
```

## - calco_logger( )

Función que sirve para inicializar el log en el archivo debug.log

#### Para inicializar:
```sh
import calco_prueba as cm

cm.calco_logger()
```

## - CodeDecode( )

Este es el modulo que usamos para codificar, descodificar o parsear archivos .ini

#### Para codificar:
```sh
import configparser

parser = configparser.ConfigParser()
parser.read("./config.ini")
code = cm.CodeDecode()
code.encriptar_items(parser, code.cargar_clave())
```

#### Para descodificar:
```sh
import configparser

parser = configparser.ConfigParser()
parser.read("./config_code.ini")
code = cm.CodeDecode()
mail = code.parserReader('mail', parser)
```

## - conectar_MariaDB( )
#### Atributos
- `host`: ip del host
- `user`: usuario
- `password`: contraseña
- `database`: nombre de la base de datos
- `port`: puerto de conexión (por defecto 3306)
#### Crear conexión:
Ejemplo de como establece conexión a base de datos de mariaDB.
```sh
import calco_prueba as cm

with cm.conectar_MariaDB(host=credencialesDB['host'],
                         port=int(credencialesDB['port']),
                         user=credencialesDB['user'],
                         password=credencialesDB['password'],
                         database=credencialesDB['db']) as conn:
    trabajadores = getEmpleadosFromDB(conn)
```

## - conectar_HanaDB( )
#### Atributos
- `host`: ip del host
- `user`: usuario
- `password`: contraseña
- `port`: puerto de conexión (por defecto 3306)
#### Crear conexión:
Ejemplo de como establece conexión a base de datos de mariaDB.
```sh
import calco_prueba as cm

with cm.conectar_HanaDB(db['host'], db['user'], db['pass'],
                        db['port']) as conn:
    ej = ejemplo(conn)
```

## - SAPContextManager( )
#### Atributos
- `ip`: Dirección IP de SAP
- `CompanyDB`: Nombre de la base de datos de SAP
- `UserName`: Nombre de usuario de SAP
- `password`: Contraseña de usuario de SAP

#### Crear conexión:
Ejemplo de como establece conexión a base de datos de mariaDB.
```sh
import calco_prueba as cm

with cm.SAPContextManager(ip=sap_data['ip'], CompanyDB=sap_data['companydb'],
                          UserName=sap_data['username'],
                          password=sap_data['password']) as conn: 
```


## - enviarCorreo( )
Esta función sirve para mandar un correo usando el hosting de dynaserver.
#### Atributos
- `mensaje`: mensaje a enviar
- `destino`: correo de destino
- `origen`: correo de origen
- `asunto`: asunto del correo
- `server`: servidor smtp del correo
- `puerto`: puerto del servidor smtp
- `password`: contraseña del correo
- `isFile`: True o False
- `fileName`: ruta local al archivo

#### Crear conexión:
Ejemplo de como establece conexión a base de datos de mariaDB.
```sh
import calco_prueba as cm

cm.enviarCorreo(msg,
                mail['destinatario'],
                mail['remitente'],
                mail['asunto'],
                mail['server'],
                mail['port'],
                mail['pass']
                )
```

## - mail_send( )
Esta función sirve para mandar un correo usando el hosting de dynaserver.
#### Atributos
- `mensaje`: mensaje a enviar
- `destino`: correo de destino (Si es mas de uno ponerlo en una)
- `origen`: correo de origen
- `asunto`: asunto del correo
- `server`: servidor smtp del correo
- `puerto`: puerto del servidor smtp
- `password`: contraseña del correo
- `isFile`: True o False
- `fileName`: ruta local al archivo
- `copia`: lista de personas que van en copia

#### Crear conexión:
Ejemplo de como establece conexión a base de datos de mariaDB.
```sh
import calco_prueba as cm

cm.mail_send(msg,
             mail['destinatario'],
             mail['remitente'],
             mail['asunto'],
             mail['server'],
             mail['port'],
             mail['pass']
             )
```


## - API_microsoft():
Funciones para el uso de la API de Microsoft Graph:
* `obtenerAccessToken()`
* `getIdMicrosoft(email)`
* `enableDisableAccount(email, desbloquear)`
* `getRuleID(email)`
* `deshabilitar_redireccion(email)`
* `redireccionar(email, email_redireccion)`

Instanciamos la clase de API_microsoft
```sh
import calco_prueba as cm

# Instanciamos la api
api = cm.API_microsoft()
```

#### Obtener access token
Para obtener el acces_token necesitamos tener en la ruta raiz de nuestro proyecto un archivo `parameters.json` con los siguientes datos:
> {
  "authority": "https://login.microsoftonline.com/<id_microsoft>",
  "client_id": "<client_id_de_microsoft",
  "scope": [ "https://graph.microsoft.com/.default" ],
  "secret": "<secret_microsoft",
  "endpoint": "https://graph.microsoft.com/v1.0/users"
}
```sh
# Despues de instanciar la clase y guardarlo en api
access_token = api.obtenerAccessToken()
```

#### Obtener ID de Microsoft de un usuario
```sh
email = 'ejemplo@mail.com'
id_microsoft = api.getIdMicrosoft(email)
```

#### Bloquear o desbloquear la cuenta de un usuario
```sh
email = 'ejemplo@mail.com'
# Bloquear usuario
api.enableDisableAccount(email, 'false')
# Desbloquear usuario
api.enableDisableAccount(email, 'true')
```

#### Obtener ID las reglas de Outlook de un usuario
```sh
email = 'ejemplo@mail.com'
ids_reglas = api.getRuleID(email)
```

#### Deshabilitar la redirección mediante regla de un usuario
```sh
email = 'ejemplo@mail.com'
api.deshabilitar_redireccion(email)
```

#### Redireccionar mediante regla a un usuario
```sh
email = 'ejemplo@mail.com'
email_redireccion = 'ejemplo2@mail.com'
api.redireccionar(email, email_redireccion)
```

## - samba_conection():
Esta clase contiene las funciones que necesitan una conexion de samba a una unidad de red.
#### Subir un archivo a una unidad de red
Parámetros smb_conection:
> username = user
password = Pass!
server_ip = 192.168.1.8
server_path = 192.168.1.8\MiUnidad\
```sh
# Instanciamos CodeDecode y parseamos config_code.ini para el parámetro smb
code = cm.CodeDecode()
smb_conection = code.parserReader('smb', parser)

# Instanciamos la clase samba_conection
smb = cm.samba_conection()

archivo = 'ejemplo.pdf'
# Ruta de la unidad de red
ruta_unid_red = r'ip\ruta\unidad\de\red'
ruta_salida = os.path.join(ruta_unid_red, archivo)
# Ruta del archivo de entrada
ruta_entrada = os.path.join('.', archivo)

# Subimos archivo
smb.uploadFile(ruta_entrada, ruta_salida, smb_conection, archivo)
```
#### Listar un directorio en una unidad de red
```
datos = smb.listar_dir(ruta_unid_red, smb_conection)
```

#### Leer un archivo no binario en una unidad de red
```
datos = smb.readFile(ruta_archivo, smb_conection)
```
#### Leer un archivo binario en una unidad de red
```
datos = smb.readFile_binario(ruta_archivo, smb_conection)
```
#### Descargar un archivo de una unidad de red
```
smb.downloadFile(ruta_local, ruta_smb, smb_conection)
```












> Autor: Kirill Zhiganov
> Empresa: Calconut S.L.



            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "calco-prueba",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Kirill",
    "author_email": "analyst1@calconut.es",
    "download_url": "https://files.pythonhosted.org/packages/59/28/517e6b776dac873c329ce94026487d86d9543bdf2853400359eab8a7cb7e/calco_prueba-0.0.7.tar.gz",
    "platform": null,
    "description": "# Libreria Calconut\r\n#\r\n#\r\n#\r\n[![N|Solid](https://www.calconut.com/wp-content/uploads/2020/09/logo.svg)](https://calconut.com)\r\n\r\n\r\nEsta es la libreria de Calconut, creada para uso propio de integraciones y automatizaciones.\r\n\r\n## Indice\r\n- `calco_logger( )`\r\n- `CodeDecode( )`\r\n- `conectar_MariaDB( )`\r\n- `conectar_HanaDB( )`\r\n- `SAPContextManager( )`\r\n- `enviarCorreo( )`\r\n- `mail_send( )`\r\n- `API_microsoft( )`\r\n- `samba_conection( )`\r\n\r\n## requirements.txt\r\nPara instalar todas las dependencias copia y pega estas librerias en un archivo requiremens.txt y luego ejecutalo con pip.\r\n```sh\r\nmsal==1.21.0\r\ncalco-prueba == 1.0.4\r\nsmbprotocol==1.10.1\r\ncertifi == 2022.12.7\r\ncffi == 1.15.1\r\ncharset-normalizer == 3.0.1\r\ncryptography == 39.0.0\r\nhdbcli == 2.15.19\r\nidna == 3.4\r\nmariadb == 1.1.5.post3\r\nnumpy == 1.24.1\r\npackaging == 23.0\r\npycparser == 2.21\r\npython-dateutil == 2.8.2\r\npytz == 2022.7.1\r\nrequests == 2.28.2\r\nsix == 1.16.0\r\nurllib3 == 1.26.14\r\n```\r\n\r\n## - calco_logger( )\r\n\r\nFunci\u00f3n que sirve para inicializar el log en el archivo debug.log\r\n\r\n#### Para inicializar:\r\n```sh\r\nimport calco_prueba as cm\r\n\r\ncm.calco_logger()\r\n```\r\n\r\n## - CodeDecode( )\r\n\r\nEste es el modulo que usamos para codificar, descodificar o parsear archivos .ini\r\n\r\n#### Para codificar:\r\n```sh\r\nimport configparser\r\n\r\nparser = configparser.ConfigParser()\r\nparser.read(\"./config.ini\")\r\ncode = cm.CodeDecode()\r\ncode.encriptar_items(parser, code.cargar_clave())\r\n```\r\n\r\n#### Para descodificar:\r\n```sh\r\nimport configparser\r\n\r\nparser = configparser.ConfigParser()\r\nparser.read(\"./config_code.ini\")\r\ncode = cm.CodeDecode()\r\nmail = code.parserReader('mail', parser)\r\n```\r\n\r\n## - conectar_MariaDB( )\r\n#### Atributos\r\n- `host`: ip del host\r\n- `user`: usuario\r\n- `password`: contrase\u00f1a\r\n- `database`: nombre de la base de datos\r\n- `port`: puerto de conexi\u00f3n (por defecto 3306)\r\n#### Crear conexi\u00f3n:\r\nEjemplo de como establece conexi\u00f3n a base de datos de mariaDB.\r\n```sh\r\nimport calco_prueba as cm\r\n\r\nwith cm.conectar_MariaDB(host=credencialesDB['host'],\r\n                         port=int(credencialesDB['port']),\r\n                         user=credencialesDB['user'],\r\n                         password=credencialesDB['password'],\r\n                         database=credencialesDB['db']) as conn:\r\n    trabajadores = getEmpleadosFromDB(conn)\r\n```\r\n\r\n## - conectar_HanaDB( )\r\n#### Atributos\r\n- `host`: ip del host\r\n- `user`: usuario\r\n- `password`: contrase\u00f1a\r\n- `port`: puerto de conexi\u00f3n (por defecto 3306)\r\n#### Crear conexi\u00f3n:\r\nEjemplo de como establece conexi\u00f3n a base de datos de mariaDB.\r\n```sh\r\nimport calco_prueba as cm\r\n\r\nwith cm.conectar_HanaDB(db['host'], db['user'], db['pass'],\r\n                        db['port']) as conn:\r\n    ej = ejemplo(conn)\r\n```\r\n\r\n## - SAPContextManager( )\r\n#### Atributos\r\n- `ip`: Direcci\u00f3n IP de SAP\r\n- `CompanyDB`: Nombre de la base de datos de SAP\r\n- `UserName`: Nombre de usuario de SAP\r\n- `password`: Contrase\u00f1a de usuario de SAP\r\n\r\n#### Crear conexi\u00f3n:\r\nEjemplo de como establece conexi\u00f3n a base de datos de mariaDB.\r\n```sh\r\nimport calco_prueba as cm\r\n\r\nwith cm.SAPContextManager(ip=sap_data['ip'], CompanyDB=sap_data['companydb'],\r\n                          UserName=sap_data['username'],\r\n                          password=sap_data['password']) as conn: \r\n```\r\n\r\n\r\n## - enviarCorreo( )\r\nEsta funci\u00f3n sirve para mandar un correo usando el hosting de dynaserver.\r\n#### Atributos\r\n- `mensaje`: mensaje a enviar\r\n- `destino`: correo de destino\r\n- `origen`: correo de origen\r\n- `asunto`: asunto del correo\r\n- `server`: servidor smtp del correo\r\n- `puerto`: puerto del servidor smtp\r\n- `password`: contrase\u00f1a del correo\r\n- `isFile`: True o False\r\n- `fileName`: ruta local al archivo\r\n\r\n#### Crear conexi\u00f3n:\r\nEjemplo de como establece conexi\u00f3n a base de datos de mariaDB.\r\n```sh\r\nimport calco_prueba as cm\r\n\r\ncm.enviarCorreo(msg,\r\n                mail['destinatario'],\r\n                mail['remitente'],\r\n                mail['asunto'],\r\n                mail['server'],\r\n                mail['port'],\r\n                mail['pass']\r\n                )\r\n```\r\n\r\n## - mail_send( )\r\nEsta funci\u00f3n sirve para mandar un correo usando el hosting de dynaserver.\r\n#### Atributos\r\n- `mensaje`: mensaje a enviar\r\n- `destino`: correo de destino (Si es mas de uno ponerlo en una)\r\n- `origen`: correo de origen\r\n- `asunto`: asunto del correo\r\n- `server`: servidor smtp del correo\r\n- `puerto`: puerto del servidor smtp\r\n- `password`: contrase\u00f1a del correo\r\n- `isFile`: True o False\r\n- `fileName`: ruta local al archivo\r\n- `copia`: lista de personas que van en copia\r\n\r\n#### Crear conexi\u00f3n:\r\nEjemplo de como establece conexi\u00f3n a base de datos de mariaDB.\r\n```sh\r\nimport calco_prueba as cm\r\n\r\ncm.mail_send(msg,\r\n             mail['destinatario'],\r\n             mail['remitente'],\r\n             mail['asunto'],\r\n             mail['server'],\r\n             mail['port'],\r\n             mail['pass']\r\n             )\r\n```\r\n\r\n\r\n## - API_microsoft():\r\nFunciones para el uso de la API de Microsoft Graph:\r\n* `obtenerAccessToken()`\r\n* `getIdMicrosoft(email)`\r\n* `enableDisableAccount(email, desbloquear)`\r\n* `getRuleID(email)`\r\n* `deshabilitar_redireccion(email)`\r\n* `redireccionar(email, email_redireccion)`\r\n\r\nInstanciamos la clase de API_microsoft\r\n```sh\r\nimport calco_prueba as cm\r\n\r\n# Instanciamos la api\r\napi = cm.API_microsoft()\r\n```\r\n\r\n#### Obtener access token\r\nPara obtener el acces_token necesitamos tener en la ruta raiz de nuestro proyecto un archivo `parameters.json` con los siguientes datos:\r\n> {\r\n  \"authority\": \"https://login.microsoftonline.com/<id_microsoft>\",\r\n  \"client_id\": \"<client_id_de_microsoft\",\r\n  \"scope\": [ \"https://graph.microsoft.com/.default\" ],\r\n  \"secret\": \"<secret_microsoft\",\r\n  \"endpoint\": \"https://graph.microsoft.com/v1.0/users\"\r\n}\r\n```sh\r\n# Despues de instanciar la clase y guardarlo en api\r\naccess_token = api.obtenerAccessToken()\r\n```\r\n\r\n#### Obtener ID de Microsoft de un usuario\r\n```sh\r\nemail = 'ejemplo@mail.com'\r\nid_microsoft = api.getIdMicrosoft(email)\r\n```\r\n\r\n#### Bloquear o desbloquear la cuenta de un usuario\r\n```sh\r\nemail = 'ejemplo@mail.com'\r\n# Bloquear usuario\r\napi.enableDisableAccount(email, 'false')\r\n# Desbloquear usuario\r\napi.enableDisableAccount(email, 'true')\r\n```\r\n\r\n#### Obtener ID las reglas de Outlook de un usuario\r\n```sh\r\nemail = 'ejemplo@mail.com'\r\nids_reglas = api.getRuleID(email)\r\n```\r\n\r\n#### Deshabilitar la redirecci\u00f3n mediante regla de un usuario\r\n```sh\r\nemail = 'ejemplo@mail.com'\r\napi.deshabilitar_redireccion(email)\r\n```\r\n\r\n#### Redireccionar mediante regla a un usuario\r\n```sh\r\nemail = 'ejemplo@mail.com'\r\nemail_redireccion = 'ejemplo2@mail.com'\r\napi.redireccionar(email, email_redireccion)\r\n```\r\n\r\n## - samba_conection():\r\nEsta clase contiene las funciones que necesitan una conexion de samba a una unidad de red.\r\n#### Subir un archivo a una unidad de red\r\nPar\u00e1metros smb_conection:\r\n> username = user\r\npassword = Pass!\r\nserver_ip = 192.168.1.8\r\nserver_path = 192.168.1.8\\MiUnidad\\\r\n```sh\r\n# Instanciamos CodeDecode y parseamos config_code.ini para el par\u00e1metro smb\r\ncode = cm.CodeDecode()\r\nsmb_conection = code.parserReader('smb', parser)\r\n\r\n# Instanciamos la clase samba_conection\r\nsmb = cm.samba_conection()\r\n\r\narchivo = 'ejemplo.pdf'\r\n# Ruta de la unidad de red\r\nruta_unid_red = r'ip\\ruta\\unidad\\de\\red'\r\nruta_salida = os.path.join(ruta_unid_red, archivo)\r\n# Ruta del archivo de entrada\r\nruta_entrada = os.path.join('.', archivo)\r\n\r\n# Subimos archivo\r\nsmb.uploadFile(ruta_entrada, ruta_salida, smb_conection, archivo)\r\n```\r\n#### Listar un directorio en una unidad de red\r\n```\r\ndatos = smb.listar_dir(ruta_unid_red, smb_conection)\r\n```\r\n\r\n#### Leer un archivo no binario en una unidad de red\r\n```\r\ndatos = smb.readFile(ruta_archivo, smb_conection)\r\n```\r\n#### Leer un archivo binario en una unidad de red\r\n```\r\ndatos = smb.readFile_binario(ruta_archivo, smb_conection)\r\n```\r\n#### Descargar un archivo de una unidad de red\r\n```\r\nsmb.downloadFile(ruta_local, ruta_smb, smb_conection)\r\n```\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n> Autor: Kirill Zhiganov\r\n> Empresa: Calconut S.L.\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "Calco_prueba",
    "version": "0.0.7",
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc0c6373f9ec2bbd1089920f330336f4cc37f9dc1dfd48869b1447477cbb055b",
                "md5": "89157c5145f58799e4a43923557a941c",
                "sha256": "4e7b1c9aa177779ba561d7b1b4cec672a0570a6e8a0b00e6899e70d3e69010ce"
            },
            "downloads": -1,
            "filename": "calco_prueba-0.0.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "89157c5145f58799e4a43923557a941c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 10161,
            "upload_time": "2023-02-02T17:21:47",
            "upload_time_iso_8601": "2023-02-02T17:21:47.399902Z",
            "url": "https://files.pythonhosted.org/packages/dc/0c/6373f9ec2bbd1089920f330336f4cc37f9dc1dfd48869b1447477cbb055b/calco_prueba-0.0.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5928517e6b776dac873c329ce94026487d86d9543bdf2853400359eab8a7cb7e",
                "md5": "080e07c49ac1dfa98b84d9f753a356a9",
                "sha256": "65ee269433e9a0093f4fcc37676ac45839347e5ced5f60de517199d3c7c160f7"
            },
            "downloads": -1,
            "filename": "calco_prueba-0.0.7.tar.gz",
            "has_sig": false,
            "md5_digest": "080e07c49ac1dfa98b84d9f753a356a9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 11799,
            "upload_time": "2023-02-02T17:21:50",
            "upload_time_iso_8601": "2023-02-02T17:21:50.153552Z",
            "url": "https://files.pythonhosted.org/packages/59/28/517e6b776dac873c329ce94026487d86d9543bdf2853400359eab8a7cb7e/calco_prueba-0.0.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-02 17:21:50",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "calco-prueba"
}
        
Elapsed time: 0.04650s