Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - JaAViEr

#61
Nice, yo hice uno para otro foro que mostraba los ultimos 5 post's
Te recomiendo eso si hacer un try / except al tomar la url
ya que como es un bucle infinito (while True) en un momento
dará error
#62
Python / Re:Python desde tu navegador
Agosto 29, 2011, 04:07:21 PM
Ese lo tengo hace varios días, pero hice uno propio para
codear desde el celular vía navegador XDD

Saludos.
#63
Python / Re:Python V1.45 para el Movil
Agosto 28, 2011, 11:51:04 PM
Sueño con este momento para celulares JAVA :p
#64
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Ajam con que esto era lo que estabas trabajando.. :P

Luego necesitare ayuda en Python :P
Jajajaja no XD, esto se me ocurrió hace un rato.
Otro code es el que estoy trabajando, que usa QT :B
Este salió al pedo xd
#65
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Que pedazo de codigo JaAViEr!!!!
Excelente aporte hermano!!
Gracias ANTRAX, en un rato seguiré codeando
a ver si les traigo algo similar pero para el cPanel :D
#66
(WHM = WebHost Manager)

Hola , buen día.
Como tengo un host reseller siempre tenía que entrar
para administrar algunas cuentas y esas cosas, entonces
me aburrí de tener que abrir el navegador para ello.
Así que codee lo siguiente , que tiene las opciones básicas
1.- Agregar Host.         
2.- Eliminar Host.
3.- Listar Cuentas.
4.- Ver Paquetes actuales.
5.- Suspender una cuenta.
Código: python

# -*- coding: utf-8 -*-
import urllib2, urllib,re

class conexion:
 
  def __init__(self,user,passw,server):
    self.user = user
    self.passw = passw
    self.server = server
   
  def conecta(self):
    cookie = urllib2.HTTPCookieProcessor()
    opener = urllib2.build_opener(cookie)
    urllib2.install_opener(opener)
    try:
      dato={'login_theme':'cpanel','user':self.user,'pass':self.passw,'goto_uri':'/'}
      conecta=urllib2.urlopen("http://%s:2086/login/"%self.server, urllib.urlencode(dato))
      titulo = re.findall("<title>(.*)</title>",conecta.read())
      if "WebHost Manager" in titulo[0]:
return True
    except:
      return False
     
class acciones_whm:
 
  def agregar_host(self,server,dominio,usuario,clave):
    if "(Account Creation Ok)" in urllib2.urlopen("http://%s:2086/scripts5/wwwacct?sign=&plan=anycode1_Normal&domain=%s&username=%s&password=%s&contactemail=&dbuser=%s&frontpage=1&cgi=1&language=es&hasuseregns=1&mxcheck=local"%(server,dominio,usuario,clave,usuario)).read():
      return "Cuenta Creada!"
    else:
      return "Ocurrió un problema al añadir la cuenta!"
 
  def eliminar_host(self,server,usuario):
    mensaje_correcto = "(%s account removed)"%usuario
    if mensaje_correcto in urllib2.urlopen("http://%s:2086/scripts/killacct?user=%s"%(server,usuario)).read():
      return "Cuenta Eliminada con Exito.!"
    else:
      return "Ocurrió un problema al eliminar la cuenta",usuario
 
  def lista_cuentas(self,server):
    contando = 1
    lista = urllib2.urlopen("http://%s:2086/scripts4/listaccts"%server).read()
    for dominio, usuario in re.findall("selectupgrade\?domain=(.*)\&user=(.*)\" onclick",lista):
      print "%s.- %s : %s"%(contando,dominio,usuario)
      contando += 1
 
  def ver_paquetes(self,server):
    for paquetes in re.findall("<option>(.*)</option>",urllib2.urlopen("http://%s:2086/scripts/editpkg"%server).read()):
      print """PAQUETE:%s"""%paquetes
 
  def suspension_cuenta(self,usuario,server):
    if "Suspension of" in urllib2.urlopen("http://%s:2086/scripts2/suspendacct?user=%s&suspend-domain=Suspend"%(server,usuario)).read():
      print "Cuenta suspendida con éxito."
    else:
      print "Ocurrió un error al suspender la cuenta..."

