« first day (1363 days earlier)      last day (1737 days later) » 

3:00 PM
Así es como se hace de forma manual
Primero ejecuta mysql y se abre
MariaDB [(none)]>
 
Ok
Tengo MySQL
 
Para hacer la consulta
 
Da igual
Sé hacer consultas con el shell de mysql
 
Dale
 
Lo que quiero es crear el script de python para la consulta
 
3:03 PM
EL script que coloque arriba ese es el que estoy utilizando
 
@JuanPerez Veo que te conectas via ssh, déjame configurar mi servidor para eso
 
Si es necesario hacer eso es el primer paso
 
@MauricioContreras Hacer uso de programas como Photoshop, estimulará tus habilidades de diseño, te lo digo porque también pensé lo mismo, cuando intenté hacer un diseño en Photoshop resultó realmente bueno, y de ahí queda más fácil seguir el diseño desde CSS/Sass, porque ya hay algo en qué basarse
 
1. Conectarse por ssh
2. Ejecutar comando mysql
3. Ejecutar la consulta mysql
 
@MáximaAlekz Uso Linux, sin posibilidades de usar Window$ por los momentos, pero tengo GIMP, y he realizado un par de cosas allí, igual todas feas y horribles. Tendré que ponerle empeño.
 
3:06 PM
@MauricioContreras Ese seria los pasos
 
@JuanPerez A ver, lo intento. Veo que tienes unos imports en tu script, ni idea como se instalan esas librerías en mi python. Existe algo como npm o nuget para Python?
 
@MauricioContreras Las debería traer el python, de igual forma prueba asi sin instalar
paramiko es para conectarse por ssh asi que lo debería traer en el paquete
 
bien, ya tengo el editor abierto y copiando, toy emocionao
 
Jajajaja xD
Pienso que del código que tengo me hace falta agregarle algo al prompt
MariaDB [(none)]>
Porque cuando ejecuto mysql hace eso y por ende no reconoce la consulta
 
@JuanPerez Una pregunta de noob, ya tengo el script, ya tengo ssh corriendo, mysql, ¿cómo ejecuto el script?
 
3:14 PM
@JuanPerez para que quieres hacer algo asi?
 
@MauricioContreras py nombre.py
@JackNavaRow Se necesita hacer ese proceso
 
no entiendo lo que quieres hacer
 
Que no entiendes ?
 
3:16 PM
porque no te conectas directo a la db con una libreria y haces la consulta?
 
No tengo acceso a la base de datos solo de esa manera como la imagen que te pase
Se tiene que ingresar si o si por ssh para poder ejecutar la consulta
 
pasen un sonido para colas de atencion
 
claro que si, lo que teienes que hacer es conectarte via tunel
20
A: Enable Python to Connect to MySQL via SSH Tunnelling

