Name | calco-prueba JSON |
Version |
0.0.7
JSON |
| download |
home_page | |
Summary | Calco_prueba |
upload_time | 2023-02-02 17:21:50 |
maintainer | |
docs_url | None |
author | Kirill |
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
#
#
#
[](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[](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"
}