#Login
print """Instrucciones :
Ingrese dominio sin http:// , posteriormente ingrese sus datos de login.
"""
servidor = raw_input("Servidor:")
user = raw_input("Usuario:")
passw = raw_input("Clave:")
conectar = conexion(user,passw,servidor)
if conectar.conecta():
  print "Logueado!"
  crear = acciones_whm()
 
  while 1:
    print """
1.- Agregar Host.         5.- Suspender una cuenta.
2.- Eliminar Host.
3.- Listar Cuentas.
4.- Ver Paquetes actuales."""
    opcion = input("Opción:")
   
    if opcion == 1:
      d = raw_input("Dominio:")
      u = raw_input("Usuario:")
      c = raw_input("Clave:")
      print crear.agregar_host(servidor,d,u,c)
   
    elif opcion == 2:
      u = raw_input("Usuario:")
      print crear.eliminar_host(servidor,u)
   
    elif opcion == 3:
      print "Mostrando Dominio = Usuario:"
      crear.lista_cuentas(servidor)
   
    elif opcion == 4:
      print "Los paquetes actuales son:"
      crear.ver_paquetes(servidor)
   
    elif opcion == 5:
      u = raw_input("Usuario:")
      crear.suspension_cuenta(u,servidor)

else:
  print "Error al conectar..."

Para una próxima versión añadiré más opciones.

Saludos.
#67
Python / Practicas POO
Agosto 23, 2011, 02:15:28 AM
Hola a todos, pues como dice el titulo...
Ando haciendo unas practicas con POO Python.
Pasando algunos códigos ya hechos a POO.
Estaría bien que quienes hagan sus practicas con la POO publique
su código acá , para ver que tal van... , espero se animen.
Yo hice esta hace un rato, para practicar la herencia xd :
Código: python

# -*- coding: utf-8 -*-
import binascii
class encriptar:
 
  def __init__(self, cadena):
    self.inverso_hex=""
    self.encriptado=[]
    self.crypt_temp=""
    self.encr=""
    self.cadena = cadena

  def tohex(self):
    for i in self.cadena:
      self.encriptado.append(binascii.b2a_hex(i))
    for sale in self.encriptado:
      self.encr+="%s "%sale
    print self.encr

class desencriptar(encriptar):
 
  def tostring(self):
    for i in self.cadena:
      self.inverso_hex+="%s"%i
    for d in self.inverso_hex.split():
      self.crypt_temp+=binascii.a2b_hex(d)
    print self.crypt_temp

opc=input("1.- Encriptar.\n2.- Desencriptar.\nOpcion:")
if opc==1:
 
  nuevo_crypt = encriptar(raw_input("Cadena:"))
  nuevo_crypt.tohex()

if opc==2:
 
  nuevo_decrypt = desencriptar(raw_input("Cadena:"))
  nuevo_decrypt.tostring()

Luego pongo otros codes pasados a POO
#68
C# - VB.NET / Re:[C#]El cervanBot para underc0de
Agosto 22, 2011, 10:54:39 AM
Lindo code, muy elaborado ;)
#69
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Vaya que si sabes de python, que bueno, grax men.

Tambien maneja bien diseño web, si no lo hiciera, no le hubiera sido tan facil hacerlo.

Recuerda: Diseño web + Python = Gran potencial
Muchas gracias Fhano ! <3
#70
Claro , pero entiendo lo que dices.
Sería algo como simular funciones ya hechas
pero hacerlas manualmente ?
#71
Python / [Código-PyQT4] Html Helper - JaAViEr
Agosto 21, 2011, 09:18:28 PM
Hola, ayer comencé a hacer un HTML Helper, para quienes no manejen
html, el programa es básico, para la próxima versión pretendo añadirle
otras cosas, CSS entre ellas, las actuales funciones :

  • Añadir Textarea
  • Añadir Input
  • Añadir Imagen
  • Añadir Link
  • Añadir Boton
  • Cambiar Fondo(despliega paleta de colores)
Tambien trae aparte la paleta de colores & el dialogo para buscar el
nombre de alguna Font.
El programa realiza un preview al dar clic en el boton "Preview"
Entre las opciones del menú "Archivo" :

  • Abrir desde un .html
  • Abrir desde una URL(ingresamos url y traemos el código al editor)
  • Guardar el html que generamos
  • Salir
Al lado de las pestañas Código & Prevista tenemos las opciones
Bold , Underline , Italic.
Un screenshot :
Lo que más importa, el código :
Código: python

# -*- coding: utf-8 -*-
import sys,re,urllib2
from PyQt4 import QtCore, QtGui, QtWebKit

class create(QtGui.QMainWindow):
 
  def __init__(self):
    QtGui.QMainWindow.__init__(self)
#Boton Bold
    self.bold = QtGui.QPushButton("Bold",self)
    self.bold.setGeometry(172,26,41,25)
    self.connect(self.bold,QtCore.SIGNAL("clicked()"), self.make_bold)
#Boton Italic
    self.italic = QtGui.QPushButton("Italic",self)
    self.italic.setGeometry(216,26,41,25)
    self.connect(self.italic,QtCore.SIGNAL("clicked()"), self.make_italic)