Carlos D.I'm guessing you'll need port forwarding. I recommend sshtunnel.SSHTunnelForwarder import mysql.connector import sshtunnel with sshtunnel.SSHTunnelForwarder( (_host, _ssh_port), ssh_username=_username, ssh_password=_password, remote_bind_address=(_remote_bind_ad...

 
user=_db_user,
password=_db_password,
host=_local_bind_address,
database=_db_name,
No se estas variables
 
host es localhost
database puede que no sea necesario
y si es root sin clave no es necesario db_password
 
3:21 PM
No lo se, tendría que probar para ver que tal
 
igual en tu codigo estas haciendo la consulta y no estas retornanado nada
 
final = stdin.write("SELECT a.id as customer_id,a.external_id FROM billing.contracts a LEFT JOIN billing.contacts b ON a.contact_id = b.id WHERE a.status = 'active' AND b.reseller_id IS NOT NULL")
       print(final)
 
eso puede cambiar de hecho creo que pueds hacer algo distinto
 
Ahh ok
 
stdin, stdout, stderr = ssh.exec_command("mysql -uroot -e 'SELECT a.id as customer_id,a.external_id FROM billing.contracts a LEFT JOIN billing.contacts b ON a.contact_id = b.id WHERE a.status = 'active' AND b.reseller_id IS NOT NULL'")
y alli tienes la consulta
de hecho puedes guardarlo en un txt y cargarlo con pandas
la otra opcion es que te conectes via tunel
 
3:26 PM
Si tengo que guardarlo en un txt la respuesta de la consulta
 
pero depende de lo que quieras
entonces es algo como :
stdin, stdout, stderr = ssh.exec_command("mysql -uroot -e 'SELECT a.id as customer_id,a.external_id FROM billing.contracts a LEFT JOIN billing.contacts b ON a.contact_id = b.id WHERE a.status = 'active' AND b.reseller_id IS NOT NULL' > el_archivo.txt")
 
import paramiko
import time

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('123.369.321.1', port=22, username='root', password='')

time.sleep(5)

def execute():
       stdin, stdout, stderr = ssh.exec_command("mysql -uroot -e 'SELECT a.id as customer_id,a.external_id FROM billing.contracts a LEFT JOIN billing.contacts b ON a.contact_id = b.id WHERE a.status = 'active' AND b.reseller_id IS NOT NULL'")

execute()
Como puedo hacer para ver el resultado de la consulta ?
 
imprime stdout
por cierto entra a la maquina e intenta ejecutar esa consulta
mysql -uroot -e 'SELECT a.id as customer_id,a.external_id FROM billing.contracts a LEFT JOIN billing.contacts b ON a.contact_id = b.id WHERE a.status = 'active' AND b.reseller_id IS NOT NULL'
 
Si imprimo stdout me sale esto:
<paramiko.ChannelFile from <paramiko.Channel 0 (open) window=2097152 -> <paramiko.Transport at 0xb7a6caccL (cipher aes128-ctr, 128 bits) (active; 1 open channel(s))>>>
Si ejecuto la consulta en la maquina me sale esto
ERROR 1054 (42S22) at line 1: Unknown column 'active' in 'where clause'
 
por las comillas simples
pero esta funcionando genial
 
3:33 PM
Pero en el script aun no puedo ver el resultad de lo que trae la consulta
Si esta ejecutando bien en la maquina le cambie las comillas y si me trajo la respuesta
 
ambia el string a uno valido y listo , alli lo tienes
 
Como asi
 
crea una variable query y agrega el query
y luego
stdin, stdout, stderr = ssh.exec_command("mysql -uroot -e %s".format(query))
query = "SELECT a.id as customer_id,a.external_id FROM billing.contracts a LEFT JOIN billing.contacts b ON a.contact_id = b.id WHERE a.status = 'active' AND b.reseller_id IS NOT NULL"
 
Si lo hice me aparece esto:
<paramiko.ChannelFile from <paramiko.Channel 0 (open) window=2097152 -> <paramiko.Transport at 0xb7a86aacL (cipher aes128-ctr, 128 bits) (active; 1 open channel(s))>>>
 
ejecutastes la consulta en el shell de mysql?
asegurate que la consulta este bien
porque falta seleccionar la base de datos y por lo que veo no lo hace
 
3:47 PM
Si lo hace bien
 
8
A: basic paramiko exec_command help

yaobinI also ran into the same issue and after looking at this article and this answer, I see the solution is to call the recv_exit_status() method of the Channel. Here is my code: import paramiko import time cli = paramiko.client.SSHClient() cli.set_missing_host_key_policy(paramiko.client.AutoAddPol...

 
Si la consulta esta bien
import paramiko
import time

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('123.369.325.1', port=22, username='root', password='')

time.sleep(5)

def execute():
	query = "SELECT a.id as customer_id,a.external_id FROM billing.contracts a LEFT JOIN billing.contacts b ON a.contact_id = b.id WHERE a.status = 'active' AND b.reseller_id IS NOT NULL"
	stdin, stdout, stderr = ssh.exec_command("mysql -uroot -e %s".format(query))
	print stdout

execute()
 
print stdout.channel.recv_exit_status()
 
Me imprime 1
 
sigue el codigo que esta en la respuesta que te envie
ya es de manipular la libreria
lines = stdout.readlines()
 
3:51 PM
Si eso hago
import paramiko
import time

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('123.369.325.1', port=22, username='root', password='')

time.sleep(5)

def execute():
	query = "SELECT a.id as customer_id,a.external_id FROM billing.contracts a LEFT JOIN billing.contacts b ON a.contact_id = b.id WHERE a.status = 'active' AND b.reseller_id IS NOT NULL"
	stdin, stdout, stderr = ssh.exec_command("mysql -uroot -e %s".format(query))
	stdout.channel.recv_exit_status()
Lo ejecute y no me imprimio nada ni error ni nada
 
@gbianchi leyendo tu pregunta mira lo que encontre
El código no funciona al ejecutar en Stack Snippet y Firefox 57 para Windows 64-bit. El error que indica es "TypeError: e is undefined" — Rubén Feb 5 '18 at 23:44
 
algún experto en Datatables de jquery?
necesito saber si se puede hacer lo siguiente
se podrá hacer que Start Date no quede así
que quede como está escrito si en salto de linea?
 
@SebastiánLagosYañez Te refieres a cambiarle el formato ?
 
me refiero a que quede la palabra horizontal no vertical
quede Start date no
Start
Date
 
@JuanPerez, me da NONE
@JuanPerez, pero es que no le cambié la consulta. XD
 
4:04 PM
buen día :D
 
@JuanPerez, no funka, conecta y todo, pero no hace mas ná
 
@MauricioContreras Que te aparece ?
 
@JackNavaRow que pregunta?
 
import paramiko
import time

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('123.369.325.1', port=22, username='root', password='')

time.sleep(5)

def execute():
	query = "SELECT a.id as customer_id,a.external_id FROM billing.contracts a LEFT JOIN billing.contacts b ON a.contact_id = b.id WHERE a.status = 'active' AND b.reseller_id IS NOT NULL"
	stdin_, stdout_, stderr_ = ssh.exec_command("mysql -uroot -e %s".format(query))
	stdout_.channel.recv_exit_status()
@MauricioContreras me echo una mano @JackNavaRow pero no me imprime nada ni error ni nada
 
@JuanPerez Y este mensaje te lo manda en tu consola?
> FutureWarning: CTR mode needs counter parameter, not IV
 
4:15 PM
@MauricioContreras No, primera vez que lo leo
 
@JuanPerez El mensaje completo es:
> /usr/lib/python2.7/dist-packages/Crypto/Cipher/blockalgo.py:141: FutureWarning: CTR mode needs counter parameter, not IV
self._cipher = factory.new(key, *args, **kwargs)
 
@MauricioContreras No se porque te aparece eso, capaz y por alguna paquete que te falta instalar
 
@JuanPerez Igual el script que me diste recién no hace pero nada de nada. XDDD
 
Bien extraño
 
4:30 PM
@MauricioContreras aiiudaaaaa
 
Xam
4:41 PM
Hola, algún conocedor de DirectX?
 
@JoseAntonyMundacaAngeles Dimeeeee
@Xam :O
 
@MauricioContreras necesito reproducir un sonido cuando hay un registro nuevo
 
@JuanPerez Listo, corregido todo, bug de paramiko y faltaba instalar una librería, ahora a debuggear el script
 
Xam
@MauricioContreras hola
 
pero lo tengo en un set interval , no lo puedo ejecutar el sonida a cada segundo que le doy al set interval
@MauricioContreras que puedo hacer?
 
4:49 PM
@MauricioContreras Que te pasaba ?
 
@JoseAntonyMundacaAngeles Un .wav, o un .mp3, qué tipo de sonido?
@JuanPerez es que no uso Python y lo tenía desactualizado y sin atención
 
Xam
@MauricioContreras porsiacaso no has leído a PaperBirdMaster?
 
@MauricioContreras es un mp3
 
@MauricioContreras Ah vale.. Yo ando dandole al código
 
@Xam Tiene tiempo que no entra al chat, aunque si anda respondiendo preguntas y se conecta al sitio. Pero no pasa por el chat.
 
4:51 PM
@MauricioContreras osea , si hay un nuevo registro que suene y si no , pues que no suene, ya ize funcionar para que suene el sonido , pero me sale a cada 3 segundos igual que el set interval
y ese no es la idea , si no hacerlo cuando hay un nuevo registro
 
@JoseAntonyMundacaAngeles XDDD, y cómo sabes cuando hay un nuevo registro?
 
Xam
@MauricioContreras uy caramba. Con fe se aparece por el chat de nuevo.
 
@Xam No hay que perder la esperanza
@JoseAntonyMundacaAngeles, la idea es recibir una actualización de los datos cada 3 segundos? NO
 
@MauricioContreras si recibe , pero no voy ha reproducir el audio cada 3 segundos
si no cada ves el result.length va a ser mayor que el registro antiguo
que ya entrego
 
@JoseAntonyMundacaAngeles, la idea es consultar (en el servidor) si existen datos nuevos en la BD, lo puedes hacer cada 3, 5, 10 segundos. Si hubieran datos nuevos, se emite un mensaje por socket a los clientes. Cada vez que un cliente reciba un mensaje emite un sonido. Al menos eso haría yo.
 
5:00 PM
bueno si
 
No estarás transmitiendo mensajes cada 3 segundos aunque la data no haya cambiado
 
@MauricioContreras yo no entender
 
@JoseAntonyMundacaAngeles La idea es consultar cada 3 segundos si hay cambios, ¿verdad?
 
@MauricioContreras asi es
 
buen día hermanos :D
¿Cómo van?
revisen este mensaje que dejé en META
-2
Q: Frases y situaciones del área de sistemas

fredyfxpercibo que hace falta alguna actividad y pues bien, aquí una propuesta sencilla: Compartir frases/situaciones que consideren legendarias del departamento de sistemas, por parte de los clientes, project managers, usuarios que hayamos leído, escuchado o que nos hayan sucedido. Ejemplos: Viern...

 
5:11 PM
buen dia @fredyfx sufriendo con un alforitmo :D
 
@JoseAntonyMundacaAngeles ¿codewars?
 
@fredyfx maso a maso xd
 
@JoseAntonyMundacaAngeles hackerrank? topcoder?
 
uds pueden creer que no se como migrar un publicacion de meta al sitio principal
😟
 
*saca la chancla
¿Es en serio?
 
5:15 PM
@fredyfx con la chancla no porfavor xddd
 
ya ta
ya lo encontre
por dios...
 
@JoseAntonyMundacaAngeles Si hay cambios emites por socket, si no los hay, no emites nada. ¿Comprendes Mendez?
 
@JoseAntonyMundacaAngeles XD!!!!
a quienes jueguen Star Craft 2
 
y como compruebo si hay cambios?
 
5:40 PM
@JoseAntonyMundacaAngeles A tu ves? pensé que eso ya lo tenías controlado. Estoy trabajando en tu demo, al tenerla lista te la paso
 
@MauricioContreras Gracias , por cierto , haz trabajado con observe en JS? esta descontinuada , pero he visto que hay un array.oberve , pero mi navegador no lo reconoce , dice que no es una funcion xd
 
5:56 PM
@fredyfx tu eres el terran o el zerg?
 
@devconcept Terran
 
@fredyfx pero es que el zerg es increiblemente malo!!!
así cualquiera gana XP
 
@devconcept primera vez que sobrevivo a una horda de zerglings
XD!!!
el stimpack llegó en hora buena
 
@fredyfx muy buen manejo
si no hubieras vuelto a llenar los dropships te hubieran eliminado
 
el zerg tenía para ganarme si dejaba cerca más reinas
 
6:02 PM
@fredyfx si es que las reinas fueron las que bloquearon a los zerlings en un momento determinado
 
@devconcept se supone que el zerg deja siempre a la reina cerca de la base
 
@fredyfx ya pero las razon es por lo lentas que son fuera del creep. puedes estar intentando moverlas a una base cercana
 
@devconcept lo bueno es que salió el drop, perdí 1 marino y 1 helion, nada más
me quedé muy sorprendido
 
de todas formas buena maniobra
yo nunca pude desarrollar skills, ya sabes, no connection XD
 
@devconcept gracias bro
@devconcept próximamente seguro que se puede
 
6:15 PM
@fredyfx noooo!! entonces tendríamos que pagar por el juego primero XD
 
@devconcept es Free2Play
 
6:26 PM
buenas
alguien sabe como ocultar el scroll del overflow:scroll , de CSS ¿
 
overflow hidden
para que aprendas rápido CSS
Click derecho, inspeccionar elemento
y en las propiedades, vas agregando y quitando
 
seeeee
es la mano, usar el inspeccionar elementos
ya que los cambios los hace en tiempo real
 
cuando recién estaba aprendiendo Html, todo mundo te vendía la idea que era sí o sí con dreamweaver...
block de notas y guardar como .html
#ComoLosGrandes
 
seeee
block de notas jajajaa
y dreamweaver es puro código basura
#altoBlockDeNotas
 
6:42 PM
tiempos donde existía Macromedia...
de los mejores sitios explicaciones bien precisas
 
el cambio es facil, es solo cambiar un if — JackNavaRow 57 secs ago
 
XD!!!!
Project Managers que compilan código con su voz :v
 
stdin, stdout, stderr = client.exec_command('mysql -uroot -e "select a.username as DDI,c.username,b.domain from provisioning.voip_dbaliases a LEFT JOIN provisioning.voip_domains b ON a.domain_id = b.id LEFT JOIN provisioning.voip_subscribers c ON a.subscriber_id = c.id WHERE length(a.username)<12 AND a.username RLIKE '^56[2-9].+'"')
mains b ON a.domain_id = b.id LEFT JOIN provisioning.voip_subscribers c ON a.subscriber_id = c.id WHERE length(a.username)<12 AND a.username RLIKE '^56[2-9].+'"')
                                                                                                                                                                                                                                                                                                                                             ^
SyntaxError: invalid syntax
Tengo ese problema en la consulta aqui :

RLIKE '^56[2-9].+'
 
@JoseAntonyMundacaAngeles, no la he usado nunca. Yo entré de lleno al mundo JS hace apenas 4 años. Antes usaba JS con Netscape, para que saques cuentas.
 
@JuanPerez o.o?
 
6:56 PM
@JuanPerez el tema está en la forma de la ejecución. No he podido terminarlo porque salí a dar una vuelta con mi mujer y el niño. Apenas llegue a casa me pongo de nuevo. Pero me hace ilusión realizarlo.
 
@MauricioContreras Estoy dandole y vi que tengo un problema en la consulta
@MauricioContreras Osea en

RLIKE '^56[2-9].+'
 
¿Estás queriendo colocar una expresión regular dentro de un query?
 
@fredyfx Si, la consulta me funciona bien en la consola de mysql donde tengo problema es para colocar aqui dentro
 
ese en caso estás usando mysql
 
client.exec_command('mysql -uroot -e "consulta" )
 
7:04 PM
o.o?
por qué no usas algún editor ?
Workbench es muy recomendado para mysql
 
Es que tengo que acceder por shh y tengo un script en python
 
personalmente prefiero DBeaver
???
 
por SSH???
 
@fredyfx si, es una pasada
 
7:05 PM
@fredyfx Es para una pasada nada mas
@fredyfx Que se necesita capturar unos datos
 
@fredyfx he listado mi directorio, y hasta he creado archivos así. La verdad es que hacerlo desde un script de python está muy bien. me guta
 
@MauricioContreras Mira como mejore el código ya esta cogiendo los resultados solo que ahora tengo que poder la consultar bien
import paramiko
import time

timeout = 30

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect("136.339.2.1", username="root", password="")
stdin, stdout, stderr = client.exec_command('mysql -uroot -e "select a.username as DDI,c.username,b.domain from provisioning.voip_dbaliases a LEFT JOIN provisioning.voip_domains b ON a.domain_id = b.id LEFT JOIN provisioning.voip_subscribers c ON a.subscriber_id = c.id WHERE length(a.username)<12 AND a.username RLIKE '^56[2-9].+'"')
@MauricioContreras Pero tengo problemas ahi en el RLIKE
 
interesante
dejaré esto por aquí
ya pueden celebrar quienes buscaban soporte de Oracle para net Core
 
7:23 PM
@JuanPerez será que debes escapar las comillas simples?
 
@fredyfx cual es la certificacion mas basica de microsoft? con asp, por donde iniciar
 
C# y 486
de html5 , csss y js
 
@MauricioContreras La dejo sin comillas simples ?
 
@MauricioContreras alaaaa con netscape es antiguo xd
 
@fredyfx por dios.. NEVER
 
7:36 PM
@JuanPerez ya lo tienes
 
@JackNavaRow Si, pero tengo un problema aqui:
stdin, stdout, stderr = client.exec_command('mysql -uroot -e "select a.username as DDI,c.username,b.domain from provisioning.voip_dbaliases a LEFT JOIN provisioning.voip_domains b ON a.domain_id = b.id LEFT JOIN provisioning.voip_subscribers c ON a.subscriber_id = c.id WHERE length(a.username)<12 AND a.username RLIKE '^56[2-9].+'"')
 
@JuanPerez porque no metes el query en una variable
 
En el RLIKE '^56[2-9].+' creo que son las comillas no se
Lo hice y no me funciona igual
@JackNavaRow

query = "select a.username as DDI,c.username,b.domain from provisioning.voip_dbaliases a LEFT JOIN provisioning.voip_domains b ON a.domain_id = b.id LEFT JOIN provisioning.voip_subscribers c ON a.subscriber_id = c.id WHERE length(a.username)<12 AND a.username RLIKE '^56[2-9].+'"
stdin, stdout, stderr = client.exec_command("mysql -uroot -e %s".format(query))
 
("mysql -u -e %s") .format(query)
alli tienes al maestro FJSevilla
Cuando dices "llena de '\' el string interno" es porque con toda seguridad estás viendo la representación de la cadena (repr()) si la imprimes obtienes el resultado esperado... — FJSevilla 4 mins ago
 
@JackNavaRow
stdin, stdout, stderr = client.exec_command("mysql -uroot -e %s").format(query)
AttributeError: 'tuple' object has no attribute 'format'
 
7:40 PM
Hola buenas tardes a todos
primer comentario en este chat
 
@JuanPerez -.- lee bien!
@anRoswellHarrisMaiden en serio
@fredyfx llego el que faltaba
 
@JackNavaRow Igual xD asi tampoco me funciona ("mysql -u -e %s") .format(query)
 
@JuanPerez Llegué ahora
 
mira es algo asi
client.exec_command(("mysql -u -e %s") .format(query))
 
@JackNavaRow si
 
7:42 PM
bienvenido @user11718279
 
ya años con el mi hermano
 
@abulafia no es mejor el codigo que esta haciendo conectarse via tunel SSH?
 
tengo una pregunta
 
@JackNavaRow No hace nada no muestra ni error ni nada
 
te pregunto porque tu tienes mas estrellas
 
7:43 PM
@JackNavaRow Eeh... no sé qué estais haciendo, no he leido el backlog
 
y la variable query la creaste?
 
$("[data-pdsa-action]").on('click', function (e) {... como remplazaria este codigo de Jquery en Js Vanilla??
 
@anRoswellHarrisMaiden cual es la pregunta
 
import paramiko
import time

timeout = 30

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect("1236.369.325.1", username="root", password="")
query = "select a.username as DDI,c.username,b.domain from provisioning.voip_dbaliases a LEFT JOIN provisioning.voip_domains b ON a.domain_id = b.id LEFT JOIN provisioning.voip_subscribers c ON a.subscriber_id = c.id WHERE length(a.username)<12 AND a.username RLIKE '^56[2-9].+'"
stdin, stdout, stderr = client.exec_command(("mysql -u -e %s").format(query))
@abulafia Estoy conectandome por ssh y ejecutar una consulta
 
@anRoswellHarrisMaiden no he trabajado con VanillaJS
 
7:44 PM
@JackNavaRow Ok dale no problem
bueno paz inverencial
 
@anRoswellHarrisMaiden ya vi codigo y lo hacen nativo con JavaScript
 
@JuanPerez ya veo.. y no debería ir la consulta entre comillas?
 
lo buscastes en el propio Jquery??
 
además, si usas .format() no debes usar el %s dentro, sino {}
 
@JackNavaRow lo buscastes en el propio Jquery??
 
7:46 PM
@abulafia Te refieres a algo asi:

stdin_, stdout_, stderr_ = ssh.exec_command("mysql -uroot -e %s".format(query))
 
Buenaaaaaaas dias/tardes/noches :D
 
@fredyfx me puedes pasar los links porfavor solo encuentro el 486
 
@JuanPerez Pues no, eso está como estaba (respecto a las comillas y el %s)
me refiero a algo así:
stdin_, stdout_, stderr_ = ssh.exec_command('mysql -u root -e "{}"'.format(query))
fijate que en vez de %s puse {}, que es el placeholder cuando usas .format()
y además lo puse entre comillas pues la query que le pasas tiene espacios y signos < y > que pueden liar al shell
 
Madre mia
Ya ha funcionado
 
Me pongo la medalla entonces
 
7:49 PM
@abulafia la experiencia.. me faltaba eso!
 
DDI username domain

56959595959 s332420012aa voice.net

59666666666 s332420013aa voice.net

56999999999 s332420011aa voice.net

59999999888 1925b62a94b83512 voice.net

59688988887 1935b62de0b39f19 voice.net
Es posible crearle un .txt separados por ; ?
 
ssh.exec_command('mysql -u root -e "{}" > el_archivo.txt'.format(query)
 
@JackNavaRow ah, le habías sugerido tú lo anterior? Estabas mezclando la sintaxis "modernas" para dar formato a cadenas (el .format()) con la "antigua" (el operador %)
también habría servido esto otro:
 
@JackNavaRow Lo probe pero ese archivo me lo crea en el servidor donde me estoy conectando via SSH y no puede estar ahí
 
@abulafia seeep, me enreda por python2
 
7:51 PM
stdin_, stdout_, stderr_ = ssh.exec_command('mysql -u root -e "%s"' % (query))
pero creo que la clave aqui era que la query se enviara entrecomillada al shell remoto
@JuanPerez Pues claro, lo que vas recibiendo son cadenas. En vez de imprimirlas, procésalas. Por ejemplo pártelas por el espacio con (.split()´) y vuelve a juntarlas con punto y coma con ";.join()`. Abre un fichero local y en vez de imprimir a pantalla imprime al fichero
 
@JackNavaRow @abulafia he agregado esto:
 
@abulafia seeep! eso es lo que queria hacer, no he hecho comandos asi
 
with open(mi_path, "w") as f:
for linea in trozos:
f.writelines(";".join(linea))
f.write("\n")
D;D;I; ;u;s;e;r;n;a;m;e; ;d;o;m;a;i;n;

5;6;3;3;2;4;2;0;0;1;2; ;s;3;3;2;4;2;0;0;1;2;a;a; ;v;o;i;c;e;.;b;2;b;.;v;t;r;.;n;e;t;
Pero me lo va tirando asi
 
:51141836no es necesario, eso lo puedes hacer por SQL
 
@JuanPerez Jaja. Claro. te faltó linea.split()
si no partes la línea por cada espacio, a join() le estás pasando un string, en vez de una lista
y para convertir ese string en lista lo separa en letras
@JuanPerez Otra cosa muy importante (MUY importante, hay quien lo considera uno de los problemas más importantes de la informática).
 
7:55 PM
DDI;username;domain
56959595959;s332420012aa;voice.net
59666666666;s332420013aa;voice.net
56999999999;s332420011aa;voice.net
59999999888;1925b62a94b83512;voice.net
59688988887;1935b62de0b39f19;voice.net
 
Pon nombres apropiados a las cosas
lo que has llamado "trozos" yo lo llamaría "lineas"
y si luego partes la línea, entonces sí, trozos = linea.split()
 
Si correcto eso lo iba a cambiar ahora
 
es más fácil de leer y entender el programa si usas nombres apropiados
en cierto modo está "autocomentado"
 
Exactamente
Vale bro muchas gracias @JackNavaRow @abulafia
 
for linea in lineas_recibidas por ejemplo, se explica por sí solo. Nada te impide llamarlo for x in zz pero entonces deja de entenderse
es algo que he aprendido a valorar con el tiempo
 
7:58 PM
Muy bien
Si justo ando en eso cambiando los nombres
 
a veces pensar un buen nombre lleva su tiempo, que parece perdido, pero a la larga lo agradecerás
 
@fredyfx En serio?
 
y si te cuesta mucho encontrar un nombre apropiado para una función, eso seguramente es síntoma de que la función es demasiado compleja, hace demasiadas cosas, y deberías haberla partido en sub-funciones
 
@abulafia +1
 

« first day (1363 days earlier)      last day (1737 days later) »