Enero 17, 2018, 03:46:21 am

Autor Tema: [Código-PyQT4]Protector de Archivo - JaAViEr  (Leído 1181 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado JaAViEr

  • ¡ Programming the world !
  • Colaborador
  • ****
  • Mensajes: 8218
  • http://ethereumchile.cl
    • Ver Perfil
    • Ethereum Chile
[Código-PyQT4]Protector de Archivo - JaAViEr
« en: Abril 25, 2014, 09:54:14 pm »
Hola, buenos días!

El siguiente programa tiene por función el poder restaurar un archivo que se ha modificado o eliminado.

El funcionamiento del programa es muy sencillo



Clic en "Buscar..." , ubicamos el archivo que deseamos proteger y damos clic en "Abrir" , una vez hecho esto el programa ya estará atento a los cambios del programa. El programa lanzará un alerta en caso de que:
  • El archivo se haya eliminado.
  • El archivo se haya modificado.
Junto con cualquiera de ambas alertas el programa nos dará la posibilidad de restaurar a la versión anterior (A la versión del archivo al momento de ejecutarse este programa y seleccionar el archivo)
Sin más que decir, el código
Código: (python) You are not allowed to view links. Register or Login
# -*- coding: utf-8 -*-

#Autor: JaAViEr | 0X5D
#Twitter: @javieresteban__

from PyQt4 import QtCore, QtGui
import sys, threading, os

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
return s

class Formulario(QtGui.QWidget):

def __init__(self):

QtGui.QWidget.__init__(self)
self.setWindowTitle("Protector de Archivos :: 2014")
self.setFixedSize(400, 48)
self.gridLayout = QtGui.QGridLayout(self)
self.label = QtGui.QLabel(self)
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
self.archivo = QtGui.QLineEdit(self)
self.archivo.setDisabled(True)
self.gridLayout.addWidget(self.archivo, 0, 1, 1, 1)
self.boton = QtGui.QPushButton(self)
self.gridLayout.addWidget(self.boton, 0, 2, 1, 1)
self.label.setText("Archivo:")
self.boton.setText("Buscar...")
self.connect(self.boton, QtCore.SIGNAL("clicked()"), self.buscar_archivo)
self.connect(self.archivo, QtCore.SIGNAL("returnPressed()"), self.empezar)

def buscar_archivo(self):

self.file = QtGui.QFileDialog.getOpenFileName(self, 'Buscar Archivo', '')
leer = open(self.file, "rb")
self.lineas = leer.read()
leer.close()
self.archivo.setText(self.file)
self.size = os.path.getsize(self.file)
self.empezar()

def empezar(self):

h = Hilo()
h.start()

class Hilo(threading.Thread):

def run(self):

while True:
try:
open(form.file)
estado = True
except:
estado = False

if estado:
tama = os.path.getsize(form.file)
if tama == form.size:
pass
else:
self.restaurar()
else:
self.restaurar()

def restaurar(self):

try:
f = open(form.file, "wb")
f.write(form.lineas)
f.close()
QtGui.QMessageBox.about(None, 'Alerta',_fromUtf8('El archivo se restauró exitosamente!'))
except:
QtGui.QMessageBox.about(None, 'Alerta',_fromUtf8('Error al intentar restaurar!'))
app = QtGui.QApplication(sys.argv)
form = Formulario()
form.show()
app.exec_()

Saludos, Javier.
« Última modificación: Abril 25, 2014, 10:25:51 pm por JaAViEr »
¡MI TWITTER You are not allowed to view links. Register or Login!
You are not allowed to view links. Register or Login !


exclamation
[Código-PyQT4]All in one - JaAViEr(0x5d)

Iniciado por JaAViEr

0 Respuestas
1063 Vistas
Último mensaje Febrero 10, 2012, 10:04:46 pm
por JaAViEr
exclamation
[Código-PyQT4]Calculadora - JaAViEr

Iniciado por JaAViEr

6 Respuestas
2309 Vistas
Último mensaje Julio 03, 2011, 09:34:18 pm
por JaAViEr
exclamation
[Código-PyQT4]View Source - JaAViEr

Iniciado por JaAViEr

0 Respuestas
930 Vistas
Último mensaje Julio 01, 2011, 01:52:09 am
por JaAViEr
exclamation
[Código-PyQT4]Html Helper - JaAViEr

Iniciado por JaAViEr

3 Respuestas
1756 Vistas
Último mensaje ſeptiembre 14, 2011, 02:54:11 pm
por JaAViEr
exclamation
[Código-PyQT4] IconFinder - JaAViEr | 0x5d

Iniciado por JaAViEr

7 Respuestas
2793 Vistas
Último mensaje Noviembre 01, 2013, 08:42:58 am
por JaAViEr
exclamation
[Código-PyQT4]Calculadora por secuencias - JaAViEr(0x5d)

Iniciado por JaAViEr

1 Respuestas
1127 Vistas
Último mensaje Diciembre 25, 2011, 01:15:23 pm
por daryo
exclamation
[Código-PyQT4]Ultimas menciones Twitter - JaAViEr

Iniciado por JaAViEr

0 Respuestas
1455 Vistas
Último mensaje ſeptiembre 08, 2011, 06:06:17 pm
por JaAViEr
exclamation
[Código-PyQT4] Manejo de Stock sencillo V1 - JaAViEr

Iniciado por JaAViEr

0 Respuestas
1245 Vistas
Último mensaje Abril 25, 2014, 05:02:48 pm
por JaAViEr
xx
[Código-PyQT4] Escaner de Puertos - JaAViEr | 0x5d

Iniciado por JaAViEr

17 Respuestas
8635 Vistas
Último mensaje Noviembre 02, 2013, 11:00:19 pm
por The X-C3LL
exclamation
[Código-PyQT4]Extractor de imágenes - JaAViEr(0x5d)

Iniciado por JaAViEr

0 Respuestas
991 Vistas
Último mensaje Diciembre 24, 2011, 01:49:38 pm
por JaAViEr