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
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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