#Boton Underline
    self.underline = QtGui.QPushButton("Underline",self)
    self.underline.setGeometry(261,26,63,25)
    self.connect(self.underline,QtCore.SIGNAL("clicked()"), self.make_underline)
#Nuevo menu "Archivo"
    menu_archivo = self.menuBar()
    archivo = menu_archivo.addMenu('&Archivo')
#Menu Abrir
    abrir = QtGui.QAction('&Abrir',self)
    abrir.setShortcut('Ctrl+O')
    archivo.addAction(abrir)
    self.connect(abrir, QtCore.SIGNAL('triggered()'),self.abrir)
#Menu Abrir URL
    abrir_url = QtGui.QAction('Abrir desde &URL',self)
    abrir_url.setShortcut('Ctrl+U')
    archivo.addAction(abrir_url)
    self.connect(abrir_url, QtCore.SIGNAL('triggered()'),self.get_source)
#Menu Guardar
    guardar = QtGui.QAction('&Guardar',self)
    guardar.setShortcut('Ctrl+S')
    archivo.addAction(guardar)
    self.connect(guardar, QtCore.SIGNAL('triggered()'),self.guardar)
#Menu salir
    salida = QtGui.QAction('&Exit', self)
    salida.setShortcut('Ctrl+W')
    archivo.addAction(salida)
    self.connect(salida, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
#Fin del menú Archivo
#Nuevo menú Herramientas
    menu_inputs = self.menuBar()
    herramientas = menu_inputs.addMenu('&Herramientas')
#Menu textarea
    textarea = QtGui.QAction('Agregar &TextArea', self)
    herramientas.addAction(textarea)
    self.connect(textarea, QtCore.SIGNAL('triggered()'), self.add_textarea)
#Menu input
    inputx = QtGui.QAction('Agregar &Input', self)
    herramientas.addAction(inputx)
    self.connect(inputx, QtCore.SIGNAL('triggered()'), self.add_input)
#Menu Boton
    boton = QtGui.QAction('Agregar &Boton', self)
    herramientas.addAction(boton)
    self.connect(boton, QtCore.SIGNAL('triggered()'), self.add_button)
#Menu Imagen
    imagen = QtGui.QAction('Agregar I&magen', self)
    herramientas.addAction(imagen)
    self.connect(imagen, QtCore.SIGNAL('triggered()'), self.add_imagen)
#Menu Cambiar Fondo
    fondo = QtGui.QAction('Color de &Fondo', self)
    herramientas.addAction(fondo)
    self.connect(fondo, QtCore.SIGNAL('triggered()'), self.add_fondo)
#Menu Link
    link = QtGui.QAction('Agregar &Link', self)
    herramientas.addAction(link)
    self.connect(link, QtCore.SIGNAL('triggered()'), self.add_link)
#Fin menú Herramientas
    self.resize(729, 674)
    self.pest_code = QtGui.QTabWidget(self)
    self.pest_code.setGeometry(QtCore.QRect(0, 30, 711, 631))
    self.tab = QtGui.QWidget()
    self.html_plano = QtGui.QPlainTextEdit(self.tab)
    self.html_plano.setGeometry(QtCore.QRect(10, 30, 691, 571))
    self.boton_previw = QtGui.QPushButton("Preview",self.tab)
    self.boton_previw.setGeometry(QtCore.QRect(10, 4,83, 21))
    self.pest_code.addTab(self.tab, "")
    self.tab_2 = QtGui.QWidget()
#Nuevo menú Fuente / Colores
    font_color = self.menuBar()
    fuentes_colores = font_color.addMenu('&Fuente / Colores')
#Menu Buscar Color
    search_color = QtGui.QAction('Buscar Color', self)
    fuentes_colores.addAction(search_color)
    self.connect(search_color, QtCore.SIGNAL('triggered()'), self.find_color)
#Menu buscar Fuente
    search_font = QtGui.QAction('Buscar Fuente', self)
    fuentes_colores.addAction(search_font)
    self.connect(search_font, QtCore.SIGNAL('triggered()'), self.find_font)
    self.vista_web = QtWebKit.QWebView(self.tab_2)
    self.vista_web.setGeometry(QtCore.QRect(10, 10, 691, 591))
    self.pest_code.addTab(self.tab_2, "")
    self.pest_code.setCurrentIndex(0)
    QtCore.QMetaObject.connectSlotsByName(self)
    self.setWindowTitle("Create HTML Helper.")
    self.pest_code.setTabText(self.pest_code.indexOf(self.tab),"Codigo")
    self.pest_code.setTabText(self.pest_code.indexOf(self.tab_2), "Prevista")
    self.connect(self.boton_previw, QtCore.SIGNAL('clicked()'), self.done) 

  def make_bold(self):
    self.html_final = "%s<br />\n<b></b>"%self.html_plano.toPlainText()
    self.html_plano.setPlainText(self.html_final) 
 
  def make_italic(self):
    self.html_final = "%s<br />\n<i></i>"%self.html_plano.toPlainText()
    self.html_plano.setPlainText(self.html_final) 
 
  def make_underline(self):
    self.html_final = "%s<br />\n<u></u>"%self.html_plano.toPlainText()
    self.html_plano.setPlainText(self.html_final) 

  def done(self):
    self.salida = self.html_plano.toPlainText()
    temporal = open("tmp.html","w")
    temporal.write(self.salida)
    temporal.close()
    self.vista_web.setUrl(QtCore.QUrl("tmp.html"))
    self.pest_code.setCurrentIndex(1)
 
  def guardar(self):
    self.obtener_html = self.html_plano.toPlainText()
    try:
      nombre_save = QtGui.QFileDialog.getSaveFileName(self, 'Guardar Archivo','/home')
      guardando_html = open(nombre_save, "w")
      guardando_html.write(self.obtener_html)
      guardando_html.close()
      alertas.show()
      alertas.alerta("Advertencia","Guardado!")
    except:
      alertas.show()
      alertas.alerta("Advertencia","No Guardado")
 
  def abrir(self):
    nombre_open = QtGui.QFileDialog.getOpenFileName(self, 'Abrir Archivo','/home')
    abriendo_html = open(nombre_open, "r")
    contenido = abriendo_html.read()
    self.html_plano.setPlainText(contenido)
 
  def add_textarea(self):
    rows, respuesta_rows = QtGui.QInputDialog.getText(self, 'Rows','Numero de Lineas:')
    if respuesta_rows:
      rows = " rows=\"%s\""%str(rows)
    else:
      rows = ""
    cols, respuesta_cols = QtGui.QInputDialog.getText(self, 'Cols','Numero de Columnas:')
    if respuesta_cols:
      cols = " cols=\"%s\""%str(cols)
    else:
      cols = ""
    self.html_final = "%s<br />\n<textarea%s%s></textarea>"%(self.html_plano.toPlainText(),rows,cols)
    self.html_plano.setPlainText(self.html_final) 
 
  def add_input(self):
    value, respuesta_value = QtGui.QInputDialog.getText(self, 'Valor','Valor por defecto:')
    if respuesta_value:
      value = " value=\"%s\""%str(value)
    else:
      value = ""
    self.html_final = "%s<br />\n<input%s>"%(self.html_plano.toPlainText(),value)
    self.html_plano.setPlainText(self.html_final) 
 
  def add_button(self):
    button, respuesta_boton = QtGui.QInputDialog.getText(self, 'Valor','Valor del Boton:')
    if respuesta_boton:
      button = " value=\"%s\""%str(button)
    else:
      button = ""
    self.html_final = "%s<br />\n<input  type=\"Submit\"%s>"%(self.html_plano.toPlainText(),button)
    self.html_plano.setPlainText(self.html_final) 
 
  def add_imagen(self):
    imagen, respuesta_imagen = QtGui.QInputDialog.getText(self, 'Valor','URL de la Imagen:')
    if respuesta_imagen:
      imagen = " src=\"%s\""%str(imagen)
    else:
      imagen = ""
    width, respuesta_width = QtGui.QInputDialog.getText(self, 'Valor','Ancho:')
    if respuesta_width:
      width = " width=\"%s\""%str(width)
    else:
      width = ""
    height, respuesta_height = QtGui.QInputDialog.getText(self, 'Valor','Alto:')
    if respuesta_height:
      height = " height=\"%s\""%str(height)
    else:
      height = ""
    self.html_final = "%s<br />\n<img%s%s%s>"%(self.html_plano.toPlainText(),imagen,width,height)
    self.html_plano.setPlainText(self.html_final) 
 
  def add_fondo(self):
    color = QtGui.QColorDialog.getColor()
    if color.isValid():
      if not "<body" in self.html_plano.toPlainText():
self.html_final = "<body bgcolor=\"%s\">%s</body>"%(color.name(),self.html_plano.toPlainText())
self.html_plano.setPlainText(self.html_final)
      else:
for i in re.findall("<body bgcolor=\"(.*)\">",self.html_plano.toPlainText()):
  anterior=i
self.html_final = self.html_plano.toPlainText().replace(anterior,color.name())
self.html_plano.setPlainText(self.html_final)
    else:
      self.html_final = "<body bgcolor=\"#FFFFFF\">%s</body>"%(self.html_plano.toPlainText())
      self.html_plano.setPlainText(self.html_final)
 
  def find_color(self):
    busca_color= QtGui.QColorDialog.getColor()
    if busca_color.isValid():
      alertas.show()
      alertas.alerta("Advertencia","Color %s"%busca_color.name())

  def get_source(self):
    url, respuesta_url = QtGui.QInputDialog.getText(self, 'Get','URL:')
    try:
      self.html_plano.setPlainText(urllib2.urlopen(str(url)).read())
    except:
      alertas.show()
      alertas.alerta("Advertencia","Contenido no encontrado")
 
  def add_link(self):
    link, respuesta_link = QtGui.QInputDialog.getText(self, 'Link','Link:')
    if respuesta_link:
      link = " href=\"%s\""%link
    else:
      link = ""
    name, respuesta_name = QtGui.QInputDialog.getText(self, 'Nombre','Nombre:')
    if respuesta_name:
      name = "%s"%name
    else:
      name = "%s"%link
    self.html_final = "%s<br />\n<a%s>%s</a>"%(self.html_plano.toPlainText(),link,name)
    self.html_plano.setPlainText(self.html_final) 
 
  def find_font(self):
    QtGui.QFontDialog.getFont()
   
class myalert(QtGui.QMainWindow):
  def __init__(self):
    QtGui.QMainWindow.__init__(self)
    #self.resize(130,50)
    self.setGeometry(400,300,250,50)
    self.label_problema = QtGui.QLabel(self)
    self.label_problema.setGeometry(40,17,180,20)
   
  def alerta(self,error,razon):
    self.setWindowTitle(error)
    self.label_problema.setText(razon)

tool = QtGui.QApplication(sys.argv)
dialogo = create()
dialogo.show()
alertas = myalert()
alertas.hide()
tool.exec_()


Saludos !
#72
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
que buena idea.
el os.path.exists('archivo') no debe tener mas complejidad que eso  ::)


saludos.

pd: deberíamos hacer un apartado y destripar algunas funciones (poner su source), como lo haz hecho tú  ::)
Hola compatriota ! , buen día.
Yo no la destripé , sólo lo hice por lógica :B
#73
Bueno, viendo nuevamente el try & except me dio
la idea de comprar si un archivo existe o no, sin necesidad
de usar import os
Código: python

# -*- coding: utf-8 -*-
try:
  open(raw_input("Archivo:"),"r")
  print "Archivo Si Existe."
except:
  print "Archivo No existe."
#74
No entiendo, que deseas hacer en tu código ?
El UTF-8 se encarga de imprimir símbolos especiales.
Código: python
# -*- coding: utf-8 -*-
print "∫"

Podrías explicar más a fondo tu intensión ?

Saludos.
#75
Python / Re:análisis de ejercicios
Agosto 11, 2011, 11:50:37 PM
Mañana lo reviso, ahora voy a comer y luego tengo un torneo en Wii.

Saludos.
#76
Python / Re:análisis de ejercicios
Agosto 11, 2011, 11:26:24 PM
Mi humilde código:
Código: python

# -*- coding: utf-8 -*-
import datetime,re
guarda = []
fecha_actual = datetime.date.today()
guarda.append(fecha_actual)
ano=0
mes=0
dia=0
for i,s,d in re.findall("(.*)\-(.*)\-(.*)",str(guarda[0])):
  ano = i
  mes = s
  dia = d
print ano,mes,dia
fecha_nace=raw_input("Fecha Nacimiento(AA-MM-DD):")
ano_paciente=0
mes_paciente=0
for i,s,d in re.findall("(.*)\-(.*)\-(.*)",fecha_nace):
  ano_paciente = i
  mes_paciente = s
calculo=int(ano)-int(ano_paciente)
if mes > mes_paciente:
  print calculo
else:
  print "Edad del Paciente:",calculo-1


Saludos.
#77
Python / Re:[Python] HTTP Console By Doddy H
Agosto 04, 2011, 12:21:50 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
JaAViEr podrias postear tú programa?

grax
Luego lo busco en el /home

Saludos.
#78
Si fuese por simplificar el código, quitaría todas las funciones
y llamaría a la conversión dentro del IF.

Saludos.
#79
Python / Re:[Python] HTTP Console By Doddy H
Agosto 02, 2011, 07:54:08 PM
Bien, yo hice uno que permite obtener y editar cookies. Otro día podríamos pasar este code a QT4 si no te molesta.
#80
Buenísima, mi celu tiene WiFi y lector de pdf doc html etc :B