# -*- coding: ISO-8859-15 -*- |
|
# |
|
# Fichero: avanzado.py |
|
# Copyright: Junta de Andalucia <devmaster@guadalinex.org> |
|
# Autor: Maria Dolores Perez Gutierrez y Nestor Chacon Manzano |
|
# Fecha: lun mar 27 17:01:15 CET 2006 |
|
# Licencia: GPL v.2 |
|
# |
|
# generated by wxGlade 0.3.5.1 on Tue Nov 22 13:33:24 2005 |
|
# |
|
# Esta es la interfaz que muestra todos los detalles y que permite asimismo configurarlos |
|
# Hay secciones que requieren de mayores conocimientos por parte del usuario que si usa el asistente. |
|
|
|
|
|
from watcherMods import * |
|
import wx |
|
import wx.grid |
|
import wx.lib.buttons |
|
|
|
# internacionalizacion |
|
wx.Locale_AddCatalogLookupPathPrefix("/etc/acept/watcherCat/lang") |
|
locale = wx.Locale(wx.LANGUAGE_DEFAULT) |
|
a=locale.AddCatalog("acept") |
|
_=wx.GetTranslation |
|
|
|
|
|
class MyFrame1(wx.Frame): |
|
def __init__(self, *args, **kwds): |
|
# begin wxGlade: MyFrame1.__init__ |
|
kwds["style"] = wx.DEFAULT_FRAME_STYLE |
|
kwds["pos"]=wx.Point(0,0) |
|
|
|
wx.Frame.__init__(self, *args, **kwds) |
|
# Menu Bar |
|
self.frame_1_menubar = wx.MenuBar() |
|
self.SetMenuBar(self.frame_1_menubar) |
|
self.aplicacion = wx.Menu() |
|
self.salir = wx.MenuItem(self.aplicacion, 01, _("Salir"), _("Cierra el programa"), wx.ITEM_NORMAL) |
|
self.aplicacion.AppendItem(self.salir) |
|
self.frame_1_menubar.Append(self.aplicacion, _("Aplicacion")) |
|
self.usuarios = wx.Menu() |
|
self.horarios = wx.MenuItem(self.usuarios, 11, _("Horarios"), _("Configura el uso temporal de los recursos"), wx.ITEM_NORMAL) |
|
self.usuarios.AppendItem(self.horarios) |
|
self.contenidos = wx.MenuItem(self.usuarios, 12, _("Contenidos"), _("Configura el filtro de contenidos"), wx.ITEM_NORMAL) |
|
self.usuarios.AppendItem(self.contenidos) |
|
self.frame_1_menubar.Append(self.usuarios, _("Usuarios")) |
|
self.configurar = wx.Menu() |
|
self.servicios = wx.MenuItem(self.configurar, 21, _("Servicios"), _("Define nuevos servicios"), wx.ITEM_NORMAL) |
|
self.configurar.AppendItem(self.servicios) |
|
self.localizacion = wx.MenuItem(self.configurar, 22, _("Listas"), _("Configura diversos aspectos del filtro de contenidos"), wx.ITEM_NORMAL) |
|
self.configurar.AppendItem(self.localizacion) |
|
self.expresiones = wx.MenuItem(self.configurar, 23, _("Expresiones"), _("Configura el filtrado por expresiones regulares"), wx.ITEM_NORMAL) |
|
self.configurar.AppendItem(self.expresiones) |
|
self.frame_1_menubar.Append(self.configurar, _("Configurar")) |
|
self.estadisticas = wx.Menu() |
|
self.generar = wx.MenuItem(self.estadisticas, 31, _("Uso web"), _("Genera las estadisticas de uso"), wx.ITEM_NORMAL) |
|
self.apli = wx.MenuItem(self.estadisticas, 32, _("Servicios"), _("Genera las estadisticas de uso"), wx.ITEM_NORMAL) |
|
self.estadisticas.AppendItem(self.generar) |
|
self.estadisticas.AppendItem(self.apli) |
|
self.frame_1_menubar.Append(self.estadisticas, _("Estadisticas")) |
|
self.ayuda = wx.Menu() |
|
self.sobre = wx.MenuItem(self.ayuda, 42, _("Sobre ACEPT"), _("Datos acerca del programa"), wx.ITEM_NORMAL) |
|
self.ayuda.AppendItem(self.sobre) |
|
self.frame_1_menubar.Append(self.ayuda, _("Ayuda")) |
|
self.padre=self.GetParent() |
|
# Menu Bar end |
|
self.frame_1_statusbar = self.CreateStatusBar(1, 0) |
|
#self.bitmap=wx.StaticBitmap(self,-1,wx.Bitmap("/usr/share/acept/pixmaps/junta+caton.png",wx.BITMAP_TYPE_ANY)) |
|
self.__set_properties() |
|
self.__do_layout() |
|
|
|
#Eventos del menu |
|
wx.EVT_MENU(self, 01, self.Menu01) |
|
wx.EVT_MENU(self, 11, self.Menu11) |
|
wx.EVT_MENU(self, 12, self.Menu12) |
|
wx.EVT_MENU(self, 21, self.Menu21) |
|
wx.EVT_MENU(self, 22, self.Menu22) |
|
wx.EVT_MENU(self, 23, self.Menu23) |
|
wx.EVT_MENU(self, 31, self.Menu31) |
|
wx.EVT_MENU(self, 32, self.Menu32) |
|
wx.EVT_MENU(self, 42, self.Menu42) |
|
wx.EVT_CLOSE(self,self.Menu01) |
|
# end wxGlade# |
|
|
|
def __set_properties(self): |
|
# begin wxGlade: MyFrame1.__set_properties |
|
self.SetTitle(_("Configuracion Avanzada")) |
|
self.frame_1_statusbar.SetStatusWidths([-1]) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/fondo_junta.gif", wx.BITMAP_TYPE_ANY)) |
|
self.SetIcon(_icon) |
|
# statusbar fields |
|
frame_1_statusbar_fields = [""] |
|
for i in range(len(frame_1_statusbar_fields)): |
|
self.frame_1_statusbar.SetStatusText(frame_1_statusbar_fields[i], i) |
|
#self.SetSize((self.GetSize()[0]+20,self.GetSize()[1])) |
|
# end wxGlade |
|
|
|
def __do_layout(self): |
|
# begin wxGlade: MyFrame1.__do_layout |
|
sizer_1 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_2 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_3 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_4 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_3.Add((20,20),1,0,0) |
|
sizer_4.Add((20,20),1,0,0) |
|
#sizer_4.Add(self.bitmap, 0, 0, 0) |
|
sizer_4.Add((20,20),1,0,0) |
|
sizer_3.Add(sizer_4, 0, wx.EXPAND, 0) |
|
sizer_3.Add((20,20),1,0,0) |
|
sizer_2.Add(sizer_3,1,wx.EXPAND,0) |
|
sizer_1.Add(sizer_2,1,wx.EXPAND,0) |
|
self.SetAutoLayout(True) |
|
self.SetSizer(sizer_1) |
|
self.Layout() |
|
|
|
|
|
# Segn que item de la barra de menus pulsen, se ejecuta una cosa u otra |
|
|
|
def Menu01(self, event): |
|
from os import system |
|
self.padre.Show() |
|
self.Destroy() |
|
|
|
def Menu11(self, event): |
|
if not child.horarios : |
|
child.horarios=True |
|
win=MyChild1(self, -1, "") |
|
win.Show() |
|
|
|
def Menu12(self, event): |
|
if not child.contenidos : |
|
child.contenidos=True |
|
win5=MyChild5(self, -1, "") |
|
win5.Show() |
|
|
|
def Menu21(self, event): |
|
if not child.servicios : |
|
child.servicios=True |
|
win2 = MyChild2(self, -1, "") |
|
win2.Show(True) |
|
|
|
def Menu22(self, event): |
|
if not child.listas : |
|
child.listas=True |
|
win3 = MyChild3(self, -1, "") |
|
win3.Show(True) |
|
|
|
def Menu23(self, event): |
|
if not child.expresiones : |
|
child.expresiones=True |
|
win4 = MyChild4(self, -1, "") |
|
win4.Show(True) |
|
|
|
def Menu31(self, event): |
|
if not child.uso_web : |
|
child.uso_web=True |
|
win5=MyChild8(self,-1,"") |
|
win5.Show(True) |
|
|
|
def Menu32(self, event): |
|
if not child.uso_web : |
|
child.uso_aplic=True |
|
win6=MyChild9(self,-1,"") |
|
win6.Show(True) |
|
|
|
def Menu42(self, event): |
|
msg=" "+_("ACEPT \n Asistente para el Control Electronico Paterno-MaTerno \n Desarrollado por Caton Sistemas Alternativos 2006\nCONSEJERIA DE INNOVACION Y CIENCIA - JUNTA DE ANDALUCIA.") |
|
dlg = wx.MessageDialog(self, msg, |
|
_('Sobre ACEPT'), wx.OK | wx.ICON_INFORMATION) |
|
#wxYES_NO | wxNO_DEFAULT | wxCANCEL | wxICON_INFORMATION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/fondo_junta.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
dlg.Destroy() |
|
|
|
# end wxGlade |
|
# end of class MyFrame1 |
|
|
|
# Todo lo que concierne a la configuracion de usuarios: |
|
# servicios permitidos, horarios y prorrogas |
|
class MyChild1(wx.Frame): |
|
def __init__(self, *args, **kwds): |
|
# begin wxGlade: MyChild1.__init__ |
|
kwds["style"] = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL |
|
wx.Frame.__init__(self, *args, **kwds) |
|
self.notebook_1 = wx.Notebook(self, -1, style=0) |
|
self.notebook_1_pane_4 = wx.Panel(self.notebook_1, -1) |
|
self.notebook_1_pane_3 = wx.Panel(self.notebook_1, -1) |
|
self.notebook_1_pane_2 = wx.Panel(self.notebook_1, -1) |
|
self.notebook_1_pane_1 = wx.Panel(self.notebook_1, -1) |
|
self.combo_box_1 = wx.ComboBox(self, -1, choices=[""], style=wx.CB_DROPDOWN|wx.CB_READONLY) |
|
self.button_1 = wx.Button(self, -1, _("Aceptar")) |
|
self.button_2 = wx.Button(self, -1, _("Cancelar")) |
|
self.label_15 = wx.StaticText(self, -1, _("Usuarios a partir de \nla siguiente UID:")) |
|
self.text_ctrl_1 = wx.TextCtrl(self, -1, "1001") |
|
self.rellena_usuarios() |
|
self.bitmap_button_1_copy = wx.BitmapButton(self, -1, wx.Bitmap("/usr/share/acept/pixmaps/reload.png", wx.BITMAP_TYPE_ANY)) |
|
self.label_2 = wx.StaticText(self.notebook_1_pane_1, -1, _("Dias")) |
|
self.label_3 = wx.StaticText(self.notebook_1_pane_1, -1, _("Permitir ?")) |
|
self.label_40 = wx.StaticText(self.notebook_1_pane_1, -1, _("Intervalo")) |
|
self.static_line_1 = wx.StaticLine(self.notebook_1_pane_1, -1) |
|
self.label_4 = wx.StaticText(self.notebook_1_pane_1, -1, _("Lunes")) |
|
self.checkbox_1 = wx.CheckBox(self.notebook_1_pane_1, -1, "") |
|
self.label_55 = wx.StaticText(self.notebook_1_pane_1, -1, _("de ")) |
|
self.spin_ctrl_1 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_6 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_2 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_7 = wx.StaticText(self.notebook_1_pane_1, -1, _(" a ")) |
|
self.spin_ctrl_3 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_8 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_4 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_4_copy_1 = wx.StaticText(self.notebook_1_pane_1, -1, _("Martes")) |
|
self.checkbox_1_copy = wx.CheckBox(self.notebook_1_pane_1, -1, "") |
|
self.label_5_copy = wx.StaticText(self.notebook_1_pane_1, -1, _("de ")) |
|
self.spin_ctrl_1_copy = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_6_copy = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_2_copy = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_7_copy = wx.StaticText(self.notebook_1_pane_1, -1, _(" a ")) |
|
self.spin_ctrl_3_copy = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_8_copy = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_4_copy = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_4_copy_2 = wx.StaticText(self.notebook_1_pane_1, -1, _("Miercoles")) |
|
self.checkbox_1_copy_1 = wx.CheckBox(self.notebook_1_pane_1, -1, "") |
|
self.label_5_copy_1 = wx.StaticText(self.notebook_1_pane_1, -1, _("de ")) |
|
self.spin_ctrl_1_copy_1 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_6_copy_1 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_2_copy_1 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_7_copy_1 = wx.StaticText(self.notebook_1_pane_1, -1, _(" a ")) |
|
self.spin_ctrl_3_copy_1 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_8_copy_1 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_4_copy_1 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_4_copy_3 = wx.StaticText(self.notebook_1_pane_1, -1, _("Jueves")) |
|
self.checkbox_1_copy_2 = wx.CheckBox(self.notebook_1_pane_1, -1, "") |
|
self.label_5_copy_2 = wx.StaticText(self.notebook_1_pane_1, -1, _("de ")) |
|
self.spin_ctrl_1_copy_2 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_6_copy_2 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_2_copy_2 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_7_copy_2 = wx.StaticText(self.notebook_1_pane_1, -1, _(" a ")) |
|
self.spin_ctrl_3_copy_2 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_8_copy_2 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_4_copy_2 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_4_copy_4 = wx.StaticText(self.notebook_1_pane_1, -1, _("Viernes")) |
|
self.checkbox_1_copy_3 = wx.CheckBox(self.notebook_1_pane_1, -1, "") |
|
self.label_5_copy_3 = wx.StaticText(self.notebook_1_pane_1, -1, _("de ")) |
|
self.spin_ctrl_1_copy_3 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_6_copy_3 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_2_copy_3 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_7_copy_3 = wx.StaticText(self.notebook_1_pane_1, -1, _(" a ")) |
|
self.spin_ctrl_3_copy_3 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_8_copy_3 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_4_copy_3 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_4_copy_5 = wx.StaticText(self.notebook_1_pane_1, -1, _("Sabado")) |
|
self.checkbox_1_copy_4 = wx.CheckBox(self.notebook_1_pane_1, -1, "") |
|
self.label_5_copy_4 = wx.StaticText(self.notebook_1_pane_1, -1, _("de ")) |
|
self.spin_ctrl_1_copy_4 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_6_copy_4 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_2_copy_4 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_7_copy_4 = wx.StaticText(self.notebook_1_pane_1, -1, _(" a ")) |
|
self.spin_ctrl_3_copy_4 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_8_copy_4 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_4_copy_4 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_4_copy_6 = wx.StaticText(self.notebook_1_pane_1, -1, _("Domingo")) |
|
self.checkbox_1_copy_5 = wx.CheckBox(self.notebook_1_pane_1, -1, "") |
|
self.label_5_copy_5 = wx.StaticText(self.notebook_1_pane_1, -1, _("de ")) |
|
self.spin_ctrl_1_copy_5 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_6_copy_5 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_2_copy_5 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_7_copy_5 = wx.StaticText(self.notebook_1_pane_1, -1, _(" a ")) |
|
self.spin_ctrl_3_copy_5 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=23, size=(45, 20)) |
|
self.label_8_copy_5 = wx.StaticText(self.notebook_1_pane_1, -1, ":") |
|
self.spin_ctrl_4_copy_5 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=0, max=59, size=(45, 20)) |
|
self.label_5 = wx.StaticText(self.notebook_1_pane_2, -1, _("Usuario sin limitaciones en los servicios?")) |
|
self.choice_1 = wx.Choice(self.notebook_1_pane_2, -1, choices=[_("No"), _("Si")]) |
|
self.button_3 = wx.Button(self.notebook_1_pane_2, -1, _("Limpiar")) |
|
self.grid_1 = wx.grid.Grid(self.notebook_1_pane_2, -1, size=(1, 1)) |
|
self.grid_2 = wx.grid.Grid(self.notebook_1_pane_3, -1, size=(1, 1)) |
|
self.grid_3 = wx.grid.Grid(self.notebook_1_pane_4, -1, size=(1, 1)) |
|
anno=int(fecha().split(" ")[-1]) |
|
self.finaliza=True |
|
self.__set_properties() |
|
self.SetFocus() |
|
self.__do_layout() |
|
self.all=tod_serv(self.combo_box_1.GetValue()) |
|
#si usuario seleccionado rellena campos segun su configuracion |
|
if self.combo_box_1.GetValue()!='': |
|
self.rellena() |
|
wx.EVT_BUTTON(self, self.button_1.GetId(), self.acepta) |
|
wx.EVT_BUTTON(self, self.button_2.GetId(), self.cancela) |
|
wx.EVT_BUTTON(self, self.button_3.GetId(), self.limpia) |
|
wx.EVT_BUTTON(self, self.bitmap_button_1_copy.GetId(), self.refresca_lista) |
|
wx.EVT_CLOSE(self,self.cancela) |
|
wx.EVT_COMBOBOX(self,self.combo_box_1.GetId(),self.recarga) |
|
wx.EVT_CHOICE(self,self.choice_1.GetId(),self.limit) |
|
|
|
wx.EVT_CHECKBOX(self,self.checkbox_1.GetId(),self.estado) |
|
wx.EVT_CHECKBOX(self,self.checkbox_1_copy.GetId(),self.estado) |
|
wx.EVT_CHECKBOX(self,self.checkbox_1_copy_1.GetId(),self.estado) |
|
wx.EVT_CHECKBOX(self,self.checkbox_1_copy_2.GetId(),self.estado) |
|
wx.EVT_CHECKBOX(self,self.checkbox_1_copy_3.GetId(),self.estado) |
|
wx.EVT_CHECKBOX(self,self.checkbox_1_copy_4.GetId(),self.estado) |
|
wx.EVT_CHECKBOX(self,self.checkbox_1_copy_5.GetId(),self.estado) |
|
|
|
wx.grid.EVT_GRID_CELL_CHANGE(self,self.obten_cadena) |
|
# end wxGlade |
|
|
|
|
|
def __set_properties(self): |
|
# begin wxGlade: MyChild1.__set_properties |
|
self.Hide() |
|
self.SetTitle(_("Horarios")) |
|
|
|
self.choice_1.SetSelection(0) |
|
|
|
# Crea las tablas que se van a mostrar de manera din�ica |
|
self.grid_1.CreateGrid(0, 5) |
|
self.grid_3.CreateGrid(0, 4) |
|
self.grid_2.CreateGrid(0, 5) |
|
attr=wx.grid.GridCellAttr() |
|
attr.SetReadOnly(True) |
|
self.grid_1.SetColAttr(0,attr) |
|
self.grid_1.SetColLabelValue(0, _("Servicio")) |
|
self.grid_1.SetColLabelValue(1, _("Limite Diario")) |
|
self.grid_1.SetColLabelValue(2, _("Limite Semanal")) |
|
self.grid_1.SetColLabelValue(3, _("Limite Mensual")) |
|
self.grid_1.SetColLabelValue(4, _("Servicio sin limites")) |
|
self.grid_1.AutoSize() |
|
|
|
attr2=wx.grid.GridCellAttr() |
|
attr2.SetReadOnly(True) |
|
self.grid_3.SetColAttr(0,attr2) |
|
self.grid_3.SetColLabelValue(0, _("Servicio")) |
|
self.grid_3.SetColLabelValue(1, _("Total Diario")) |
|
self.grid_3.SetColLabelValue(2, _("Total Semanal")) |
|
self.grid_3.SetColLabelValue(3, _("Total Mensual")) |
|
self.grid_3.AutoSize() |
|
|
|
attr3=wx.grid.GridCellAttr() |
|
attr3.SetReadOnly(True) |
|
self.grid_2.SetColAttr(0,attr3) |
|
self.grid_2.SetColLabelValue(0, _("Servicio")) |
|
self.grid_2.SetColLabelValue(1, _("Hora")) |
|
self.grid_2.SetColLabelValue(2, _("Dia")) |
|
self.grid_2.SetColLabelValue(3, _("Mes")) |
|
self.grid_2.SetColLabelValue(4, _("Anno")) |
|
|
|
lista_srv=servicios()[0] |
|
items=len(lista_srv) |
|
self.grid_1.AppendRows(items) |
|
self.grid_3.AppendRows(items) |
|
self.grid_2.AppendRows(items) |
|
year=int(fecha()[-4:]) |
|
|
|
for i in range(items): |
|
self.grid_1.SetCellValue(i,0,lista_srv[i]) |
|
self.grid_1.SetCellEditor(i,4,wx.grid.GridCellBoolEditor()) |
|
self.grid_1.SetCellRenderer(i,4,wx.grid.GridCellBoolRenderer()) |
|
self.grid_2.SetCellValue(i,0,lista_srv[i]) |
|
self.grid_2.SetCellEditor(i,2,wx.grid.GridCellNumberEditor(1,31)) |
|
self.grid_2.SetCellEditor(i,3,wx.grid.GridCellNumberEditor(1,12)) |
|
self.grid_2.SetCellEditor(i,4,wx.grid.GridCellNumberEditor(year,year+5)) |
|
self.grid_3.SetCellValue(i,0,lista_srv[i]) |
|
|
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/fondo_junta.gif", wx.BITMAP_TYPE_ANY)) |
|
self.SetIcon(_icon) |
|
self.Centre |
|
# end wxGlade |
|
|
|
def __do_layout(self): |
|
# begin wxGlade: MyChild1.__do_layout |
|
sizer_3 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_4 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_18 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_22 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_34 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_23 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_24 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_32 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_33 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_30 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_31 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_28 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_29 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_25 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_26 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_27 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_19 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_20 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_21 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_13 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_14 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_15 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_16 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_17 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_9 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_66 = wx.BoxSizer(wx.HORIZONTAL) |
|
grid_sizer_1 = wx.GridSizer(4, 2, 0, 0) |
|
sizer_5 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_6 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_41 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_7 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_8 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_5.Add((20, 20), 0, 0, 0) |
|
sizer_6.Add((20, 20), 0, 0, 0) |
|
sizer_6.Add(self.combo_box_1, 0, wx.EXPAND|wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_6.Add((20, 20), 1, 0, 0) |
|
sizer_41.Add(self.label_15, 0, 0, 0) |
|
sizer_41.Add((20, 20), 0, 0, 0) |
|
sizer_41.Add(self.text_ctrl_1, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_41.Add((20, 20), 0, 0, 0) |
|
sizer_41.Add(self.bitmap_button_1_copy, 0, 0, 0) |
|
sizer_6.Add(sizer_41, 0, wx.EXPAND, 0) |
|
sizer_8.Add(self.button_1, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_8.Add((40, 10), 1, 0, 0) |
|
sizer_8.Add(self.button_2, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_7.Add(sizer_8, 1, wx.EXPAND, 0) |
|
sizer_7.Add((20, 20), 0, 0, 0) |
|
sizer_6.Add(sizer_7, 1, wx.EXPAND, 0) |
|
sizer_6.Add((20, 20), 1, 0, 0) |
|
sizer_5.Add(sizer_6, 1, wx.EXPAND, 0) |
|
sizer_5.Add((20, 20), 0, 0, 0) |
|
sizer_4.Add(sizer_5, 0, wx.EXPAND, 0) |
|
sizer_1 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_11_copy_copy_1_copy_6 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_11_copy_copy_1_copy_5 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_11_copy_copy_1_copy_4 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_11_copy_copy_1_copy_3 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_11_copy_copy_1_copy_2 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_11_copy_copy_1_copy_1 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_11_copy_copy_1 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_11_copy_copy_1_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_11_copy_copy_1_copy.Add(self.label_2, 1, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add(self.label_3, 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 0, wx.ALL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((10, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add(self.label_40, 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_9.Add(sizer_11_copy_copy_1_copy, 0, wx.EXPAND, 0) |
|
sizer_9.Add(self.static_line_1, 0, wx.EXPAND, 0) |
|
sizer_11_copy_copy_1.Add(self.label_4, 1, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add(self.checkbox_1, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add((10, 20), 1, wx.ALL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add(self.label_55, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add(self.spin_ctrl_1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add(self.label_6, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add(self.spin_ctrl_2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add((10, 20), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add(self.label_7, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add((10, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add(self.spin_ctrl_3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add(self.label_8, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add(self.spin_ctrl_4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_9.Add(sizer_11_copy_copy_1, 1, wx.EXPAND, 0) |
|
sizer_11_copy_copy_1_copy_1.Add(self.label_4_copy_1, 1, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add(self.checkbox_1_copy, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add((10, 20), 1, wx.ALL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add(self.label_5_copy, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add(self.spin_ctrl_1_copy, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add(self.label_6_copy, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add(self.spin_ctrl_2_copy, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add((10, 20), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add(self.label_7_copy, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add((10, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add(self.spin_ctrl_3_copy, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add(self.label_8_copy, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add(self.spin_ctrl_4_copy, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_1.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_9.Add(sizer_11_copy_copy_1_copy_1, 1, wx.EXPAND, 0) |
|
sizer_11_copy_copy_1_copy_2.Add(self.label_4_copy_2, 1, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add(self.checkbox_1_copy_1, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add((10, 20), 1, wx.ALL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add(self.label_5_copy_1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add(self.spin_ctrl_1_copy_1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add(self.label_6_copy_1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add(self.spin_ctrl_2_copy_1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add((10, 20), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add(self.label_7_copy_1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add((10, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add(self.spin_ctrl_3_copy_1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add(self.label_8_copy_1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add(self.spin_ctrl_4_copy_1, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_2.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_9.Add(sizer_11_copy_copy_1_copy_2, 1, wx.EXPAND, 0) |
|
sizer_11_copy_copy_1_copy_3.Add(self.label_4_copy_3, 1, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add(self.checkbox_1_copy_2, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add((10, 20), 1, wx.ALL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add(self.label_5_copy_2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add(self.spin_ctrl_1_copy_2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add(self.label_6_copy_2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add(self.spin_ctrl_2_copy_2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add((10, 20), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add(self.label_7_copy_2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add((10, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add(self.spin_ctrl_3_copy_2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add(self.label_8_copy_2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add(self.spin_ctrl_4_copy_2, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_3.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_9.Add(sizer_11_copy_copy_1_copy_3, 1, wx.EXPAND, 0) |
|
sizer_11_copy_copy_1_copy_4.Add(self.label_4_copy_4, 1, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add(self.checkbox_1_copy_3, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add((10, 20), 1, wx.ALL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add(self.label_5_copy_3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add(self.spin_ctrl_1_copy_3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add(self.label_6_copy_3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add(self.spin_ctrl_2_copy_3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add((10, 20), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add(self.label_7_copy_3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add((10, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add(self.spin_ctrl_3_copy_3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add(self.label_8_copy_3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add(self.spin_ctrl_4_copy_3, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_4.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_9.Add(sizer_11_copy_copy_1_copy_4, 1, wx.EXPAND, 0) |
|
sizer_11_copy_copy_1_copy_5.Add(self.label_4_copy_5, 1, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add(self.checkbox_1_copy_4, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add((10, 20), 1, wx.ALL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add(self.label_5_copy_4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add(self.spin_ctrl_1_copy_4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add(self.label_6_copy_4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add(self.spin_ctrl_2_copy_4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add((10, 20), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add(self.label_7_copy_4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add((10, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add(self.spin_ctrl_3_copy_4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add(self.label_8_copy_4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add(self.spin_ctrl_4_copy_4, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_5.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_9.Add(sizer_11_copy_copy_1_copy_5, 1, wx.EXPAND, 0) |
|
sizer_11_copy_copy_1_copy_6.Add(self.label_4_copy_6, 1, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add(self.checkbox_1_copy_5, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add((10, 20), 1, wx.ALL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add(self.label_5_copy_5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add(self.spin_ctrl_1_copy_5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add(self.label_6_copy_5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add(self.spin_ctrl_2_copy_5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add((10, 20), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add(self.label_7_copy_5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add((10, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add(self.spin_ctrl_3_copy_5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add(self.label_8_copy_5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add(self.spin_ctrl_4_copy_5, 0, wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy_copy_1_copy_6.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_9.Add(sizer_11_copy_copy_1_copy_6, 1, wx.EXPAND, 0) |
|
sizer_9.Add((20, 20), 0, wx.ADJUST_MINSIZE, 0) |
|
self.notebook_1_pane_1.SetAutoLayout(True) |
|
self.notebook_1_pane_1.SetSizer(sizer_9) |
|
sizer_9.Fit(self.notebook_1_pane_1) |
|
sizer_9.SetSizeHints(self.notebook_1_pane_1) |
|
sizer_1.Add(self.notebook_1, 1, wx.EXPAND, 0) |
|
self.SetAutoLayout(True) |
|
self.SetSizer(sizer_1) |
|
sizer_1.Fit(self) |
|
sizer_1.SetSizeHints(self) |
|
sizer_14.Add((20, 20), 0, 0, 0) |
|
sizer_15.Add((20, 20), 0, 0, 0) |
|
sizer_17.Add(self.label_5, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_17.Add((20, 20), 0, 0, 0) |
|
sizer_17.Add(self.choice_1, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_17.Add((20, 20), 1, 0, 0) |
|
sizer_17.Add(self.button_3, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_17.Add((20, 20), 0, 0, 0) |
|
sizer_16.Add(sizer_17, 1, wx.EXPAND, 0) |
|
sizer_15.Add(sizer_16, 1, wx.EXPAND, 0) |
|
sizer_15.Add((20, 20), 0, 0, 0) |
|
sizer_14.Add(sizer_15, 1, wx.EXPAND, 0) |
|
sizer_14.Add((20, 20), 0, 0, 0) |
|
sizer_13.Add(sizer_14, 0, wx.EXPAND, 0) |
|
sizer_13.Add(self.grid_1, 1, wx.EXPAND, 0) |
|
self.notebook_1_pane_2.SetAutoLayout(True) |
|
self.notebook_1_pane_2.SetSizer(sizer_13) |
|
sizer_13.Fit(self.notebook_1_pane_2) |
|
sizer_13.SetSizeHints(self.notebook_1_pane_2) |
|
sizer_18.Add(self.grid_2, 1, wx.EXPAND, 0) |
|
self.notebook_1_pane_3.SetAutoLayout(True) |
|
self.notebook_1_pane_3.SetSizer(sizer_18) |
|
sizer_66.Add(self.grid_3, 1, wx.EXPAND, 0) |
|
self.notebook_1_pane_4.SetAutoLayout(True) |
|
self.notebook_1_pane_4.SetSizer(sizer_66) |
|
sizer_18.Fit(self.notebook_1_pane_3) |
|
sizer_18.SetSizeHints(self.notebook_1_pane_3) |
|
self.notebook_1.AddPage(self.notebook_1_pane_1, _("Uso del pc")) |
|
self.notebook_1.AddPage(self.notebook_1_pane_2, _("Servicios")) |
|
self.notebook_1.AddPage(self.notebook_1_pane_4, _("Consumido")) |
|
self.notebook_1.AddPage(self.notebook_1_pane_3, _("Prorrogas")) |
|
|
|
# Esto es necesario para evitar un warning, a veces incluso un error mas grave |
|
# segun la version de la libreria que haya instalada en el sistema |
|
vers= wx.VERSION[0:2] |
|
if vers[0]<=2 and vers[1]<=4: |
|
sizer_4.Add(wx.NotebookSizer(self.notebook_1), 1, wx.EXPAND, 0) |
|
else: |
|
sizer_4.Add(self.notebook_1, 1, wx.EXPAND, 0) |
|
|
|
sizer_3.Add(sizer_4, 1, wx.EXPAND, 0) |
|
self.SetAutoLayout(True) |
|
self.SetSizer(sizer_3) |
|
sizer_3.Fit(self) |
|
sizer_3.SetSizeHints(self) |
|
self.Layout() |
|
self.control() |
|
# end wxGlade |
|
|
|
# Borra el contenido de las tablas |
|
def activar(self,a,b,c,d,e,f,g): |
|
|
|
self.spin_ctrl_1.Enable(a) |
|
self.spin_ctrl_2.Enable(a) |
|
self.spin_ctrl_3.Enable(a) |
|
self.spin_ctrl_4.Enable(a) |
|
self.spin_ctrl_1_copy.Enable(b) |
|
self.spin_ctrl_2_copy.Enable(b) |
|
self.spin_ctrl_3_copy.Enable(b) |
|
self.spin_ctrl_4_copy.Enable(b) |
|
self.spin_ctrl_1_copy_1.Enable(c) |
|
self.spin_ctrl_2_copy_1.Enable(c) |
|
self.spin_ctrl_3_copy_1.Enable(c) |
|
self.spin_ctrl_4_copy_1.Enable(c) |
|
self.spin_ctrl_1_copy_2.Enable(d) |
|
self.spin_ctrl_2_copy_2.Enable(d) |
|
self.spin_ctrl_3_copy_2.Enable(d) |
|
self.spin_ctrl_4_copy_2.Enable(d) |
|
self.spin_ctrl_1_copy_3.Enable(e) |
|
self.spin_ctrl_2_copy_3.Enable(e) |
|
self.spin_ctrl_3_copy_3.Enable(e) |
|
self.spin_ctrl_4_copy_3.Enable(e) |
|
self.spin_ctrl_1_copy_4.Enable(f) |
|
self.spin_ctrl_2_copy_4.Enable(f) |
|
self.spin_ctrl_3_copy_4.Enable(f) |
|
self.spin_ctrl_4_copy_4.Enable(f) |
|
self.spin_ctrl_1_copy_5.Enable(g) |
|
self.spin_ctrl_2_copy_5.Enable(g) |
|
self.spin_ctrl_3_copy_5.Enable(g) |
|
self.spin_ctrl_4_copy_5.Enable(g) |
|
|
|
if a==0: |
|
self.spin_ctrl_1.SetValue(0) |
|
self.spin_ctrl_2.SetValue(0) |
|
self.spin_ctrl_3.SetValue(0) |
|
self.spin_ctrl_4.SetValue(0) |
|
if b==0: |
|
self.spin_ctrl_1_copy.SetValue(0) |
|
self.spin_ctrl_2_copy.SetValue(0) |
|
self.spin_ctrl_3_copy.SetValue(0) |
|
self.spin_ctrl_4_copy.SetValue(0) |
|
if c==0: |
|
self.spin_ctrl_1_copy_1.SetValue(0) |
|
self.spin_ctrl_2_copy_1.SetValue(0) |
|
self.spin_ctrl_3_copy_1.SetValue(0) |
|
self.spin_ctrl_4_copy_1.SetValue(0) |
|
if d==0: |
|
self.spin_ctrl_1_copy_2.SetValue(0) |
|
self.spin_ctrl_2_copy_2.SetValue(0) |
|
self.spin_ctrl_3_copy_2.SetValue(0) |
|
self.spin_ctrl_4_copy_2.SetValue(0) |
|
if e==0: |
|
self.spin_ctrl_1_copy_3.SetValue(0) |
|
self.spin_ctrl_2_copy_3.SetValue(0) |
|
self.spin_ctrl_3_copy_3.SetValue(0) |
|
self.spin_ctrl_4_copy_3.SetValue(0) |
|
if f==0: |
|
self.spin_ctrl_1_copy_4.SetValue(0) |
|
self.spin_ctrl_2_copy_4.SetValue(0) |
|
self.spin_ctrl_3_copy_4.SetValue(0) |
|
self.spin_ctrl_4_copy_4.SetValue(0) |
|
if g==0: |
|
self.spin_ctrl_1_copy_5.SetValue(0) |
|
self.spin_ctrl_2_copy_5.SetValue(0) |
|
self.spin_ctrl_3_copy_5.SetValue(0) |
|
self.spin_ctrl_4_copy_5.SetValue(0) |
|
|
|
def estado(self,event): |
|
id=event.GetId() |
|
rango=self.checkbox_1.GetValue() |
|
rango_copy=self.checkbox_1_copy.GetValue() |
|
rango_copy_1=self.checkbox_1_copy_1.GetValue() |
|
rango_copy_2=self.checkbox_1_copy_2.GetValue() |
|
rango_copy_3=self.checkbox_1_copy_3.GetValue() |
|
rango_copy_4=self.checkbox_1_copy_4.GetValue() |
|
rango_copy_5=self.checkbox_1_copy_5.GetValue() |
|
|
|
if id==self.checkbox_1.GetId(): |
|
self.spin_ctrl_1.SetValue(0) |
|
self.spin_ctrl_2.SetValue(0) |
|
self.spin_ctrl_3.SetValue(23) |
|
self.spin_ctrl_4.SetValue(59) |
|
elif id==self.checkbox_1_copy.GetId(): |
|
self.spin_ctrl_1_copy.SetValue(0) |
|
self.spin_ctrl_2_copy.SetValue(0) |
|
self.spin_ctrl_3_copy.SetValue(23) |
|
self.spin_ctrl_4_copy.SetValue(59) |
|
elif id==self.checkbox_1_copy_1.GetId(): |
|
self.spin_ctrl_1_copy_1.SetValue(0) |
|
self.spin_ctrl_2_copy_1.SetValue(0) |
|
self.spin_ctrl_3_copy_1.SetValue(23) |
|
self.spin_ctrl_4_copy_1.SetValue(59) |
|
elif id==self.checkbox_1_copy_2.GetId(): |
|
self.spin_ctrl_1_copy_2.SetValue(0) |
|
self.spin_ctrl_2_copy_2.SetValue(0) |
|
self.spin_ctrl_3_copy_2.SetValue(23) |
|
self.spin_ctrl_4_copy_2.SetValue(59) |
|
elif id==self.checkbox_1_copy_3.GetId(): |
|
self.spin_ctrl_1_copy_3.SetValue(0) |
|
self.spin_ctrl_2_copy_3.SetValue(0) |
|
self.spin_ctrl_3_copy_3.SetValue(23) |
|
self.spin_ctrl_4_copy_3.SetValue(59) |
|
elif id==self.checkbox_1_copy_4.GetId(): |
|
self.spin_ctrl_1_copy_4.SetValue(0) |
|
self.spin_ctrl_2_copy_4.SetValue(0) |
|
self.spin_ctrl_3_copy_4.SetValue(23) |
|
self.spin_ctrl_4_copy_4.SetValue(59) |
|
elif id==self.checkbox_1_copy_5.GetId(): |
|
self.spin_ctrl_1_copy_5.SetValue(0) |
|
self.spin_ctrl_2_copy_5.SetValue(0) |
|
self.spin_ctrl_3_copy_5.SetValue(23) |
|
self.spin_ctrl_4_copy_5.SetValue(59) |
|
|
|
self.activar(rango,rango_copy,rango_copy_1,rango_copy_2,rango_copy_3,rango_copy_4,rango_copy_5) |
|
|
|
|
|
def limpia(self,evt): |
|
if self.grid_1.IsEnabled(): |
|
columnas=self.grid_1.GetNumberRows() |
|
for i in range(columnas): |
|
self.grid_1.SetCellValue(i,1,'') |
|
self.grid_1.SetCellValue(i,2,'') |
|
self.grid_1.SetCellValue(i,3,'') |
|
self.grid_1.SetCellValue(i,4,'0') |
|
|
|
# Comprueba si es un usuario con limitaciones o no |
|
def control(self): |
|
columnas=self.grid_1.GetNumberRows() |
|
todos=True |
|
for i in range(columnas): |
|
if self.grid_1.GetCellValue(i,4)=="0": |
|
todos=False |
|
if todos: |
|
self.choice_1.SetSelection(1) |
|
self.deshabilita() |
|
|
|
# Si el usuario no tiene limites deshabilita la edicion de estos |
|
# en caso contrario permite que se editen y rellena los campos |
|
def limit(self,event): |
|
if self.choice_1.GetSelection(): |
|
self.all=True |
|
self.deshabilita() |
|
|
|
else: |
|
self.all=False |
|
self.habilita() |
|
if self.combo_box_1.GetValue()!='': |
|
self.rellena() |
|
self.grid_1.SetCellValue(0,4,"1") |
|
|
|
# Deja las tablas a 0 e impide su edicion |
|
def deshabilita(self): |
|
self.grid_1.Enable(False) |
|
self.grid_2.Enable(False) |
|
self.grid_3.Enable(False) |
|
for i in range(self.grid_1.GetNumberRows()): |
|
self.grid_1.SetCellValue(i,1,"") |
|
self.grid_1.SetCellValue(i,2,"") |
|
self.grid_1.SetCellValue(i,3,"") |
|
self.grid_2.SetCellValue(i,1,"") |
|
self.grid_2.SetCellValue(i,2,"") |
|
self.grid_2.SetCellValue(i,3,"") |
|
self.grid_2.SetCellValue(i,4,"") |
|
self.grid_3.SetCellValue(i,1,"") |
|
self.grid_3.SetCellValue(i,2,"") |
|
self.grid_3.SetCellValue(i,3,"") |
|
|
|
# Permite la edicion de las tablas |
|
def habilita(self): |
|
self.grid_1.Enable(True) |
|
self.grid_2.Enable(True) |
|
self.grid_3.Enable(True) |
|
|
|
# Funcion que llama a rellena ante un evento |
|
def recarga (self,event): |
|
self.all=tod_serv(self.combo_box_1.GetValue()) |
|
if self.combo_box_1.GetValue()!='': |
|
self.rellena() |
|
|
|
# Funcion que lee el archivo de configuracion y rellena los valores necesarios en la interfaz grafica |
|
def rellena(self): |
|
self.checkbox_1.SetValue(False) |
|
self.checkbox_1_copy.SetValue(False) |
|
self.checkbox_1_copy_1.SetValue(False) |
|
self.checkbox_1_copy_2.SetValue(False) |
|
self.checkbox_1_copy_3.SetValue(False) |
|
self.checkbox_1_copy_4.SetValue(False) |
|
self.checkbox_1_copy_5.SetValue(False) |
|
|
|
us=self.combo_box_1.GetValue() |
|
if self.all: |
|
self.choice_1.SetSelection(1) |
|
self.deshabilita() |
|
else: |
|
self.choice_1.SetSelection(0) |
|
self.habilita() |
|
|
|
a=usr_srv(us) |
|
inicios,fines,dias=uso_pc(us) |
|
semana={0:0,1:0,2:0,3:0,4:0,5:0,6:0} |
|
items=len(dias) |
|
for i in range(items): |
|
hora_inicio=inicios[i][:2] |
|
minuto_inicio=inicios[i][2:] |
|
hora_fin=fines[i][:2] |
|
minuto_fin=fines[i][2:] |
|
dia=dias[i] |
|
|
|
if dia=='Mo': |
|
self.checkbox_1.SetValue(True) |
|
self.spin_ctrl_1.SetValue(int(hora_inicio)) |
|
self.spin_ctrl_2.SetValue(int(minuto_inicio)) |
|
self.spin_ctrl_3.SetValue(int(hora_fin)) |
|
self.spin_ctrl_4.SetValue(int(minuto_fin)) |
|
semana[0]=1 |
|
elif dia=='Tu': |
|
self.checkbox_1_copy.SetValue(True) |
|
self.spin_ctrl_1_copy.SetValue(int(hora_inicio)) |
|
self.spin_ctrl_2_copy.SetValue(int(minuto_inicio)) |
|
self.spin_ctrl_3_copy.SetValue(int(hora_fin)) |
|
self.spin_ctrl_4_copy.SetValue(int(minuto_fin)) |
|
semana[1]=1 |
|
elif dia=='We': |
|
self.checkbox_1_copy_1.SetValue(True) |
|
self.spin_ctrl_1_copy_1.SetValue(int(hora_inicio)) |
|
self.spin_ctrl_2_copy_1.SetValue(int(minuto_inicio)) |
|
self.spin_ctrl_3_copy_1.SetValue(int(hora_fin)) |
|
self.spin_ctrl_4_copy_1.SetValue(int(minuto_fin)) |
|
semana[2]=1 |
|
elif dia=='Th': |
|
self.checkbox_1_copy_2.SetValue(True) |
|
self.spin_ctrl_1_copy_2.SetValue(int(hora_inicio)) |
|
self.spin_ctrl_2_copy_2.SetValue(int(minuto_inicio)) |
|
self.spin_ctrl_3_copy_2.SetValue(int(hora_fin)) |
|
self.spin_ctrl_4_copy_2.SetValue(int(minuto_fin)) |
|
semana[3]=1 |
|
elif dia=='Fr': |
|
self.checkbox_1_copy_3.SetValue(True) |
|
self.spin_ctrl_1_copy_3.SetValue(int(hora_inicio)) |
|
self.spin_ctrl_2_copy_3.SetValue(int(minuto_inicio)) |
|
self.spin_ctrl_3_copy_3.SetValue(int(hora_fin)) |
|
self.spin_ctrl_4_copy_3.SetValue(int(minuto_fin)) |
|
semana[4]=1 |
|
elif dia=='Sa': |
|
self.checkbox_1_copy_4.SetValue(True) |
|
self.spin_ctrl_1_copy_4.SetValue(int(hora_inicio)) |
|
self.spin_ctrl_2_copy_4.SetValue(int(minuto_inicio)) |
|
self.spin_ctrl_3_copy_4.SetValue(int(hora_fin)) |
|
self.spin_ctrl_4_copy_4.SetValue(int(minuto_fin)) |
|
semana[5]=1 |
|
elif dia=='Su': |
|
self.checkbox_1_copy_5.SetValue(True) |
|
self.spin_ctrl_1_copy_5.SetValue(int(hora_inicio)) |
|
self.spin_ctrl_2_copy_5.SetValue(int(minuto_inicio)) |
|
self.spin_ctrl_3_copy_5.SetValue(int(hora_fin)) |
|
self.spin_ctrl_4_copy_5.SetValue(int(minuto_fin)) |
|
semana[6]=1 |
|
|
|
self.activar(semana[0],semana[1],semana[2],semana[3],semana[4],semana[5],semana[6]) |
|
|
|
dic_srv=serv_user(us) |
|
columnas=self.grid_1.GetNumberRows() |
|
|
|
for i in range(columnas): |
|
ser=str(self.grid_1.GetCellValue(i,0)) |
|
if self.all: |
|
tiempos=['1'] |
|
else: |
|
tiempos=dic_srv.get(us+"+"+ser) |
|
|
|
if tiempos: |
|
if tiempos[0]=='1': |
|
self.grid_1.SetCellValue(i,1,"") |
|
self.grid_1.SetCellValue(i,2,"") |
|
self.grid_1.SetCellValue(i,3,"") |
|
self.grid_1.SetCellValue(i,4,"1") |
|
self.grid_3.SetCellValue(i,1,"") |
|
self.grid_3.SetCellValue(i,2,"") |
|
self.grid_3.SetCellValue(i,3,"") |
|
self.grid_2.SetCellValue(i,1,"") |
|
self.grid_2.SetCellValue(i,2,"") |
|
self.grid_2.SetCellValue(i,3,"") |
|
self.grid_2.SetCellValue(i,4,"") |
|
else: |
|
self.grid_1.SetCellValue(i,1,tiempos[0]) |
|
self.grid_1.SetCellValue(i,2,tiempos[1]) |
|
self.grid_1.SetCellValue(i,3,tiempos[2]) |
|
self.grid_1.SetCellValue(i,4,"0") |
|
self.grid_3.SetCellValue(i,1,tiempos[3]) |
|
self.grid_3.SetCellValue(i,2,tiempos[4]) |
|
self.grid_3.SetCellValue(i,3,tiempos[5]) |
|
hora_pr=tiempos[6].split()[0] |
|
pr=tiempos[6].split()[1].split("/") |
|
dia_pr=pr[0] |
|
mes_pr=pr[1] |
|
anno_pr=pr[2] |
|
f_act=a=fecha().split()[3:] |
|
del f_act[1:3] |
|
if int(anno_pr+mes_pr+dia_pr)>=int(f_act[2]+f_act[1]+f_act[0]): |
|
self.grid_2.SetCellValue(i,1,hora_pr) |
|
self.grid_2.SetCellValue(i,2,dia_pr) |
|
self.grid_2.SetCellValue(i,3,mes_pr) |
|
self.grid_2.SetCellValue(i,4,anno_pr) |
|
else: |
|
self.grid_1.SetCellValue(i,1,"") |
|
self.grid_1.SetCellValue(i,2,"") |
|
self.grid_1.SetCellValue(i,3,"") |
|
if i==0 and dic_srv=={}: |
|
self.grid_1.SetCellValue(i,4,"1") |
|
else: |
|
self.grid_1.SetCellValue(i,4,"0") |
|
self.grid_3.SetCellValue(i,1,"") |
|
self.grid_3.SetCellValue(i,2,"") |
|
self.grid_3.SetCellValue(i,3,"") |
|
self.grid_2.SetCellValue(i,1,"") |
|
self.grid_2.SetCellValue(i,2,"") |
|
self.grid_2.SetCellValue(i,3,"") |
|
self.grid_2.SetCellValue(i,4,"") |
|
|
|
|
|
# Valida que la entrada en la casilla uid sea numerica |
|
def uid_min(self): |
|
numeros={"0":True, "1":1, "2":2, "3":3, "4":4, "5":5 ,"6":6, "7":7,"8":8,"9":9} |
|
posicion=self.text_ctrl_1.GetLineText(0) |
|
for i in posicion : |
|
if not numeros.get(i): |
|
return False |
|
return posicion |
|
|
|
# Lee los usuarios del sistema en /etc/passwd y crea una lista con ellos para mostrarlos |
|
def rellena_usuarios (self): |
|
uid.min=self.uid_min() |
|
|
|
self.combo_box_1.Clear() |
|
|
|
tmp_us=lista_usuarios(int(uid.min)) |
|
for i in tmp_us: |
|
self.combo_box_1.Append(i) |
|
|
|
|
|
# funcion que llama a rellena_usuarios ante un evento |
|
def refresca_lista(self ,event): |
|
self.rellena_usuarios() |
|
self.rellena() |
|
|
|
def acepta(self,evt): |
|
self.grid_1.SaveEditControlValue() |
|
self.grid_2.SaveEditControlValue() |
|
self.grid_3.SaveEditControlValue() |
|
if self.finaliza : |
|
self.aceptar(evt) |
|
|
|
# Graba los cambios que se han realizado en el archivo de configuracion |
|
def aceptar( self, evt): |
|
from func import control_web_user |
|
from confSquid import lee_userblacklists, actualiza_userblacklists |
|
from inicSquid import inic_squid_user |
|
|
|
def formato_hora(horas,minutos): |
|
horas=str(horas) |
|
minutos=str(minutos) |
|
if len(horas)==1: |
|
horas="0"+horas |
|
if len(minutos)==1: |
|
minutos="0"+minutos |
|
return horas+minutos |
|
|
|
usuario=self.combo_box_1.GetValue() |
|
num_filas=self.grid_1.GetNumberRows() |
|
listas_squid=lee_userblacklists(usuario,archivo.configuracion) |
|
dias="" |
|
nodias=[] |
|
if self.checkbox_1.IsChecked(): |
|
i1=self.spin_ctrl_1.GetValue() |
|
i2=self.spin_ctrl_2.GetValue() |
|
f1=self.spin_ctrl_3.GetValue() |
|
f2=self.spin_ctrl_4.GetValue() |
|
if (i1>f1) or (i1==f1 and i2>=f2): |
|
nodias.append("Lunes") |
|
else: |
|
d="Mo" |
|
inicio=formato_hora(self.spin_ctrl_1.GetValue(),self.spin_ctrl_2.GetValue()) |
|
fin=formato_hora(self.spin_ctrl_3.GetValue(),self.spin_ctrl_4.GetValue()) |
|
dias=dias+d+inicio+"-"+fin |
|
if self.checkbox_1_copy.IsChecked(): |
|
i1=self.spin_ctrl_1_copy.GetValue() |
|
i2=self.spin_ctrl_2_copy.GetValue() |
|
f1=self.spin_ctrl_3_copy.GetValue() |
|
f2=self.spin_ctrl_4_copy.GetValue() |
|
if (i1>f1) or (i1==f1 and i2>=f2): |
|
nodias.append("Martes") |
|
else: |
|
d="Tu" |
|
inicio=formato_hora(self.spin_ctrl_1_copy.GetValue(),self.spin_ctrl_2_copy.GetValue()) |
|
fin=formato_hora(self.spin_ctrl_3_copy.GetValue(),self.spin_ctrl_4_copy.GetValue()) |
|
dias=dias+d+inicio+"-"+fin |
|
if self.checkbox_1_copy_1.IsChecked(): |
|
i1=self.spin_ctrl_1_copy_1.GetValue() |
|
i2=self.spin_ctrl_2_copy_1.GetValue() |
|
f1=self.spin_ctrl_3_copy_1.GetValue() |
|
f2=self.spin_ctrl_4_copy_1.GetValue() |
|
if (i1>f1) or (i1==f1 and i2>=f2): |
|
nodias.append("Miercoles") |
|
else: |
|
d="We" |
|
inicio=formato_hora(self.spin_ctrl_1_copy_1.GetValue(),self.spin_ctrl_2_copy_1.GetValue()) |
|
fin=formato_hora(self.spin_ctrl_3_copy_1.GetValue(),self.spin_ctrl_4_copy_1.GetValue()) |
|
dias=dias+d+inicio+"-"+fin |
|
if self.checkbox_1_copy_2.IsChecked(): |
|
i1=self.spin_ctrl_1_copy_2.GetValue() |
|
i2=self.spin_ctrl_2_copy_2.GetValue() |
|
f1=self.spin_ctrl_3_copy_2.GetValue() |
|
f2=self.spin_ctrl_4_copy_2.GetValue() |
|
if (i1>f1) or (i1==f1 and i2>=f2): |
|
nodias.append("Jueves") |
|
else: |
|
d="Th" |
|
inicio=formato_hora(self.spin_ctrl_1_copy_2.GetValue(),self.spin_ctrl_2_copy_2.GetValue()) |
|
fin=formato_hora(self.spin_ctrl_3_copy_2.GetValue(),self.spin_ctrl_4_copy_2.GetValue()) |
|
dias=dias+d+inicio+"-"+fin |
|
if self.checkbox_1_copy_3.IsChecked(): |
|
i1=self.spin_ctrl_1_copy_3.GetValue() |
|
i2=self.spin_ctrl_2_copy_3.GetValue() |
|
f1=self.spin_ctrl_3_copy_3.GetValue() |
|
f2=self.spin_ctrl_4_copy_3.GetValue() |
|
if (i1>f1) or (i1==f1 and i2>=f2): |
|
nodias.append("Viernes") |
|
else: |
|
d="Fr" |
|
inicio=formato_hora(self.spin_ctrl_1_copy_3.GetValue(),self.spin_ctrl_2_copy_3.GetValue()) |
|
fin=formato_hora(self.spin_ctrl_3_copy_3.GetValue(),self.spin_ctrl_4_copy_3.GetValue()) |
|
dias=dias+d+inicio+"-"+fin |
|
if self.checkbox_1_copy_4.IsChecked(): |
|
i1=self.spin_ctrl_1_copy_4.GetValue() |
|
i2=self.spin_ctrl_2_copy_4.GetValue() |
|
f1=self.spin_ctrl_3_copy_4.GetValue() |
|
f2=self.spin_ctrl_4_copy_4.GetValue() |
|
if (i1>f1) or (i1==f1 and i2>=f2): |
|
nodias.append("Sabado") |
|
else: |
|
d="Sa" |
|
inicio=formato_hora(self.spin_ctrl_1_copy_4.GetValue(),self.spin_ctrl_2_copy_4.GetValue()) |
|
fin=formato_hora(self.spin_ctrl_3_copy_4.GetValue(),self.spin_ctrl_4_copy_4.GetValue()) |
|
dias=dias+d+inicio+"-"+fin |
|
if self.checkbox_1_copy_5.IsChecked(): |
|
i1=self.spin_ctrl_1_copy_5.GetValue() |
|
i2=self.spin_ctrl_2_copy_5.GetValue() |
|
f1=self.spin_ctrl_3_copy_5.GetValue() |
|
f2=self.spin_ctrl_4_copy_5.GetValue() |
|
if (i1>f1) or (i1==f1 and i2>=f2): |
|
nodias.append("Domingo") |
|
else: |
|
d="Su" |
|
inicio=formato_hora(self.spin_ctrl_1_copy_5.GetValue(),self.spin_ctrl_2_copy_5.GetValue()) |
|
fin=formato_hora(self.spin_ctrl_3_copy_5.GetValue(),self.spin_ctrl_4_copy_5.GetValue()) |
|
dias=dias+d+inicio+"-"+fin |
|
|
|
guarda_config=True |
|
if dias=="": |
|
msg=" "+_("El horario definido para")+" '"+usuario+"' "+_("no es valido")+"\n"+_(" Revise la configuracion.") |
|
dlg = wx.MessageDialog(self, msg, |
|
_('Configuracion no valida'), wx.OK | wx.ICON_EXCLAMATION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
dlg.Destroy() |
|
guarda_config=False |
|
else: |
|
if len(nodias)>0: |
|
if len(nodias)==1: |
|
cad_msg='el '+nodias[0] |
|
fin_dlg=_("Este dia el acceso quedaria inhabilitado.") |
|
else: |
|
cad_msg="" |
|
for i in range(len(nodias)-1): |
|
cad_msg=cad_msg+nodias[i]+" " |
|
cad_msg=cad_msg+"y "+nodias[len(nodias)-1] |
|
fin_dlg=_("Estos dias el acceso quedaria inhabilitado.") |
|
msg_dlg=_(" El horario seleccionado para")+" "+cad_msg+" "+_("no es valido")+"\n "+fin_dlg+"\n\n"+_(" Desea guadar la configuracion de todos modos ?") |
|
dlg = wx.MessageDialog(self, msg_dlg, _('Aviso ACEPT'), wx.YES_NO | wx.ICON_QUESTION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
if dlg.ShowModal()==wx.ID_NO: |
|
guarda_config=False |
|
|
|
dlg.Destroy() |
|
|
|
if guarda_config: |
|
tabla=[] |
|
for i in range(9): |
|
tabla.append([]) |
|
|
|
for i in range(num_filas): |
|
|
|
nom_serv=self.grid_1.GetCellValue(i,0) #nombre del servicio |
|
sin_lim=self.grid_1.GetCellValue(i,4) # servicio sin limites |
|
lim_d=self.grid_1.GetCellValue(i,1) #limite diario |
|
lim_s=self.grid_1.GetCellValue(i,2) #limite semanal |
|
lim_m=self.grid_1.GetCellValue(i,3) #limite mensual |
|
tot_d=self.grid_3.GetCellValue(i,1) #total consumo diario |
|
tot_s=self.grid_3.GetCellValue(i,2) #total consumo semanal |
|
tot_m=self.grid_3.GetCellValue(i,3) #total consumo mensual |
|
|
|
if lim_d=="" or lim_d==" ": |
|
lim_d="" |
|
lim_s="" |
|
lim_m="" |
|
if lim_s=="" or lim_s==" ": |
|
lim_d="" |
|
lim_s="" |
|
lim_m="" |
|
if lim_m=="" or lim_m==" ": |
|
lim_d="" |
|
lim_s="" |
|
lim_m="" |
|
if sin_lim !="0" and sin_lim!='': |
|
tabla[0].append(nom_serv) |
|
tabla[1].append('') |
|
tabla[2].append('') |
|
tabla[3].append('') |
|
tabla[4].append('') |
|
tabla[5].append('') |
|
tabla[6].append('') |
|
tabla[7].append('') |
|
tabla[8].append("SL") |
|
elif lim_d !="": |
|
if tot_d=="" or tot_d==" ": |
|
tot_d="00:00:00" |
|
tot_s="00:00:00" |
|
tot_m="00:00:00" |
|
if tot_s=="" or tot_s==" ": |
|
tot_d="00:00:00" |
|
tot_s="00:00:00" |
|
tot_m="00:00:00" |
|
if tot_s=="" or tot_s==" ": |
|
tot_d="00:00:00" |
|
tot_s="00:00:00" |
|
tot_m="00:00:00" |
|
|
|
hora_pr=self.grid_2.GetCellValue(i,1) |
|
dia_pr=str(self.grid_2.GetCellValue(i,2)) |
|
mes_pr=str(self.grid_2.GetCellValue(i,3)) |
|
anno_pr=str(self.grid_2.GetCellValue(i,4)) |
|
|
|
if len(hora_pr)<8: |
|
hora_pr="00:00:00" |
|
if dia_pr==" " or dia_pr=="": |
|
dia_pr="00" |
|
if mes_pr==" " or mes_pr=="": |
|
mes_pr="00" |
|
if anno_pr==" " or anno_pr=="": |
|
anno_pr="00" |
|
if len(dia_pr)==1: |
|
dia_pr="0"+dia_pr |
|
if len(mes_pr)==1: |
|
mes_pr="0"+mes_pr |
|
if len(anno_pr)==1: |
|
anno_pr="0"+anno_pr |
|
|
|
tabla[0].append(nom_serv) |
|
tabla[1].append(lim_d) |
|
tabla[2].append(lim_s) |
|
tabla[3].append(lim_m) |
|
tabla[4].append(tot_d) |
|
tabla[5].append(tot_s) |
|
tabla[6].append(tot_m) |
|
tabla[7].append(hora_pr+" "+dia_pr+"/"+mes_pr+"/"+anno_pr) #prorroga |
|
tabla[8].append("") |
|
|
|
if self.grid_1.IsEnabled(): |
|
todos=False |
|
else: |
|
todos=True |
|
|
|
avanz_usr(todos,usuario,tabla,listas_squid) |
|
|
|
time_conf=dias |
|
fija_horarios(usuario,time_conf) |
|
|
|
actualiza_userblacklists(usuario, listas_squid, archivo.configuracion) |
|
#se actualizan instancias de squid a modificaciones realizadas |
|
if (control_web_user(usuario,archivo.aceptlog)==1): |
|
inic_squid_user(usuario,archivo.aceptlog) |
|
|
|
msg=_("Guardados los cambios para ")+"'"+usuario+"'\n"+_("Desea salir de esta ventana?") |
|
dlg = wx.MessageDialog(self, msg, _('Aviso ACEPT'), wx.YES_NO | wx.ICON_QUESTION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
if dlg.ShowModal()==wx.ID_YES: |
|
dlg.Destroy() |
|
child.horarios=False |
|
self.Destroy() |
|
else: |
|
dlg.Destroy() |
|
self.rellena() |
|
|
|
# Comprueba que no se han introducido valores por encima de los maximos |
|
def valida_fecha(self,fecha,col): |
|
letras=len(fecha) |
|
if letras==0: |
|
return True |
|
if fecha==" ": |
|
return True |
|
if letras<5 or letras >9: |
|
return False |
|
|
|
fecha=fecha.split(":") |
|
if len(fecha[0])>2 or len(fecha[1])>2 or len(fecha[2])>2: |
|
return False |
|
max=[59,23,167,743] |
|
try: |
|
if int(fecha[0])>max[col] or int(fecha[1])>max[0] or int(fecha[2])>max[0]: |
|
return False |
|
else: |
|
return True |
|
except: |
|
return False |
|
|
|
# Toma las horas que se introducen en las celdas pertinentes y las manda a una funcion |
|
# que comprueba si tienen el formato correcto, si no es asi la deja por defecto en "00:00:00" y |
|
# lanza un aviso |
|
def obten_cadena(self,evt): |
|
|
|
fila=evt.GetRow() |
|
columna=evt.GetCol() |
|
tiempo=True |
|
|
|
if self.grid_1.GetId()==evt.GetId(): |
|
tabla=self.grid_1 |
|
tb_name=_("servicios") |
|
elif self.grid_3.GetId()==evt.GetId(): |
|
tabla=self.grid_3 |
|
tb_name=_("consumido") |
|
else: |
|
tabla=self.grid_2 |
|
tb_name=_("prorrogas") |
|
|
|
if tb_name==_("prorrogas") and columna !=1: |
|
valido=True |
|
tiempo=False |
|
elif tb_name==_("servicios") and columna==4: |
|
valido=True |
|
tiempo=False |
|
else: |
|
valido=self.valida_fecha(tabla.GetCellValue(fila,columna),columna) |
|
|
|
if not valido: |
|
dlg = wx.MessageDialog(self, _("La celda en la fila")+" "+str(fila)+_(", columna")+" "+str(columna)+" "+_("de la seccion")+" "+tb_name+"\n"+_("contiene un valor incorrecto"), |
|
_('Aviso ACEPT'), wx.OK | wx.ICON_HAND) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
dlg.Destroy() |
|
tabla.SetCellValue(fila,columna,"00:00:00") |
|
self.finaliza=False |
|
elif tiempo : |
|
horario=tabla.GetCellValue(fila,columna) |
|
if len(horario)<8: |
|
h=horario.split(":")[0] |
|
m=horario.split(":")[1] |
|
s=horario.split(":")[2] |
|
if len(h)==1: |
|
h="0"+h |
|
if len(m)==1: |
|
m="0"+m |
|
if len(s)==1: |
|
s="0"+s |
|
tabla.SetCellValue(fila,columna,h+":"+m+":"+s) |
|
|
|
self.finaliza=True |
|
|
|
def cancela( self, evt): |
|
|
|
child.horarios=False |
|
self.Destroy() |
|
# end of class MyChild1 |
|
|
|
# Esta ventana se encarga de la administracion de los servicios |
|
class MyChild2(wx.Frame): |
|
def __init__(self, *args, **kwds): |
|
# begin wxGlade: MyChild2.__init__ |
|
kwds["style"] = wx.DEFAULT_FRAME_STYLE |
|
wx.Frame.__init__(self, *args, **kwds) |
|
self.notebook_1 = wx.Notebook(self, -1, style=0) |
|
self.notebook_1_pane_2 = wx.Panel(self.notebook_1, -1) |
|
self.notebook_1_pane_1 = wx.Panel(self.notebook_1, -1) |
|
self.button_1 = wx.Button(self, -1, _("Nuevo Servicio")) |
|
self.button_2 = wx.Button(self, -1, _("Modificar servicio")) |
|
self.button_3 = wx.Button(self, -1, _("Aceptar")) |
|
self.button_4 = wx.Button(self, -1, _("Salir")) |
|
self.label_1 = wx.StaticText(self.notebook_1_pane_1, -1, _("Nombre")) |
|
self.label_2 = wx.StaticText(self.notebook_1_pane_1, -1, _("Puertos")) |
|
self.text_ctrl_1 = wx.TextCtrl(self.notebook_1_pane_1, -1, "") |
|
self.text_ctrl_2 = wx.TextCtrl(self.notebook_1_pane_1, -1, "", style=wx.TE_MULTILINE|wx.TE_READONLY) |
|
self.static_line_1 = wx.StaticLine(self.notebook_1_pane_1, -1) |
|
self.label_16 = wx.StaticText(self.notebook_1_pane_1, -1, _("Puertos Tcp")) |
|
self.spin_ctrl_1 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=1, max=65535) |
|
self.button_5 = wx.Button(self.notebook_1_pane_1, -1, _("Insertar")) |
|
self.button_6 = wx.Button(self.notebook_1_pane_1, -1, _("Borrar")) |
|
self.button_7 = wx.Button(self.notebook_1_pane_1, -1, _("Limpiar")) |
|
self.checkbox_1 = wx.CheckBox(self.notebook_1_pane_1, -1, _("Rango ?")) |
|
self.spin_ctrl_3 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=1, max=65535) |
|
self.label_17 = wx.StaticText(self.notebook_1_pane_1, -1, _("Puertos Udp")) |
|
self.spin_ctrl_2 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=1, max=65535) |
|
self.button_8 = wx.Button(self.notebook_1_pane_1, -1, _("Insertar")) |
|
self.button_9 = wx.Button(self.notebook_1_pane_1, -1, _("Borrar")) |
|
self.button_10 = wx.Button(self.notebook_1_pane_1, -1, _("Limpiar")) |
|
self.checkbox_2 = wx.CheckBox(self.notebook_1_pane_1, -1, _("Rango ?")) |
|
self.spin_ctrl_4 = wx.SpinCtrl(self.notebook_1_pane_1, -1, "", min=1, max=65535) |
|
self.label_15_copy = wx.StaticText(self.notebook_1_pane_2, -1, _("Nombre")) |
|
self.label_21_copy = wx.StaticText(self.notebook_1_pane_2, -1, _("Puertos")) |
|
self.combo_box_3 = wx.ComboBox(self.notebook_1_pane_2, -1, choices=[], style=wx.CB_DROPDOWN|wx.CB_READONLY) |
|
self.text_ctrl_2_copy = wx.TextCtrl(self.notebook_1_pane_2, -1, "", style=wx.TE_MULTILINE|wx.TE_READONLY) |
|
self.static_line_2_copy = wx.StaticLine(self.notebook_1_pane_2, -1) |
|
self.label_16_copy = wx.StaticText(self.notebook_1_pane_2, -1, _("Puertos Tcp")) |
|
self.spin_ctrl_2_copy = wx.SpinCtrl(self.notebook_1_pane_2, -1, "", min=1, max=65535) |
|
self.button_5_copy = wx.Button(self.notebook_1_pane_2, -1, _("Insertar")) |
|
self.button_6_copy = wx.Button(self.notebook_1_pane_2, -1, _("Borrar")) |
|
self.button_7_copy = wx.Button(self.notebook_1_pane_2, -1, _("Limpiar")) |
|
self.checkbox_1_copy = wx.CheckBox(self.notebook_1_pane_2, -1, _("Rango ?")) |
|
self.spin_ctrl_4_copy = wx.SpinCtrl(self.notebook_1_pane_2, -1, "", min=1, max=65535) |
|
self.label_17_copy = wx.StaticText(self.notebook_1_pane_2, -1, _("Puertos Udp")) |
|
self.spin_ctrl_3_copy = wx.SpinCtrl(self.notebook_1_pane_2, -1, "", min=1, max=65535) |
|
self.button_8_copy = wx.Button(self.notebook_1_pane_2, -1, _("Insertar")) |
|
self.button_9_copy = wx.Button(self.notebook_1_pane_2, -1, _("Borrar")) |
|
self.button_10_copy = wx.Button(self.notebook_1_pane_2, -1, _("Limpiar")) |
|
self.checkbox_2_copy = wx.CheckBox(self.notebook_1_pane_2, -1, _("Rango ?")) |
|
self.spin_ctrl_5_copy = wx.SpinCtrl(self.notebook_1_pane_2, -1, "", min=1, max=65535) |
|
self.button_11 = wx.Button(self.notebook_1_pane_2, -1, _("Eliminar servicio")) |
|
#self.usuarios=MyChild1(None,-1,"") |
|
self.tcp=[''] |
|
self.udp=[''] |
|
|
|
self.__set_properties() |
|
self.SetFocus() |
|
self.__do_layout() |
|
# end wxGlade |
|
|
|
def __set_properties(self): |
|
# begin wxGlade: MyChild2.__set_properties |
|
self.SetTitle(_("Servicios")) |
|
self.notebook_1_pane_2.Hide() |
|
self.spin_ctrl_3.Enable(False) |
|
self.spin_ctrl_4.Enable(False) |
|
self.spin_ctrl_5_copy.Enable(False) |
|
self.spin_ctrl_4_copy.Enable(False) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/fondo_junta.gif", wx.BITMAP_TYPE_ANY)) |
|
self.SetIcon(_icon) |
|
self.Centre |
|
self.lista_srv=servicios()[0] |
|
self.lista_srv.sort() |
|
self.combo_box_3.Append('') |
|
for i in self.lista_srv: |
|
self.combo_box_3.Append(i) |
|
# end wxGlade |
|
|
|
def __do_layout(self): |
|
sizer_1 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_2 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_15 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_16 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_23_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_24 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_21 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_22 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_23 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_17 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_20 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_18 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_19 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_5 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_6 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_13 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_11 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_12 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_7 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_10 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_8 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_9 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_3 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_4 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_3.Add((20, 20), 0, 0, 0) |
|
sizer_4.Add((20, 20), 1, 0, 0) |
|
sizer_4.Add(self.button_1, 0, wx.EXPAND, 0) |
|
sizer_4.Add((20, 20), 0, 0, 0) |
|
sizer_4.Add(self.button_2, 0, wx.EXPAND, 0) |
|
sizer_4.Add((20, 20), 1, 0, 0) |
|
sizer_4.Add(self.button_3, 0, wx.EXPAND, 0) |
|
sizer_4.Add((20, 20), 0, 0, 0) |
|
sizer_4.Add(self.button_4, 0, wx.EXPAND, 0) |
|
sizer_4.Add((20, 20), 1, 0, 0) |
|
sizer_3.Add(sizer_4, 0, wx.EXPAND, 0) |
|
sizer_3.Add((20, 20), 1, 0, 0) |
|
sizer_2.Add(sizer_3, 0, wx.EXPAND, 0) |
|
sizer_5.Add((10, 10), 0, 0, 0) |
|
sizer_8.Add(self.label_1, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_8.Add((10, 10), 0, 0, 0) |
|
sizer_9.Add((10, 10), 0, wx.ALL, 0) |
|
sizer_9.Add(self.label_2, 0, 0, 0) |
|
sizer_9.Add((20, 20), 1, 0, 0) |
|
sizer_8.Add(sizer_9, 1, wx.EXPAND, 0) |
|
sizer_7.Add(sizer_8, 0, wx.EXPAND, 0) |
|
sizer_7.Add((20, 20), 0, 0, 0) |
|
sizer_10.Add(self.text_ctrl_1, 0, wx.EXPAND, 0) |
|
sizer_10.Add((10, 10), 0, 0, 0) |
|
sizer_10.Add(self.text_ctrl_2, 1, wx.EXPAND, 0) |
|
sizer_10.Add((10, 10), 0, wx.ALL, 0) |
|
sizer_7.Add(sizer_10, 1, wx.EXPAND, 0) |
|
sizer_6.Add(sizer_7, 1, wx.EXPAND, 0) |
|
sizer_6.Add(self.static_line_1, 0, wx.EXPAND, 0) |
|
sizer_11.Add(self.label_16, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_11.Add((20, 20), 0, 0, 0) |
|
sizer_11.Add(self.spin_ctrl_1, 0, wx.ALIGN_BOTTOM|wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_12.Add((20, 20), 1, 0, 0) |
|
sizer_12.Add(self.button_5, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_12.Add((20, 20), 0, 0, 0) |
|
sizer_12.Add(self.button_6, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_12.Add((20, 20), 0, 0, 0) |
|
sizer_12.Add(self.button_7, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_12.Add((15, 15), 1, 0, 0) |
|
sizer_12.Add(self.checkbox_1, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_12.Add(self.spin_ctrl_3, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_11.Add(sizer_12, 1, wx.EXPAND, 0) |
|
sizer_6.Add(sizer_11, 0, wx.EXPAND, 0) |
|
sizer_6.Add((20, 20), 0, wx.ALL, 0) |
|
sizer_6.Add((10, 10), 0, 0, 0) |
|
sizer_13.Add(self.label_17, 0, 0, 0) |
|
sizer_13.Add((20, 20), 0, 0, 0) |
|
sizer_13.Add(self.spin_ctrl_2, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_14.Add((20, 20), 1, 0, 0) |
|
sizer_14.Add(self.button_8, 0, 0, 0) |
|
sizer_14.Add((20, 20), 0, 0, 0) |
|
sizer_14.Add(self.button_9, 0, 0, 0) |
|
sizer_14.Add((20, 20), 0, 0, 0) |
|
sizer_14.Add(self.button_10, 0, 0, 0) |
|
sizer_14.Add((15, 15), 1, 0, 0) |
|
sizer_14.Add(self.checkbox_2, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_14.Add(self.spin_ctrl_4, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_13.Add(sizer_14, 1, wx.EXPAND, 0) |
|
sizer_6.Add(sizer_13, 0, wx.EXPAND, 0) |
|
sizer_6.Add((20, 20), 0, 0, 0) |
|
sizer_6.Add((20, 20), 0, 0, 0) |
|
sizer_5.Add(sizer_6, 1, wx.EXPAND, 0) |
|
sizer_5.Add((20, 20), 0, 0, 0) |
|
self.notebook_1_pane_1.SetAutoLayout(True) |
|
self.notebook_1_pane_1.SetSizer(sizer_5) |
|
sizer_5.Fit(self.notebook_1_pane_1) |
|
sizer_5.SetSizeHints(self.notebook_1_pane_1) |
|
sizer_15.Add((10, 10), 0, 0, 0) |
|
sizer_18.Add(self.label_15_copy, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_18.Add((10, 10), 0, 0, 0) |
|
sizer_19.Add((10, 10), 0, wx.ALL, 0) |
|
sizer_19.Add(self.label_21_copy, 0, 0, 0) |
|
sizer_19.Add((20, 20), 1, 0, 0) |
|
sizer_18.Add(sizer_19, 1, wx.EXPAND, 0) |
|
sizer_17.Add(sizer_18, 0, wx.EXPAND, 0) |
|
sizer_17.Add((20, 20), 0, 0, 0) |
|
sizer_20.Add(self.combo_box_3, 0, wx.EXPAND, 0) |
|
sizer_20.Add((10, 10), 0, 0, 0) |
|
sizer_20.Add(self.text_ctrl_2_copy, 1, wx.EXPAND, 0) |
|
sizer_20.Add((10, 10), 0, wx.ALL, 0) |
|
sizer_17.Add(sizer_20, 1, wx.EXPAND, 0) |
|
sizer_16.Add(sizer_17, 1, wx.EXPAND, 0) |
|
sizer_16.Add(self.static_line_2_copy, 0, wx.EXPAND, 0) |
|
sizer_21.Add(self.label_16_copy, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_21.Add((20, 20), 0, 0, 0) |
|
sizer_21.Add(self.spin_ctrl_2_copy, 0, wx.ALIGN_BOTTOM|wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_22.Add((20, 20), 1, 0, 0) |
|
sizer_22.Add(self.button_5_copy, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_22.Add((20, 20), 0, 0, 0) |
|
sizer_22.Add(self.button_6_copy, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_22.Add((20, 20), 0, 0, 0) |
|
sizer_22.Add(self.button_7_copy, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_22.Add((15, 15), 1, 0, 0) |
|
sizer_22.Add(self.checkbox_1_copy, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_22.Add(self.spin_ctrl_4_copy, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_21.Add(sizer_22, 1, wx.EXPAND, 0) |
|
sizer_16.Add(sizer_21, 0, wx.EXPAND, 0) |
|
sizer_16.Add((20, 20), 0, wx.ALL, 0) |
|
sizer_16.Add((10, 10), 0, 0, 0) |
|
sizer_23_copy.Add(self.label_17_copy, 0, 0, 0) |
|
sizer_23_copy.Add((20, 20), 0, 0, 0) |
|
sizer_23_copy.Add(self.spin_ctrl_3_copy, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_24.Add((20, 20), 1, 0, 0) |
|
sizer_24.Add(self.button_8_copy, 0, 0, 0) |
|
sizer_24.Add((20, 20), 0, 0, 0) |
|
sizer_24.Add(self.button_9_copy, 0, 0, 0) |
|
sizer_24.Add((20, 20), 0, 0, 0) |
|
sizer_24.Add(self.button_10_copy, 0, 0, 0) |
|
sizer_24.Add((15, 15), 1, 0, 0) |
|
sizer_24.Add(self.checkbox_2_copy, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_24.Add(self.spin_ctrl_5_copy, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_23_copy.Add(sizer_24, 1, wx.EXPAND, 0) |
|
sizer_16.Add(sizer_23_copy, 0, wx.EXPAND, 0) |
|
sizer_16.Add((20, 20), 0, 0, 0) |
|
sizer_23.Add((20, 20), 1, 0, 0) |
|
sizer_23.Add(self.button_11, 0, 0, 0) |
|
sizer_16.Add(sizer_23, 0, wx.EXPAND, 0) |
|
sizer_16.Add((20, 20), 0, 0, 0) |
|
sizer_15.Add(sizer_16, 1, wx.EXPAND, 0) |
|
sizer_15.Add((20, 20), 0, 0, 0) |
|
self.notebook_1_pane_2.SetAutoLayout(True) |
|
self.notebook_1_pane_2.SetSizer(sizer_15) |
|
sizer_15.Fit(self.notebook_1_pane_2) |
|
sizer_15.SetSizeHints(self.notebook_1_pane_2) |
|
self.notebook_1.AddPage(self.notebook_1_pane_1, _("Nuevo Servicio")) |
|
self.notebook_1.AddPage(self.notebook_1_pane_2, _("Modificar Servicio")) |
|
|
|
# Segun la version de la libreria hace una cosa u otra |
|
vers= wx.VERSION[0:2] |
|
if vers[0]<=2 and vers[1]<=4: |
|
sizer_2.Add(wx.NotebookSizer(self.notebook_1), 1, wx.EXPAND, 0) |
|
else: |
|
sizer_2.Add(self.notebook_1, 1, wx.EXPAND, 0) |
|
|
|
sizer_1.Add(sizer_2, 1, wx.EXPAND, 0) |
|
self.SetAutoLayout(True) |
|
self.SetSizer(sizer_1) |
|
sizer_1.Fit(self) |
|
sizer_1.SetSizeHints(self) |
|
self.Layout() |
|
# end wxGlade |
|
wx.EVT_BUTTON(self, self.button_1.GetId(), self.cambia_panel) |
|
wx.EVT_BUTTON(self, self.button_2.GetId(), self.cambia_panel) |
|
wx.EVT_BUTTON(self, self.button_3.GetId(), self.acepta) |
|
wx.EVT_BUTTON(self, self.button_4.GetId(), self.cancela) |
|
wx.EVT_CHECKBOX(self,self.checkbox_1.GetId(),self.activa) |
|
wx.EVT_CHECKBOX(self,self.checkbox_2.GetId(),self.activa) |
|
wx.EVT_CHECKBOX(self,self.checkbox_1_copy.GetId(),self.activa) |
|
wx.EVT_CHECKBOX(self,self.checkbox_2_copy.GetId(),self.activa) |
|
wx.EVT_SPINCTRL(self,self.spin_ctrl_1.GetId(),self.rango1) |
|
wx.EVT_SPINCTRL(self,self.spin_ctrl_2.GetId(),self.rango2) |
|
wx.EVT_SPINCTRL(self,self.spin_ctrl_2_copy.GetId(),self.rango3) |
|
wx.EVT_SPINCTRL(self,self.spin_ctrl_3_copy.GetId(),self.rango4) |
|
wx.EVT_TEXT(self,self.combo_box_3.GetId(),self.puertos) |
|
wx.EVT_BUTTON(self, self.button_7.GetId(), self.limpia) |
|
wx.EVT_BUTTON(self, self.button_10.GetId(), self.limpia) |
|
wx.EVT_BUTTON(self, self.button_7_copy.GetId(), self.limpia) |
|
wx.EVT_BUTTON(self, self.button_10_copy.GetId(), self.limpia) |
|
wx.EVT_BUTTON(self, self.button_5_copy.GetId(), self.pon) |
|
wx.EVT_BUTTON(self, self.button_8_copy.GetId(), self.pon) |
|
wx.EVT_BUTTON(self, self.button_5.GetId(), self.pon) |
|
wx.EVT_BUTTON(self, self.button_8.GetId(), self.pon) |
|
wx.EVT_BUTTON(self, self.button_6_copy.GetId(), self.quita) |
|
wx.EVT_BUTTON(self, self.button_9_copy.GetId(), self.quita) |
|
wx.EVT_BUTTON(self, self.button_6.GetId(), self.quita) |
|
wx.EVT_BUTTON(self, self.button_9.GetId(), self.quita) |
|
wx.EVT_BUTTON(self, self.button_11.GetId(), self.elimina_srv) |
|
wx.EVT_TEXT(self,self.text_ctrl_1.GetId(),self.valida_nombre) |
|
wx.EVT_CLOSE(self,self.cancela) |
|
|
|
# Borra un servicio dado del archivo de configuracion |
|
def elimina_srv(self,evt): |
|
srv=self.combo_box_3.GetValue() |
|
if len(srv)==0: |
|
dlg = wx.MessageDialog(self, _("No hay ningun servicio seleccionado."), |
|
_('Aviso ACEPT'), wx.OK | wx.ICON_HAND) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
dlg.Destroy() |
|
else: |
|
dlg = wx.MessageDialog(self, _("Esta seguro de que desea eleminar el servicio")+" "+srv+_("?"), |
|
_('Aviso ACEPT'), wx.YES_NO | wx.ICON_QUESTION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
if dlg.ShowModal()==wx.ID_YES: |
|
elimina_srv(srv) |
|
|
|
self.combo_box_3.Clear() |
|
self.combo_box_3.SetValue('') |
|
self.text_ctrl_2_copy.Clear() |
|
self.lista_srv=servicios()[0] |
|
self.lista_srv.sort() |
|
self.combo_box_3.Append('') |
|
for i in self.lista_srv: |
|
self.combo_box_3.Append(i) |
|
dlg.Destroy() |
|
else: |
|
dlg.Destroy() |
|
|
|
#Comprueba que el nombre de un nuevo servicio no coincida con el de uno antiguo |
|
def valida_nombre(self,evt): |
|
prohibidas=['config','squid','servicios','usuarios','source','group','blacklists','activo','total_diario','total_semanal','total_mensual'] |
|
for i in self.lista_srv: |
|
if i == self.text_ctrl_1.GetValue(): |
|
dlg = wx.MessageDialog(self, _("El nombre de servicio ya existe!"), |
|
_('Aviso ACEPT'), wx.OK | wx.ICON_HAND) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
dlg.Destroy() |
|
self.text_ctrl_1.Clear() |
|
try: |
|
ind=prohibidas.index(self.text_ctrl_1.GetValue()) |
|
except ValueError: |
|
pass |
|
else: |
|
dlg = wx.MessageDialog(self, _(" Este nombre de servicio no es valido \n Se trata de una palabra reservada!"), |
|
_('Aviso ACEPT'), wx.OK | wx.ICON_HAND) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
dlg.Destroy() |
|
self.text_ctrl_1.Clear() |
|
|
|
|
|
# Quita un puerto, o un rango de ellos de la definicion de un servicio |
|
def quita(self,evt): |
|
|
|
numeros=[] |
|
if evt.GetId()==self.button_6_copy.GetId(): |
|
num=self.spin_ctrl_2_copy.GetValue() |
|
if self.checkbox_1_copy.IsChecked(): |
|
lim=self.spin_ctrl_4_copy.GetValue()+1 |
|
else: |
|
lim=num+1 |
|
protocolo=self.tcp |
|
pizarra=self.text_ctrl_2_copy |
|
elif evt.GetId()==self.button_9_copy.GetId(): |
|
num=self.spin_ctrl_3_copy.GetValue() |
|
if self.checkbox_2_copy.IsChecked(): |
|
lim=self.spin_ctrl_5_copy.GetValue()+1 |
|
else: |
|
lim=num+1 |
|
protocolo=self.udp |
|
pizarra=self.text_ctrl_2_copy |
|
elif evt.GetId()==self.button_6.GetId(): |
|
num=self.spin_ctrl_1.GetValue() |
|
|
|
if self.checkbox_1.IsChecked(): |
|
lim=self.spin_ctrl_3.GetValue()+1 |
|
else: |
|
lim=num+1 |
|
protocolo=self.tcp |
|
pizarra=self.text_ctrl_2 |
|
elif evt.GetId()==self.button_9.GetId(): |
|
num=self.spin_ctrl_2.GetValue() |
|
if self.checkbox_2.IsChecked(): |
|
lim=self.spin_ctrl_4.GetValue()+1 |
|
else: |
|
lim=num+1 |
|
protocolo=self.udp |
|
pizarra=self.text_ctrl_2 |
|
|
|
items=len(protocolo) |
|
for i in range(items): |
|
if protocolo[i]=='': |
|
del protocolo[i] |
|
|
|
for i in range(num,lim): |
|
existe=False |
|
for j in protocolo: |
|
if int(j) == i : |
|
del protocolo[protocolo.index(j)] |
|
|
|
self.muestra_puertos(self.tcp,self.udp,pizarra) |
|
|
|
|
|
# Incorpora un puerto o un rango de ellos a la deficinicion de un servicio |
|
def pon(self,evt): |
|
numeros=[] |
|
|
|
if evt.GetId()==self.button_5_copy.GetId(): |
|
num=self.spin_ctrl_2_copy.GetValue() |
|
if self.checkbox_1_copy.IsChecked(): |
|
lim=self.spin_ctrl_4_copy.GetValue()+1 |
|
else: |
|
lim=num+1 |
|
protocolo=self.tcp |
|
pizarra=self.text_ctrl_2_copy |
|
elif evt.GetId()==self.button_8_copy.GetId(): |
|
num=self.spin_ctrl_3_copy.GetValue() |
|
if self.checkbox_2_copy.IsChecked(): |
|
lim=self.spin_ctrl_5_copy.GetValue()+1 |
|
else: |
|
lim=num+1 |
|
protocolo=self.udp |
|
pizarra=self.text_ctrl_2_copy |
|
elif evt.GetId()==self.button_5.GetId(): |
|
num=self.spin_ctrl_1.GetValue() |
|
|
|
if self.checkbox_1.IsChecked(): |
|
lim=self.spin_ctrl_3.GetValue()+1 |
|
else: |
|
lim=num+1 |
|
protocolo=self.tcp |
|
pizarra=self.text_ctrl_2 |
|
elif evt.GetId()==self.button_8.GetId(): |
|
num=self.spin_ctrl_2.GetValue() |
|
if self.checkbox_2.IsChecked(): |
|
lim=self.spin_ctrl_4.GetValue()+1 |
|
else: |
|
lim=num+1 |
|
protocolo=self.udp |
|
pizarra=self.text_ctrl_2 |
|
|
|
items=len(protocolo) |
|
for i in range(items): |
|
if protocolo[i]=='': |
|
del protocolo[i] |
|
for i in range(num,lim): |
|
existe=False |
|
for j in protocolo: |
|
if int(j) == i : |
|
existe=True |
|
if not existe: |
|
numeros.append(i) |
|
for i in numeros: |
|
protocolo.append(str(i)) |
|
items=len(protocolo) |
|
for i in range(items): |
|
protocolo[i]=int(protocolo[i]) |
|
protocolo.sort() |
|
for i in range(items): |
|
protocolo[i]=str(protocolo[i]) |
|
|
|
self.muestra_puertos(self.tcp,self.udp,pizarra) |
|
|
|
|
|
# Borra todas los puertos de un servicio |
|
def limpia(self,evt): |
|
if evt.GetId()==self.button_7.GetId(): |
|
self.tcp=[''] |
|
pizarra=self.text_ctrl_2 |
|
elif evt.GetId()==self.button_10.GetId(): |
|
self.udp=[''] |
|
pizarra=self.text_ctrl_2 |
|
elif evt.GetId()==self.button_7_copy.GetId(): |
|
self.tcp=[''] |
|
pizarra=self.text_ctrl_2_copy |
|
elif evt.GetId()==self.button_10_copy.GetId(): |
|
self.udp=[''] |
|
pizarra=self.text_ctrl_2_copy |
|
|
|
self.muestra_puertos(self.tcp,self.udp,pizarra) |
|
|
|
# Lee los puertos de un servicio al seleccionarlo en la lista |
|
def puertos(self,evt): |
|
serv=self.combo_box_3.GetValue() |
|
if len(serv)>0: |
|
def_serv=servicios() |
|
indice=def_serv[0].index(serv) |
|
self.udp=def_serv[1][indice] |
|
self.tcp=def_serv[2][indice] |
|
iter=len(self.tcp) |
|
for i in range(iter): |
|
if self.tcp[i] != '': |
|
self.tcp[i]=self.tcp[i][2:] |
|
|
|
iter=len(self.udp) |
|
for i in range(iter): |
|
if self.udp[i] != '': |
|
self.udp[i]=self.udp[i][2:] |
|
self.muestra_puertos(self.tcp,self.udp,self.text_ctrl_2_copy) |
|
|
|
# Muestra en la interfaz grafica los puertos que componen un servicio |
|
def muestra_puertos(self,tcp,udp,pizarra): |
|
pizarra.Clear() |
|
pizarra.AppendText("Tcp: ") |
|
if tcp !=['']: |
|
for i in tcp: |
|
if i != tcp[-1]: |
|
pizarra.AppendText(i+", ") |
|
else: |
|
pizarra.AppendText(i) |
|
|
|
pizarra.AppendText("\nUdp: ") |
|
if udp !=['']: |
|
for i in udp: |
|
if i != udp[-1]: |
|
pizarra.AppendText(i+", ") |
|
else: |
|
pizarra.AppendText(i) |
|
|
|
# Los rango? comprueban el valor del puerto inicial, y si se selecciona "rango" |
|
# colocan el minimo como el valor ya seleccionado+1 |
|
def rango1(self,evt): |
|
if self.spin_ctrl_3.IsEnabled(): |
|
self.spin_ctrl_3.SetRange(self.spin_ctrl_1.GetValue()+1,65535) |
|
|
|
def rango2(self,evt): |
|
if self.spin_ctrl_4.IsEnabled(): |
|
self.spin_ctrl_4.SetRange(self.spin_ctrl_2.GetValue()+1,65535) |
|
|
|
def rango3(self,evt): |
|
if self.spin_ctrl_4_copy.IsEnabled(): |
|
self.spin_ctrl_4_copy.SetRange(self.spin_ctrl_2_copy.GetValue()+1,65535) |
|
|
|
def rango4(self,evt): |
|
if self.spin_ctrl_5_copy.IsEnabled(): |
|
self.spin_ctrl_5_copy.SetRange(self.spin_ctrl_3_copy.GetValue()+1,65535) |
|
|
|
def activa(self,evt): |
|
if self.checkbox_1.IsChecked(): |
|
self.spin_ctrl_3.Enable(True) |
|
self.spin_ctrl_3.SetRange(self.spin_ctrl_1.GetValue()+1,65535) |
|
else: |
|
self.spin_ctrl_3.Enable(False) |
|
|
|
if self.checkbox_2.IsChecked(): |
|
self.spin_ctrl_4.Enable(True) |
|
self.spin_ctrl_4.SetRange(self.spin_ctrl_2.GetValue()+1,65535) |
|
else: |
|
self.spin_ctrl_4.Enable(False) |
|
|
|
if self.checkbox_1_copy.IsChecked(): |
|
self.spin_ctrl_4_copy.Enable(True) |
|
self.spin_ctrl_4_copy.SetRange(self.spin_ctrl_2_copy.GetValue()+1,65535) |
|
else: |
|
self.spin_ctrl_4_copy.Enable(False) |
|
|
|
if self.checkbox_2_copy.IsChecked(): |
|
self.spin_ctrl_5_copy.Enable(True) |
|
self.spin_ctrl_5_copy.SetRange(self.spin_ctrl_3_copy.GetValue()+1,65535) |
|
else: |
|
self.spin_ctrl_5_copy.Enable(False) |
|
|
|
# Muestra un panel u otro, segun se seleccione en los botones laterales |
|
def cambia_panel( self, evt): |
|
|
|
if evt.GetId() == self.button_1.GetId(): |
|
self.notebook_1_pane_2.Hide() |
|
self.notebook_1_pane_1.Show() |
|
self.tcp=[''] |
|
self.udp=[''] |
|
self.text_ctrl_2_copy.Clear() |
|
else : |
|
self.notebook_1_pane_2.Show() |
|
self.notebook_1_pane_1.Hide() |
|
self.combo_box_3.SetValue(self.combo_box_3.GetValue()) |
|
self.text_ctrl_2.Clear() |
|
|
|
def cancela( self, evt): |
|
child.servicios=False |
|
self.Destroy() |
|
|
|
# Graba los cambios realizados en el archivo de configuracion |
|
def acepta( self, evt): |
|
|
|
if self.notebook_1.GetSelection() == 0: |
|
servicio=self.text_ctrl_1.GetValue() |
|
else: |
|
servicio=self.combo_box_3.GetValue() |
|
reintenta=False |
|
sale=False |
|
if servicio != '': |
|
elimina_srv(servicio) |
|
status=crea_srv(servicio,self.tcp,self.udp) |
|
if status < 2: |
|
msg=_("Servicio ")+" '"+servicio+"' "+_("configurado correctamente")+"\n"+_("Desea salir de esta ventana?") |
|
dlg = wx.MessageDialog(self, msg,_('Aviso ACEPT'), wx.YES_NO | wx.ICON_QUESTION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
if dlg.ShowModal()==wx.ID_YES: |
|
sale=True |
|
dlg.Destroy() |
|
else: |
|
sale=False |
|
dlg.Destroy() |
|
if self.notebook_1.GetSelection() == 0: |
|
self.text_ctrl_1.SetValue('') |
|
self.text_ctrl_2.Clear() |
|
else: |
|
self.text_ctrl_2_copy.Clear() |
|
self.combo_box_3.Clear() |
|
self.combo_box_3.SetValue('') |
|
self.lista_srv=servicios()[0] |
|
self.lista_srv.sort() |
|
self.combo_box_3.Append('') |
|
for i in self.lista_srv: |
|
self.combo_box_3.Append(i) |
|
self.combo_box_3.SetValue(self.combo_box_3.GetValue()) |
|
else: |
|
msg=_("No hay puertos asignados al servicio!")+"\n"+_("Desea intentarlo de nuevo?") |
|
reintenta=True |
|
else: |
|
msg=_("No se ha seleccionado ningun servicio")+"\n"+_("Desea intentarlo de nuevo?") |
|
reintenta=True |
|
|
|
if reintenta: |
|
dlg = wx.MessageDialog(self, msg,_('Aviso ACEPT'), wx.YES_NO | wx.ICON_QUESTION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
if dlg.ShowModal()==wx.ID_YES: |
|
dlg.Destroy() |
|
self.combo_box_3.Clear() |
|
self.combo_box_3.SetValue('') |
|
self.text_ctrl_2_copy.Clear() |
|
self.lista_srv=servicios()[0] |
|
self.lista_srv.sort() |
|
self.combo_box_3.Append('') |
|
for i in self.lista_srv: |
|
self.combo_box_3.Append(i) |
|
self.combo_box_3.SetValue(self.combo_box_3.GetValue()) |
|
else: |
|
dlg.Destroy() |
|
child.servicios=False |
|
self.Destroy() |
|
else: |
|
if sale: |
|
child.servicios=False |
|
self.Destroy() |
|
|
|
# end of class MyChild2 |
|
|
|
|
|
# Esta ventana se encarga de configurar las listas negras y sus componentes, de squid |
|
class MyChild3(wx.Frame): |
|
def __init__(self, *args, **kwds): |
|
# begin wxGlade: MyChild3.__init__ |
|
kwds["style"] = wx.DEFAULT_FRAME_STYLE |
|
wx.Frame.__init__(self, *args, **kwds) |
|
self.label_1 = wx.StaticText(self, -1, _("Listas negras locales")) |
|
self.label_2 = wx.StaticText(self, -1, _("Fuentes de listas negras")) |
|
self.list_box_4_copy = wx.ListBox(self, -1, choices=[]) |
|
self.button_1 = wx.Button(self, -1, _("Crear lista local")) |
|
self.button_2 = wx.Button(self, -1, _("Modificar lista local")) |
|
self.button_3 = wx.Button(self, -1, _("Eliminar lista local")) |
|
self.static_line_4 = wx.StaticLine(self, -1, style=wx.LI_VERTICAL) |
|
self.list_box_7 = wx.ListBox(self, -1, choices=[],style=wx.LB_MULTIPLE|wx.LB_SORT) |
|
self.button_4 = wx.Button(self, -1, _("Eliminar fuente")) |
|
self.label_3 = wx.StaticText(self, -1, _("Actualizar cada")) |
|
self.spin_ctrl_45 = wx.SpinCtrl(self, -1, "", min=0, max=365) |
|
self.label_4 = wx.StaticText(self, -1, _("Dias")) |
|
self.button_5 = wx.Button(self, -1, _("Actualizar ahora")) |
|
self.static_line_5 = wx.StaticLine(self, -1) |
|
self.label_5 = wx.StaticText(self, -1, _("Nueva fuente")) |
|
self.text_ctrl_1_copy = wx.TextCtrl(self, -1, "") |
|
self.button_6_copy = wx.Button(self, -1, _("Insertar")) |
|
self.button_7 = wx.Button(self, -1, _("Aceptar")) |
|
self.button_8 = wx.Button(self, -1, _("Cancelar")) |
|
self.crea=True |
|
self.modifica=True |
|
self.__set_properties() |
|
self.SetFocus() |
|
self.__do_layout() |
|
self.rellena_grupos() |
|
|
|
wx.EVT_BUTTON(self, self.button_1.GetId(), self.crea_grupo) |
|
wx.EVT_BUTTON(self, self.button_2.GetId(), self.aviso) |
|
wx.EVT_BUTTON(self, self.button_3.GetId(), self.aviso) |
|
wx.EVT_BUTTON(self, self.button_4.GetId(), self.elimina_fuente) |
|
wx.EVT_BUTTON(self, self.button_5.GetId(), self.actualiza) |
|
wx.EVT_BUTTON(self, self.button_6_copy.GetId(), self.inserta) |
|
wx.EVT_BUTTON(self, self.button_7.GetId(), self.acepta) |
|
wx.EVT_BUTTON(self, self.button_8.GetId(), self.cancela) |
|
wx.EVT_LISTBOX(self,self.list_box_4_copy.GetId(),self.lista_actual) |
|
wx.EVT_CLOSE(self,self.cancela) |
|
|
|
# end wxGlade |
|
|
|
def __set_properties(self): |
|
# begin wxGlade: MyChild3.__set_properties |
|
self.SetTitle(_("Listas")) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/fondo_junta.gif", wx.BITMAP_TYPE_ANY)) |
|
self.SetIcon(_icon) |
|
self.Centre |
|
# end wxGlade |
|
|
|
def __do_layout(self): |
|
# begin wxGlade: MyChild3.__do_layout |
|
sizer_15 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_1 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_12 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_13 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_33 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_36 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_37 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_34_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_35 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_14 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_16 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_21 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_28 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_29 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_32 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_2 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_9 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_3 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_4 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_2.Add((20, 20), 0, 0, 0) |
|
sizer_3.Add(self.label_1, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_3.Add(self.list_box_4_copy, 1, 0, 0) |
|
sizer_4.Add((20, 20), 0, 0, 0) |
|
sizer_4.Add(self.button_1, 0, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_4.Add((20, 20), 0, 0, 0) |
|
sizer_4.Add(self.button_2, 0, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_4.Add((20, 20), 0, 0, 0) |
|
sizer_4.Add(self.button_3, 0, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_4.Add((20, 20), 0, 0, 0) |
|
sizer_3.Add(sizer_4, 0, wx.EXPAND, 0) |
|
sizer_2.Add(sizer_3, 0, wx.EXPAND, 0) |
|
sizer_9.Add((20, 20), 0, 0, 0) |
|
sizer_2.Add(sizer_9, 0, 0, 0) |
|
sizer_1.Add(sizer_2, 0, wx.EXPAND, 0) |
|
sizer_12.Add(self.static_line_4, 0, wx.EXPAND, 0) |
|
sizer_12.Add((20, 20), 0, 0, 0) |
|
sizer_16.Add(self.list_box_7, 1, wx.EXPAND, 0) |
|
sizer_16.Add((20, 20), 0, 0, 0) |
|
sizer_28.Add((20, 20), 0, 0, 0) |
|
sizer_28.Add(self.button_4, 0, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_28.Add((20, 20), 1, wx.EXPAND, 0) |
|
sizer_29.Add(self.label_3, 0, 0, 0) |
|
sizer_32.Add(self.spin_ctrl_45, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_32.Add((20, 20), 0, wx.EXPAND, 0) |
|
sizer_32.Add(self.label_4, 0, wx.ALIGN_BOTTOM, 0) |
|
sizer_29.Add(sizer_32, 1, wx.EXPAND, 0) |
|
sizer_28.Add(sizer_29, 1, 0, 0) |
|
sizer_28.Add((20, 20), 1, 0, 0) |
|
sizer_28.Add(self.button_5, 0, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_BOTTOM, 0) |
|
sizer_21.Add(sizer_28, 1, wx.EXPAND, 0) |
|
sizer_16.Add(sizer_21, 0, wx.LEFT|wx.EXPAND, 0) |
|
sizer_14.Add(self.label_2, 0, 0, 0) |
|
sizer_14.Add(sizer_16, 1, wx.EXPAND, 0) |
|
sizer_14.Add((20, 20), 0, 0, 0) |
|
sizer_13.Add(sizer_14, 1, wx.EXPAND, 0) |
|
sizer_35.Add((20, 20), 0, 0, 0) |
|
sizer_35.Add(self.static_line_5, 0, wx.EXPAND, 0) |
|
sizer_35.Add((20, 20), 0, 0, 0) |
|
sizer_33.Add(sizer_35, 0, wx.EXPAND, 0) |
|
sizer_34_copy.Add(self.text_ctrl_1_copy, 1, 0, 0) |
|
sizer_34_copy.Add((20, 20), 0, 0, 0) |
|
sizer_34_copy.Add(self.button_6_copy, 0, 0, 0) |
|
sizer_34_copy.Add((20, 20), 0, 0, 0) |
|
sizer_33.Add(self.label_5, 0, 0, 0) |
|
sizer_33.Add(sizer_34_copy, 0, wx.EXPAND, 0) |
|
sizer_36.Add((20, 20), 1, wx.EXPAND, 0) |
|
sizer_37.Add(self.button_7, 1, 0, 0) |
|
sizer_37.Add((20, 20), 1, 0, 0) |
|
sizer_37.Add(self.button_8, 1, 0, 0) |
|
sizer_36.Add(sizer_37, 1, wx.EXPAND, 0) |
|
sizer_36.Add((20, 20), 0, 0, 0) |
|
sizer_33.Add(sizer_36, 1, wx.EXPAND, 0) |
|
sizer_13.Add(sizer_33, 1, wx.EXPAND, 0) |
|
sizer_12.Add(sizer_13, 1, wx.EXPAND, 0) |
|
sizer_12.Add((20, 20), 0, 0, 0) |
|
sizer_1.Add(sizer_12, 1, wx.EXPAND, 0) |
|
sizer_15.Add(sizer_1, 1, wx.EXPAND, 0) |
|
self.SetAutoLayout(True) |
|
self.SetSizer(sizer_15) |
|
sizer_15.Fit(self) |
|
sizer_15.SetSizeHints(self) |
|
self.Layout() |
|
# end wxGlade |
|
|
|
# obtiene el nombre d ela lista negra seleccionada |
|
def lista_actual(self,event): |
|
bl_lst.nombre=self.list_box_4_copy.GetString(self.list_box_4_copy.GetSelections()[0]) |
|
|
|
# Comprueba si se ha seleccionado una lista antes de realizar un cambio |
|
def aviso(self,event): |
|
if bl_lst.nombre=='': |
|
dlg = wx.MessageDialog(self, _("No ha seleccionado ninguna lista negra local!"), |
|
_('Aviso ACEPT'), wx.OK | wx.ICON_EXCLAMATION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
dlg.Destroy() |
|
elif event.GetId()==self.button_3.GetId(): |
|
self.elimina_lista_local() |
|
self.rellena_grupos() |
|
bl_lst.nombre='' |
|
elif event.GetId()==self.button_2.GetId(): |
|
self.modifica_gr() |
|
|
|
# borra una lista del archivo de configuracion |
|
def elimina_lista_local(self): |
|
from confSquid import elimina_blacklist |
|
from inicSquid import apply_conf_squidguard |
|
from watcherSquid import establece_permisos |
|
|
|
dlg = wx.MessageDialog(self, _("Esta seguro de que desea eliminar la lista")+" "+bl_lst.nombre+_("?"), |
|
_('Aviso ACEPT'), wx.YES_NO | wx.ICON_QUESTION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
if dlg.ShowModal()==wx.ID_YES: |
|
elimina_blacklist(bl_lst.nombre,archivo.configuracion) |
|
apply_conf_squidguard(archivo.aceptlog) |
|
dlg.Destroy() |
|
else: |
|
dlg.Destroy() |
|
|
|
# Elimina las fuentes de la interfaz grafica |
|
def elimina_fuente(self,event): |
|
if len(self.list_box_7.GetSelections())==0: |
|
dlg = wx.MessageDialog(self, _("No hay ninguna lista seleccionada para ser eliminada"), |
|
_('Aviso ACEPT'), wx.OK | wx.ICON_INFORMATION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
else: |
|
lista=[] |
|
for i in self.list_box_7.GetSelections(): |
|
lista.append(self.list_box_7.GetString(i)) |
|
|
|
items=self.list_box_7.GetCount() |
|
for i in range(items): |
|
for j in lista: |
|
if self.list_box_7.GetString(i)==j: |
|
self.list_box_7.Delete(i) |
|
|
|
# Incorpora a la interfaz grafica los grupos configurados |
|
def rellena_grupos(self): |
|
from confSquid import local_blacklists, lee_fuentes |
|
from func import consulta_campo |
|
local_blacklists=local_blacklists(archivo.configuracion) |
|
system_blacklists=lee_fuentes(archivo.configuracion) |
|
self.list_box_4_copy.Clear() |
|
self.list_box_7.Clear() |
|
for i in local_blacklists: |
|
self.list_box_4_copy.Append(i) |
|
for i in system_blacklists: |
|
self.list_box_7.Append(i) |
|
freq=consulta_campo('fr_update',archivo.aceptlog) |
|
self.spin_ctrl_45.SetValue(int(freq)) |
|
|
|
# a�de una uri a la lista de uris que se usan para actualizar las listas negras |
|
def inserta(self,event): |
|
fuente=self.text_ctrl_1_copy.GetValue() |
|
if fuente: |
|
self.list_box_7.Append(fuente) |
|
items=self.list_box_7.GetCount() |
|
items=items-1 |
|
max=items |
|
if items>0: |
|
for i in range(items): |
|
if i<=max: |
|
if self.list_box_7.GetString(i)==self.list_box_7.GetString(i+1): |
|
self.list_box_7.Delete(i) |
|
max=max-1 |
|
if i>max: |
|
break |
|
self.text_ctrl_1_copy.Clear() |
|
else: |
|
dlg = wx.MessageDialog(self, _("No se ha introducido una URL"), |
|
_('Aviso ACEPT'), wx.OK | wx.ICON_INFORMATION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
|
|
# muestra la interfaz para crear listas negras locales |
|
def crea_grupo(self, event): |
|
if self.crea: |
|
self.crea=False |
|
win=MyChild6(self, -1, "") |
|
win.Show() |
|
|
|
# Muestra la interfaz para modificar las listas negras locales |
|
def modifica_gr(self): |
|
if self.modifica: |
|
self.modifica=False |
|
win=MyChild7(self, -1, "") |
|
win.Show() |
|
|
|
# Hace que se descarguen las listas negras de las uris pertinentes las configura |
|
def actualiza(self,event): |
|
from watcherSquid import ublacklists,establece_permisos |
|
from confSquid import actualiza_fuentes |
|
from func_blacklists import revisa_blacklists |
|
|
|
padre=self.GetParent() |
|
self.Hide() |
|
self.Update() |
|
padre.Hide() |
|
padre.Update() |
|
|
|
fuentes=[] |
|
freq=self.spin_ctrl_45.GetValue() |
|
items=self.list_box_7.GetCount() |
|
for i in range(items): |
|
fuentes.append(self.list_box_7.GetString(i)) |
|
|
|
actualiza_fuentes(fuentes,freq,archivo.configuracion) |
|
####barra |
|
from os import system, kill |
|
from time import sleep |
|
f=open("/tmp/milog2","w") |
|
f.close() |
|
system('/usr/share/acept/barra.py "Configurando listas negras" &') |
|
sleep(5) |
|
pbl=ublacklists(archivo.configuracion) |
|
revisa_blacklists(archivo.configuracion) |
|
establece_permisos(archivo.configuracion) |
|
nproblems=len(pbl[0]) |
|
if nproblems>0: |
|
msg1=" Problemas con la descarga de :" |
|
msg2=" Problemas con extraccion de :" |
|
nmsg1=len(msg1) |
|
nmsg2=len(msg2) |
|
for i in range(nproblems): |
|
if pbl[1][i]==0: |
|
msg1=msg1+'\n'+pbl[0][i] |
|
if pbl[1][i]==1: |
|
msg2=msg2+'\n'+pbl[0][i] |
|
|
|
msg_dlg="" |
|
if len(msg1)>nmsg1: |
|
msg_dlg=msg_dlg+msg1 |
|
if len(msg2)>nmsg2: |
|
if len(msg_dlg)>0: |
|
msg_dlg=msg_dlg+'\n' |
|
msg_dlg=msg_dlg+msg2 |
|
|
|
dlg = wx.MessageDialog(self, msg_dlg, _('Aviso ACEPT'), wx.OK | wx.ICON_INFORMATION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
|
|
try: |
|
f=open("/tmp/bklprg","r") |
|
pid=f.read() |
|
kill(int(pid),9) |
|
system("rm /tmp/bklprg") |
|
except: |
|
pass |
|
dlg = wx.MessageDialog(self, _(" Finalizado proceso de actualizacion.\nLe recomendamos revisar las listas asignadas a los usuarios. "), |
|
_('Aviso ACEPT'), wx.OK | wx.ICON_INFORMATION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
padre.Show() |
|
self.Show() |
|
|
|
# Aplica los cambios a los archivos de configuracion |
|
def acepta(self,event): |
|
from confSquid import actualiza_fuentes |
|
from inicSquid import apply_conf_squidguard |
|
|
|
fuentes=[] |
|
freq=self.spin_ctrl_45.GetValue() |
|
items=self.list_box_7.GetCount() |
|
for i in range(items): |
|
fuentes.append(self.list_box_7.GetString(i)) |
|
|
|
actualiza_fuentes(fuentes,freq,archivo.configuracion) |
|
|
|
apply_conf_squidguard(archivo.aceptlog) |
|
|
|
dlg = wx.MessageDialog(self, _(" Listado de fuentes actualizado.\n"+_("Desea salir de esta ventana?")), |
|
_('Aviso ACEPT'), wx.YES_NO | wx.ICON_QUESTION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
if dlg.ShowModal()==wx.ID_YES: |
|
dlg.Destroy() |
|
self.cancela(self) |
|
else: |
|
dlg.Destroy() |
|
|
|
|
|
def cancela(self,event): |
|
child.listas=False |
|
self.Destroy() |
|
|
|
# end of class MyChild3 |
|
|
|
|
|
class MyChild4(wx.Frame): |
|
def __init__(self, *args, **kwds): |
|
from os.path import isfile |
|
# begin wxGlade: MyFrame.__init__ |
|
kwds["style"] = wx.DEFAULT_FRAME_STYLE |
|
wx.Frame.__init__(self, *args, **kwds) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/fondo_junta.gif", wx.BITMAP_TYPE_ANY)) |
|
self.SetIcon(_icon) |
|
self.label_2 = wx.StaticText(self, -1, " Texto") |
|
self.text_ctrl_2 = wx.TextCtrl(self, -1, "") |
|
self.button_1 = wx.Button(self, -1, "Incluir -->") |
|
self.button_1_copy = wx.Button(self, -1, "<-- Eliminar") |
|
self.button_1_copy_1 = wx.Button(self, -1, "Eliminar todo") |
|
self.static_line_1 = wx.StaticLine(self, -1, style=wx.LI_VERTICAL) |
|
self.label_1 = wx.StaticText(self, -1, "Expresiones", style=wx.ALIGN_CENTRE) |
|
self.text_ctrl_2.SetMinSize((183, 30)) |
|
self.list_box_1 = wx.ListBox(self, -1, choices=[],style=wx.LB_SINGLE) |
|
#self.text_ctrl_1 = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE|wx.TE_READONLY) |
|
self.static_line_2 = wx.StaticLine(self, -1) |
|
self.button_5 = wx.Button(self, -1, "Aceptar") |
|
self.button_6 = wx.Button(self, -1, "Salir") |
|
|
|
# Lee el archivo /etc/acept/watcherCat/expresiones y rellena list_box_1 |
|
if isfile("/etc/acept/watcherCat/expresiones/expressions"): |
|
f=open("/etc/acept/watcherCat/expresiones/expressions","r") |
|
lineas=f.read() |
|
lineas=lineas.replace("(","").replace(")","").replace("\n","") |
|
for i in lineas.split('|'): |
|
if len(i)>0: |
|
self.list_box_1.Append(i) |
|
else: |
|
from os.path import isdir |
|
if not isdir("/etc/acept/watcherCat/expresiones"): |
|
from os import mkdir |
|
mkdir("/etc/acept/watcherCat/expresiones") |
|
|
|
self.__set_properties() |
|
self.__do_layout() |
|
|
|
wx.EVT_BUTTON(self, self.button_1.GetId(),self.incluir) |
|
wx.EVT_BUTTON(self,self.button_1_copy.GetId(),self.elimina) |
|
wx.EVT_BUTTON(self, self.button_1_copy_1.GetId(),self.limpia_todo) |
|
wx.EVT_BUTTON(self, self.button_5.GetId(),self.aceptar) |
|
wx.EVT_BUTTON(self, self.button_6.GetId(),self.cancela) |
|
wx.EVT_CLOSE(self,self.cancela) |
|
# end wxGlade |
|
|
|
def elimina(self,event): |
|
fuente=self.list_box_1.GetSelection() |
|
self.list_box_1.Delete(fuente) |
|
|
|
def aceptar(self,event): |
|
from os.path import isdir |
|
from func import parse_file |
|
from func_blacklists import existe_grupo, append_grupo, revisa_grupo, revisa_blacklists, renuevadir |
|
from watcherSquid import compila_libreria, establece_permisos |
|
from inicSquid import apply_conf_squidguard |
|
from os import system, listdir, mkdir,kill |
|
|
|
padre=self.GetParent() |
|
self.Hide() |
|
self.Update() |
|
padre.Hide() |
|
padre.Update() |
|
|
|
items=self.list_box_1.GetCount() |
|
if items>0: |
|
if not isdir("/etc/acept/watcherCat/expresiones"): |
|
mkdir("/etc/acept/watcherCat/expresiones") |
|
f=open("/etc/acept/watcherCat/expresiones/expressions","w") |
|
f.write('(') |
|
for i in range(items): |
|
f.write(self.list_box_1.GetString(i)) |
|
if i<items-1: |
|
f.write('|') |
|
f.write(')\n') |
|
f.close() |
|
|
|
system("cp -r /etc/acept/watcherCat/expresiones /var/lib/squidguard/db") |
|
xmldoc=parse_file(archivo.configuracion) |
|
grupos=xmldoc.getElementsByTagName('group') |
|
if existe_grupo("expresiones",grupos)==-1: |
|
append_grupo('expresiones','',xmldoc,archivo.configuracion,"/var/lib/squidguard/db/expresiones") |
|
else: |
|
revisa_grupo('expresiones','',xmldoc,archivo.configuracion,"/var/lib/squidguard/db/expresiones") |
|
|
|
compila_libreria("expresiones",archivo.aceptlog) |
|
revisa_blacklists(archivo.configuracion) |
|
renuevadir("/tmp/watch_blacklist", archivo.aceptlog) |
|
apply_conf_squidguard(archivo.aceptlog) |
|
establece_permisos(archivo.configuracion) |
|
|
|
mensaje="Proceso finalizado correctamente \n No olvide incorporar a los usuarios la lista expresiones." |
|
dlg = wx.MessageDialog(self, _(mensaje), |
|
_('Aviso ACEPT'), wx.OK | wx.ICON_INFORMATION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
padre.Show() |
|
child.expresiones=False |
|
self.Destroy() |
|
|
|
|
|
def incluir(self,event): |
|
fuente=self.text_ctrl_2.GetValue() |
|
if fuente: |
|
items=self.list_box_1.GetCount() |
|
items=items |
|
lista=[] |
|
existe=False |
|
for i in range(items): |
|
lista.append(self.list_box_1.GetString(i)) |
|
for i in lista: |
|
if i==fuente: |
|
existe=True |
|
break |
|
if not existe: |
|
lista.append(fuente) |
|
lista.sort() |
|
self.list_box_1.Clear() |
|
for i in lista: |
|
self.list_box_1.Append(i) |
|
|
|
self.text_ctrl_2.Clear() |
|
else: |
|
dlg = wx.MessageDialog(self, _("No se ha introducido ninguna expresion"), |
|
_('Aviso ACEPT'), wx.OK | wx.ICON_INFORMATION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
|
|
|
|
def limpia_todo(self,event): |
|
self.list_box_1.Clear() |
|
|
|
def oculta(self): |
|
from os import system |
|
from os.path import isfile |
|
self.Hide() |
|
padre=self.GetParent() |
|
padre.Hide() |
|
|
|
def cancela(self,event): |
|
child.expresiones=False |
|
self.Destroy() |
|
|
|
def __set_properties(self): |
|
# begin wxGlade: MyFrame.__set_properties |
|
self.SetTitle("Configurar expresiones regulares") |
|
self.text_ctrl_2.SetMinSize((183, 30)) |
|
self.list_box_1.SetMinSize((300, 120)) |
|
# end wxGlade |
|
|
|
def __do_layout(self): |
|
# begin wxGlade: MyFrame.__do_layout |
|
sizer_1 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_2 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_3 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_15 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_16 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_5 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_6_copy = wx.BoxSizer(wx.VERTICAL) |
|
sizer_7 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_4 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_11_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_1 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_11 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_10 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_12 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_9 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_8 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_1.Add((10, 10), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_2.Add((10, 10), 0, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_8.Add((10, 10), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_4.Add(sizer_8, 0, wx.EXPAND, 0) |
|
sizer_9.Add(self.label_2, 1, wx.ALIGN_BOTTOM|wx.ADJUST_MINSIZE, 0) |
|
sizer_4.Add(sizer_9, 0, wx.EXPAND, 0) |
|
sizer_12.Add(self.text_ctrl_2, 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_10.Add(sizer_12, 1, 0, 0) |
|
sizer_14.Add((55, 18), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_14.Add(self.button_1, 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_10.Add(sizer_14, 1, wx.EXPAND, 0) |
|
sizer_4.Add(sizer_10, 0, wx.EXPAND, 0) |
|
sizer_4.Add((10, 10), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_11.Add((10, 10), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_14_copy.Add((55, 18), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_14_copy.Add(self.button_1_copy, 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11.Add(sizer_14_copy, 1, wx.EXPAND, 0) |
|
sizer_4.Add(sizer_11, 0, wx.EXPAND, 0) |
|
sizer_4.Add((10, 10), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy.Add((10, 10), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_14_copy_1.Add((55, 18), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_14_copy_1.Add(self.button_1_copy_1, 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_11_copy.Add(sizer_14_copy_1, 1, wx.EXPAND, 0) |
|
sizer_4.Add(sizer_11_copy, 0, wx.EXPAND, 0) |
|
sizer_4.Add((10, 10), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_5.Add(sizer_4, 1, wx.EXPAND, 0) |
|
sizer_7.Add((10, 10), 0, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_7.Add(self.static_line_1, 0, wx.EXPAND, 0) |
|
sizer_7.Add((10, 10), 0, wx.EXPAND|wx.ADJUST_MINSIZE, 0) |
|
sizer_5.Add(sizer_7, 0, wx.EXPAND, 0) |
|
sizer_6_copy.Add(self.label_1, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ADJUST_MINSIZE, 0) |
|
sizer_6_copy.Add(self.list_box_1, 1, wx.ADJUST_MINSIZE, 0) |
|
#sizer_6_copy.Add(self.text_ctrl_1, 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_6_copy.Add((10, 10), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_5.Add(sizer_6_copy, 0, wx.EXPAND, 0) |
|
sizer_3.Add(sizer_5, 1, wx.EXPAND, 0) |
|
sizer_3.Add(self.static_line_2, 0, wx.EXPAND, 0) |
|
sizer_3.Add((10, 10), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_15.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_16.Add(self.button_5, 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_16.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_16.Add(self.button_6, 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_15.Add(sizer_16, 1, wx.EXPAND, 0) |
|
sizer_15.Add((20, 20), 1, wx.ADJUST_MINSIZE, 0) |
|
sizer_3.Add(sizer_15, 0, wx.EXPAND, 0) |
|
sizer_3.Add((10, 10), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_2.Add(sizer_3, 1, wx.EXPAND, 0) |
|
sizer_2.Add((10, 10), 0, wx.ADJUST_MINSIZE, 0) |
|
sizer_1.Add(sizer_2, 1, wx.EXPAND, 0) |
|
self.SetAutoLayout(True) |
|
self.SetSizer(sizer_1) |
|
sizer_1.Fit(self) |
|
sizer_1.SetSizeHints(self) |
|
self.Layout() |
|
# end wxGlade |
|
|
|
|
|
# Esta ventana se encarga de asignar listas negras o blancas a usuarios determinados |
|
class MyChild5(wx.Frame): |
|
def __init__(self, *args, **kwds): |
|
# begin wxGlade: MyChild5.__init__ |
|
kwds["style"] = wx.DEFAULT_FRAME_STYLE |
|
wx.Frame.__init__(self, *args, **kwds) |
|
self.label_18_copy_1 = wx.StaticText(self, -1, _("Usuarios")) |
|
self.list_box_14 = wx.ListBox(self, -1, choices=[],style=wx.LB_SINGLE) |
|
self.button_28 = wx.Button(self, -1, _("Aceptar")) |
|
self.button_29 = wx.Button(self, -1, _("Cancelar")) |
|
self.static_line_7 = wx.StaticLine(self, -1, style=wx.LI_VERTICAL) |
|
self.label_18 = wx.StaticText(self, -1, _("Listas negras del sistema")) |
|
self.label_19 = wx.StaticText(self, -1, _("Lista negra del usuario")) |
|
self.list_box_12 = wx.ListBox(self, -1, choices=[],style=wx.LB_EXTENDED|wx.LB_SORT) |
|
self.button_30_copy = wx.Button(self, -1, _("Insertar todo")) |
|
self.button_31_copy_copy = wx.Button(self, -1, "-->") |
|
self.button_32_copy = wx.Button(self, -1, "<--") |
|
self.button_33_copy = wx.Button(self, -1, _("Borrar todo")) |
|
self.list_box_13 = wx.ListBox(self, -1, choices=[],style=wx.LB_EXTENDED|wx.LB_SORT) |
|
self.static_line_8 = wx.StaticLine(self, -1) |
|
self.label_18_copy = wx.StaticText(self, -1, _("Introduzca un nuevo dominio")) |
|
self.label_19_copy = wx.StaticText(self, -1, _("Lista blanca del usuario")) |
|
self.text_ctrl_8 = wx.TextCtrl(self, -1, "") |
|
self.button_34_copy = wx.Button(self, -1, "-->") |
|
self.button_35_copy = wx.Button(self, -1, "<--") |
|
self.button_36_copy = wx.Button(self, -1, _("Borrar todo")) |
|
self.list_box_15 = wx.ListBox(self, -1, choices=[],style=wx.LB_MULTIPLE|wx.LB_SORT) |
|
self.rellena_usuarios() |
|
self.listas_negras() |
|
self.SetFocus() |
|
self.__set_properties() |
|
self.__do_layout() |
|
|
|
self.vieja_sel=(-1) |
|
self.viejo_last=False |
|
self.contador=-1 |
|
|
|
wx.EVT_CLOSE(self,self.cancela) |
|
wx.EVT_BUTTON(self, self.button_30_copy.GetId(), self.in_todo) |
|
wx.EVT_BUTTON(self, self.button_31_copy_copy.GetId(), self.inserta_blacklist) |
|
wx.EVT_BUTTON(self, self.button_32_copy.GetId(), self.elimina_listanegra) |
|
wx.EVT_BUTTON(self, self.button_33_copy.GetId(), self.del_todo) |
|
wx.EVT_BUTTON(self, self.button_34_copy.GetId(), self.inserta_whitelist) |
|
wx.EVT_BUTTON(self, self.button_35_copy.GetId(), self.elimina_whitelist) |
|
wx.EVT_BUTTON(self, self.button_36_copy.GetId(), self.del_todo_bl) |
|
wx.EVT_BUTTON(self, self.button_28.GetId(), self.acepta) |
|
wx.EVT_BUTTON(self, self.button_29.GetId(), self.cancela) |
|
wx.EVT_LISTBOX(self,self.list_box_14.GetId(),self.datos_user) |
|
wx.EVT_LISTBOX(self,self.list_box_12.GetId(),self.l12) |
|
# end wxGlade |
|
|
|
def __set_properties(self): |
|
# begin wxGlade: MyChild5.__set_properties |
|
self.SetTitle(_("Contenidos")) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/fondo_junta.gif", wx.BITMAP_TYPE_ANY)) |
|
self.SetIcon(_icon) |
|
self.Centre |
|
# end wxGlade |
|
|
|
def __do_layout(self): |
|
# begin wxGlade: MyChild5.__do_layout |
|
sizer_73 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_74 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_76 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_80 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_81 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_87 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_88 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_89 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_90_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_82 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_84 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_90 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_75 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_77 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_78 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_79 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_85 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_86 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_90_copy_1 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_90_copy_1.Add((20, 20), 0, 0, 0) |
|
sizer_90_copy_1.Add(self.label_18_copy_1, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_85.Add(sizer_90_copy_1, 0, 0, 0) |
|
sizer_86.Add((20, 20), 0, 0, 0) |
|
sizer_86.Add(self.list_box_14, 1, wx.EXPAND, 0) |
|
sizer_85.Add(sizer_86, 1, wx.EXPAND, 0) |
|
sizer_77.Add(sizer_85, 1, wx.EXPAND, 0) |
|
sizer_78.Add((20, 20), 0, 0, 0) |
|
sizer_79.Add((20, 20), 1, 0, 0) |
|
sizer_79.Add(self.button_28, 0, 0, 0) |
|
sizer_79.Add((20, 20), 1, 0, 0) |
|
sizer_79.Add(self.button_29, 0, 0, 0) |
|
sizer_78.Add(sizer_79, 1, wx.EXPAND, 0) |
|
sizer_78.Add((20, 20), 0, 0, 0) |
|
sizer_77.Add(sizer_78, 0, wx.EXPAND, 0) |
|
sizer_75.Add(sizer_77, 1, wx.EXPAND, 0) |
|
sizer_75.Add((20, 20), 0, 0, 0) |
|
sizer_74.Add(sizer_75, 0, wx.EXPAND, 0) |
|
sizer_80.Add(self.static_line_7, 0, wx.EXPAND, 0) |
|
sizer_80.Add((20, 20), 0, 0, 0) |
|
sizer_90.Add(self.label_18, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_90.Add((20, 20), 1, 0, 0) |
|
sizer_90.Add(self.label_19, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_81.Add(sizer_90, 0, wx.EXPAND, 0) |
|
sizer_82.Add(self.list_box_12, 1, wx.EXPAND, 0) |
|
sizer_82.Add((20, 20), 0, 0, 0) |
|
sizer_84.Add((20, 20), 1, 0, 0) |
|
sizer_84.Add(self.button_30_copy, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_84.Add((20, 20), 1, 0, 0) |
|
sizer_84.Add(self.button_31_copy_copy, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_84.Add((20, 20), 0, 0, 0) |
|
sizer_84.Add(self.button_32_copy, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_84.Add((20, 20), 1, 0, 0) |
|
sizer_84.Add(self.button_33_copy, 0, wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_84.Add((20, 20), 1, 0, 0) |
|
sizer_82.Add(sizer_84, 0, wx.EXPAND, 0) |
|
sizer_82.Add((20, 20), 0, 0, 0) |
|
sizer_82.Add(self.list_box_13, 1, wx.EXPAND, 0) |
|
sizer_81.Add(sizer_82, 1, wx.EXPAND, 0) |
|
sizer_81.Add((20, 20), 0, 0, 0) |
|
sizer_81.Add(self.static_line_8, 0, wx.EXPAND, 0) |
|
sizer_90_copy.Add(self.label_18_copy, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_90_copy.Add((20, 20), 1, wx.EXPAND, 0) |
|
sizer_90_copy.Add(self.label_19_copy, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_87.Add(sizer_90_copy, 0, wx.EXPAND, 0) |
|
sizer_88.Add(self.text_ctrl_8, 1, 0, 0) |
|
sizer_88.Add((20, 20), 0, 0, 0) |
|
sizer_89.Add(self.button_34_copy, 0, 0, 0) |
|
sizer_89.Add((20, 20), 0, 0, 0) |
|
sizer_89.Add(self.button_35_copy, 0, 0, 0) |
|
sizer_89.Add((20, 20), 1, wx.EXPAND, 0) |
|
sizer_89.Add(self.button_36_copy, 0, 0, 0) |
|
sizer_88.Add(sizer_89, 0, wx.EXPAND, 0) |
|
sizer_88.Add((20, 20), 0, 0, 0) |
|
sizer_88.Add(self.list_box_15, 1, wx.EXPAND, 0) |
|
sizer_87.Add(sizer_88, 1, wx.EXPAND, 0) |
|
sizer_81.Add(sizer_87, 1, wx.EXPAND, 0) |
|
sizer_81.Add((20, 20), 0, 0, 0) |
|
sizer_80.Add(sizer_81, 1, wx.EXPAND, 0) |
|
sizer_80.Add((20, 20), 0, 0, 0) |
|
sizer_76.Add(sizer_80, 1, wx.EXPAND, 0) |
|
sizer_74.Add(sizer_76, 1, wx.EXPAND, 0) |
|
sizer_73.Add(sizer_74, 1, wx.EXPAND, 0) |
|
self.SetAutoLayout(True) |
|
self.SetSizer(sizer_73) |
|
sizer_73.Fit(self) |
|
sizer_73.SetSizeHints(self) |
|
self.Layout() |
|
# end wxGlade |
|
|
|
|
|
def l12(self,event): |
|
try: |
|
nueva_sel=self.list_box_12.GetSelections() |
|
self.contador=self.contador+1 |
|
last=-1 |
|
if self.contador>0 and self.vieja_sel!=(-1): |
|
self.contador=1 |
|
items=len(self.vieja_sel) |
|
for i in range(items): |
|
if self.vieja_sel[i]!=nueva_sel[i]: |
|
last=i |
|
break |
|
if self.viejo_last: |
|
if self.vieja_sel[self.viejo_last] == nueva_sel[last]: |
|
self.list_box_12.Deselect(self.vieja_sel[self.viejo_last]) |
|
|
|
if self.contador>0: |
|
self.viejo_last=-1 |
|
self.vieja_sel=self.list_box_12.GetSelections() |
|
except: |
|
self.vieja_sel=self.list_box_12.GetSelections() |
|
|
|
# quita una lista negra al usuario seleccionado |
|
def elimina_listanegra(self,event): |
|
lista=[] |
|
for i in self.list_box_13.GetSelections(): |
|
lista.append(self.list_box_13.GetString(i)) |
|
|
|
items=self.list_box_13.GetCount() |
|
for i in range(items): |
|
for j in lista: |
|
if self.list_box_13.GetString(i)==j: |
|
self.list_box_13.Delete(i) |
|
|
|
# quita una lista blanca al usuario seleccionado |
|
def elimina_whitelist(self,event): |
|
lista=[] |
|
for i in self.list_box_15.GetSelections(): |
|
lista.append(self.list_box_15.GetString(i)) |
|
|
|
items=self.list_box_15.GetCount() |
|
for i in range(items): |
|
for j in lista: |
|
if self.list_box_15.GetString(i)==j: |
|
self.list_box_15.Delete(i) |
|
|
|
# a�de una lista blanca al usuario seleccionado |
|
def inserta_whitelist(self,event): |
|
self.list_box_15.Append(self.text_ctrl_8.GetValue()) |
|
self.text_ctrl_8.Clear() |
|
items=self.list_box_15.GetCount() |
|
items=items-1 |
|
max=items |
|
if items>0: |
|
for i in range(items): |
|
if i<=max: |
|
if self.list_box_15.GetString(i)==self.list_box_15.GetString(i+1): |
|
self.list_box_15.Delete(i) |
|
max=max-1 |
|
if i>max: |
|
break |
|
|
|
# a�de una lista negra al usuario seleccionado |
|
def inserta_blacklist(self,event): |
|
for i in self.list_box_12.GetSelections(): |
|
self.list_box_13.Append(self.list_box_12.GetString(i)) |
|
|
|
items=self.list_box_13.GetCount() |
|
items=items-1 |
|
max=items |
|
if items>0: |
|
for i in range(items): |
|
if i<=max: |
|
if self.list_box_13.GetString(i)==self.list_box_13.GetString(i+1): |
|
self.list_box_13.Delete(i) |
|
max=max-1 |
|
if i>max: |
|
break |
|
# borra todas las listas negras del usuario |
|
def del_todo(self,event): |
|
self.list_box_13.Clear() |
|
|
|
# borra todas las listas blancas del usuario |
|
def del_todo_bl(self,event): |
|
self.list_box_15.Clear() |
|
|
|
# inserta todas las listas negras a un usuario |
|
def in_todo(self,event): |
|
self.list_box_13.Clear() |
|
items=self.list_box_12.GetCount() |
|
for i in range(items): |
|
self.list_box_13.Append(self.list_box_12.GetString(i)) |
|
|
|
# Lee las listas negras del sistema |
|
def listas_negras(self): |
|
from confSquid import listado_blacklists |
|
listas=listado_blacklists(archivo.configuracion) |
|
for i in listas: |
|
self.list_box_12.Append(i) |
|
|
|
# Toma los datos de la configuracion del usuario seleccionado |
|
def datos_user(self,event): |
|
from confSquid import lee_userblacklists, lee_whitelist |
|
usr=self.list_box_14.GetString(self.list_box_14.GetSelections()[0]) |
|
if len(self.list_box_12.GetSelections())>0: |
|
for i in range(self.list_box_12.GetCount()): |
|
self.list_box_12.SetSelection(i,False) |
|
self.list_box_13.Clear() |
|
self.list_box_15.Clear() |
|
self.text_ctrl_8.Clear() |
|
lis_ngr=lee_userblacklists(usr,archivo.configuracion) |
|
lis_bl=lee_whitelist(usr,archivo.configuracion) |
|
for i in lis_ngr: |
|
self.list_box_13.Append(i) |
|
for i in lis_bl: |
|
self.list_box_15.Append(i) |
|
|
|
# lee los usuarios del sistema |
|
def rellena_usuarios (self): |
|
self.list_box_14.Clear() |
|
tmp_us=lista_usuarios(int(uid.min)) |
|
for i in tmp_us: |
|
self.list_box_14.Append(i) |
|
# Graba cambios de filtrado de contenido para usuario en el archivo de configuracion |
|
def acepta (self,event): |
|
from confSquid import actualiza_userblacklists, actualiza_whitelist |
|
|
|
def guarda (user): |
|
from func import control_web_user |
|
from inicSquid import inic_squid_user, inic_sarg_user, apply_conf_squidguard_user, inic_direct_user |
|
|
|
#Se vierten cambios realizados para usuario |
|
if control_web_user(user,archivo.aceptlog)==1: |
|
inic_squid_user(user,archivo.aceptlog) |
|
inic_sarg_user(user,archivo.aceptlog) |
|
apply_conf_squidguard_user(user,archivo.aceptlog) |
|
inic_direct_user(user,archivo.aceptlog) |
|
|
|
if self.list_box_14.GetSelections(): |
|
usr=self.list_box_14.GetString(self.list_box_14.GetSelections()[0]) |
|
msg=_("Guardados los cambios para ")+"'"+usr+"'\n"+_("Desea salir de esta ventana?") |
|
listas_negras=[] |
|
lista_blanca=[] |
|
items_ng=self.list_box_13.GetCount() |
|
for i in range(items_ng): |
|
listas_negras.append(self.list_box_13.GetString(i)) |
|
items_bl=self.list_box_15.GetCount() |
|
for i in range(items_bl): |
|
lista_blanca.append(self.list_box_15.GetString(i)) |
|
|
|
if len(self.list_box_12.GetSelections())>0: |
|
for i in range(self.list_box_12.GetCount()): |
|
self.list_box_12.SetSelection(i,False) |
|
|
|
nodo_usuario(usr) |
|
actualiza_userblacklists(usr,listas_negras,archivo.configuracion) |
|
actualiza_whitelist(usr,lista_blanca,archivo.configuracion) |
|
guarda(usr) |
|
|
|
dlg = wx.MessageDialog(self, msg,_('Aviso ACEPT'), wx.YES_NO | wx.ICON_QUESTION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
if dlg.ShowModal()==wx.ID_YES: |
|
dlg.Destroy() |
|
self.cancela(self) |
|
else: |
|
dlg.Destroy() |
|
else: |
|
msg=_("No ha seleccionado ningun usuario!")+"\n"+_("Desea intentarlo de nuevo?") |
|
|
|
dlg = wx.MessageDialog(self, msg,_('Aviso ACEPT'), wx.YES_NO | wx.ICON_QUESTION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
if dlg.ShowModal()==wx.ID_YES: |
|
dlg.Destroy() |
|
else: |
|
dlg.Destroy() |
|
self.cancela(self) |
|
|
|
|
|
def cancela (self, event): |
|
child.contenidos=False |
|
self.Destroy() |
|
|
|
# end of class MyChild5 |
|
|
|
|
|
# Interfaz para la creacion de una lista local |
|
class MyChild6(wx.Frame): |
|
def __init__(self, *args, **kwds): |
|
# begin wxGlade: Mychild6.__init__ |
|
kwds["style"] = wx.DEFAULT_FRAME_STYLE |
|
wx.Frame.__init__(self, *args, **kwds) |
|
self.label_1_copy = wx.StaticText(self, -1, _("Nombre")) |
|
self.text_ctrl_2 = wx.TextCtrl(self, -1, "") |
|
self.label_2 = wx.StaticText(self, -1, _("URL")) |
|
self.text_ctrl_4 = wx.TextCtrl(self, -1, "") |
|
self.button_1 = wx.Button(self, -1, "-->") |
|
self.button_2 = wx.Button(self, -1, "<--") |
|
self.button_3 = wx.Button(self, -1, _("Eliminar todo")) |
|
self.label_3 = wx.StaticText(self, -1, _("Lista de dominios")) |
|
self.list_box_3 = wx.ListBox(self, -1, choices=[],style=wx.LB_MULTIPLE|wx.LB_SORT) |
|
self.button_8 = wx.Button(self, -1, _("Aceptar")) |
|
self.button_9 = wx.Button(self, -1, _("Cancelar")) |
|
self.padre=self.GetParent() |
|
self.__set_properties() |
|
self.__do_layout() |
|
wx.EVT_CLOSE(self,self.cancela) |
|
wx.EVT_BUTTON(self, self.button_1.GetId(), self.inserta) |
|
wx.EVT_BUTTON(self, self.button_2.GetId(), self.borra) |
|
wx.EVT_BUTTON(self, self.button_3.GetId(), self.borra_todo) |
|
wx.EVT_BUTTON(self, self.button_8.GetId(), self.acepta) |
|
wx.EVT_BUTTON(self, self.button_9.GetId(), self.cancela) |
|
# end wxGlade |
|
|
|
def __set_properties(self): |
|
# begin wxGlade: Mychild6.__set_properties |
|
self.SetTitle(_("Crear lista local")) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/fondo_junta.gif", wx.BITMAP_TYPE_ANY)) |
|
self.SetIcon(_icon) |
|
self.Centre |
|
# end wxGlade |
|
|
|
def __do_layout(self): |
|
# begin wxGlade: Mychild6.__do_layout |
|
sizer_1 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_2 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_8 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_9 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_13 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_15 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_16 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_19 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_10 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_17 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_18 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_3 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_4 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_5 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_7 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_6 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_4.Add((20, 20), 0, 0, 0) |
|
sizer_6.Add((20, 20), 0, 0, 0) |
|
sizer_6.Add(self.label_1_copy, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_5.Add(sizer_6, 0, wx.EXPAND, 0) |
|
sizer_7.Add((20, 20), 0, 0, 0) |
|
sizer_7.Add(self.text_ctrl_2, 1, 0, 0) |
|
sizer_7.Add((20, 20), 0, 0, 0) |
|
sizer_5.Add(sizer_7, 1, wx.EXPAND, 0) |
|
sizer_4.Add(sizer_5, 1, wx.EXPAND, 0) |
|
sizer_3.Add(sizer_4, 1, wx.EXPAND, 0) |
|
sizer_2.Add(sizer_3, 0, wx.EXPAND, 0) |
|
sizer_8.Add((20, 20), 0, 0, 0) |
|
sizer_9.Add((20, 20), 0, 0, 0) |
|
sizer_18.Add(self.label_2, 0, 0, 0) |
|
sizer_18.Add(self.text_ctrl_4, 0, wx.EXPAND, 0) |
|
sizer_18.Add((20, 20), 0, 0, 0) |
|
sizer_17.Add(sizer_18, 0, wx.EXPAND, 0) |
|
sizer_9.Add(sizer_17, 1, wx.EXPAND, 0) |
|
sizer_9.Add((20, 20), 0, 0, 0) |
|
sizer_10.Add(self.button_1, 0, 0, 0) |
|
sizer_10.Add((20, 20), 0, 0, 0) |
|
sizer_10.Add(self.button_2, 0, 0, 0) |
|
sizer_10.Add((20, 20), 1, 0, 0) |
|
sizer_10.Add(self.button_3, 0, 0, 0) |
|
sizer_9.Add(sizer_10, 0, wx.EXPAND, 0) |
|
sizer_9.Add((20, 20), 0, 0, 0) |
|
sizer_19.Add(self.label_3, 0, 0, 0) |
|
sizer_19.Add(self.list_box_3, 1, wx.EXPAND, 0) |
|
sizer_14.Add(sizer_19, 1, wx.EXPAND, 0) |
|
sizer_14.Add((20, 20), 0, 0, 0) |
|
sizer_16.Add(self.button_8, 0, 0, 0) |
|
sizer_16.Add((20, 20), 1, wx.EXPAND, 0) |
|
sizer_16.Add(self.button_9, 0, 0, 0) |
|
sizer_15.Add(sizer_16, 1, wx.EXPAND, 0) |
|
sizer_14.Add(sizer_15, 0, wx.EXPAND, 0) |
|
sizer_13.Add(sizer_14, 1, wx.EXPAND, 0) |
|
sizer_9.Add(sizer_13, 1, wx.EXPAND, 0) |
|
sizer_9.Add((20, 20), 0, 0, 0) |
|
sizer_8.Add(sizer_9, 1, wx.EXPAND, 0) |
|
sizer_8.Add((20, 20), 0, 0, 0) |
|
sizer_2.Add(sizer_8, 1, wx.EXPAND, 0) |
|
sizer_1.Add(sizer_2, 1, wx.EXPAND, 0) |
|
self.SetAutoLayout(True) |
|
self.SetSizer(sizer_1) |
|
sizer_1.Fit(self) |
|
sizer_1.SetSizeHints(self) |
|
self.Layout() |
|
# end wxGlade |
|
|
|
# inserta una uri a la lista |
|
def inserta(self,event): |
|
uri=self.text_ctrl_4.GetValue() |
|
if uri: |
|
self.list_box_3.Append(uri) |
|
self.text_ctrl_4.Clear() |
|
items=self.list_box_3.GetCount() |
|
items=items-1 |
|
max=items |
|
if items>0: |
|
for i in range(items): |
|
if i<=max: |
|
if self.list_box_3.GetString(i)==self.list_box_3.GetString(i+1): |
|
self.list_box_3.Delete(i) |
|
max=max-1 |
|
if i>max: |
|
break |
|
|
|
# borra una uri de la lista |
|
def borra(self,event): |
|
lista=[] |
|
for i in self.list_box_3.GetSelections(): |
|
lista.append(self.list_box_3.GetString(i)) |
|
|
|
items=self.list_box_3.GetCount() |
|
for i in range(items): |
|
for j in lista: |
|
if self.list_box_3.GetString(i)==j: |
|
self.list_box_3.Delete(i) |
|
|
|
# borra todas las uris de la lista |
|
def borra_todo(self,event): |
|
self.list_box_3.Clear() |
|
|
|
# Aplica los cambios |
|
def acepta ( self, event): |
|
from confSquid import inserta_blacklist |
|
from inicSquid import apply_conf_squidguard |
|
from watcherSquid import compila_libreria, establece_permisos |
|
|
|
nombre=self.text_ctrl_2.GetValue() |
|
if nombre: |
|
msg=("Lista creada correctamente")+"\n" |
|
lst_dom=[] |
|
for i in range(self.list_box_3.GetCount()): |
|
lst_dom.append(self.list_box_3.GetString(i)) |
|
if lst_dom: |
|
inserta_blacklist(nombre,lst_dom,archivo.configuracion) |
|
compila_libreria(nombre,archivo.aceptlog) |
|
apply_conf_squidguard(archivo.aceptlog) |
|
establece_permisos(archivo.configuracion) |
|
icon=wx.ICON_INFORMATION |
|
else: |
|
msg=_("No hay urls en la lista de dominos")+"\n" |
|
icon=wx.ICON_EXCLAMATION |
|
else: |
|
msg=_("La Lista no tiene nombre")+"\n" |
|
icon=wx.ICON_EXCLAMATION |
|
|
|
dlg = wx.MessageDialog(self, msg, |
|
_('Aviso ACEPT'), wx.OK | icon) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
dlg.Destroy() |
|
self.cancela(self) |
|
|
|
def cancela ( self, event): |
|
self.padre.crea=True |
|
self.padre.rellena_grupos() |
|
self.Destroy() |
|
|
|
# end of class Mychild6 |
|
|
|
# Interfaz para la modificacion de una lista local |
|
class MyChild7(wx.Frame): |
|
def __init__(self, *args, **kwds): |
|
# begin wxGlade: Mychild7.__init__ |
|
kwds["style"] = wx.DEFAULT_FRAME_STYLE |
|
wx.Frame.__init__(self, *args, **kwds) |
|
self.label_1_copy = wx.StaticText(self, -1, _("Nombre")) |
|
self.text_ctrl_2 = wx.TextCtrl(self, -1, "",style=wx.TE_READONLY) |
|
self.label_2 = wx.StaticText(self, -1, _("URL")) |
|
self.text_ctrl_4 = wx.TextCtrl(self, -1, "") |
|
self.button_1 = wx.Button(self, -1, "-->") |
|
self.button_2 = wx.Button(self, -1, "<--") |
|
self.button_3 = wx.Button(self, -1, _("Eliminar todo")) |
|
self.label_3 = wx.StaticText(self, -1, _("Lista de dominios")) |
|
self.list_box_3 = wx.ListBox(self, -1, choices=[],style=wx.LB_MULTIPLE|wx.LB_SORT) |
|
self.button_8 = wx.Button(self, -1, _("Aceptar")) |
|
self.button_9 = wx.Button(self, -1, _("Cancelar")) |
|
self.padre=self.GetParent() |
|
self.__set_properties() |
|
self.__do_layout() |
|
self.rellena() |
|
wx.EVT_CLOSE(self,self.cancela) |
|
wx.EVT_BUTTON(self, self.button_1.GetId(), self.inserta) |
|
wx.EVT_BUTTON(self, self.button_2.GetId(), self.borra) |
|
wx.EVT_BUTTON(self, self.button_3.GetId(), self.borra_todo) |
|
wx.EVT_BUTTON(self, self.button_8.GetId(), self.acepta) |
|
wx.EVT_BUTTON(self, self.button_9.GetId(), self.cancela) |
|
# end wxGlade |
|
|
|
def __set_properties(self): |
|
# begin wxGlade: Mychild7.__set_properties |
|
self.SetTitle(_("Modificar lista local")) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/fondo_junta.gif", wx.BITMAP_TYPE_ANY)) |
|
self.SetIcon(_icon) |
|
self.Centre |
|
# end wxGlade |
|
|
|
def __do_layout(self): |
|
# begin wxGlade: Mychild7.__do_layout |
|
sizer_1 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_2 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_8 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_9 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_13 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_15 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_16 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_19 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_10 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_17 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_18 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_3 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_4 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_5 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_7 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_6 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_4.Add((20, 20), 0, 0, 0) |
|
sizer_6.Add((20, 20), 0, 0, 0) |
|
sizer_6.Add(self.label_1_copy, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_5.Add(sizer_6, 0, wx.EXPAND, 0) |
|
sizer_7.Add((20, 20), 0, 0, 0) |
|
sizer_7.Add(self.text_ctrl_2, 1, 0, 0) |
|
sizer_7.Add((20, 20), 0, 0, 0) |
|
sizer_5.Add(sizer_7, 1, wx.EXPAND, 0) |
|
sizer_4.Add(sizer_5, 1, wx.EXPAND, 0) |
|
sizer_3.Add(sizer_4, 1, wx.EXPAND, 0) |
|
sizer_2.Add(sizer_3, 0, wx.EXPAND, 0) |
|
sizer_8.Add((20, 20), 0, 0, 0) |
|
sizer_9.Add((20, 20), 0, 0, 0) |
|
sizer_18.Add(self.label_2, 0, 0, 0) |
|
sizer_18.Add(self.text_ctrl_4, 0, wx.EXPAND, 0) |
|
sizer_18.Add((20, 20), 0, 0, 0) |
|
sizer_17.Add(sizer_18, 0, wx.EXPAND, 0) |
|
sizer_9.Add(sizer_17, 1, wx.EXPAND, 0) |
|
sizer_9.Add((20, 20), 0, 0, 0) |
|
sizer_10.Add(self.button_1, 0, 0, 0) |
|
sizer_10.Add((20, 20), 0, 0, 0) |
|
sizer_10.Add(self.button_2, 0, 0, 0) |
|
sizer_10.Add((20, 20), 1, 0, 0) |
|
sizer_10.Add(self.button_3, 0, 0, 0) |
|
sizer_9.Add(sizer_10, 0, wx.EXPAND, 0) |
|
sizer_9.Add((20, 20), 0, 0, 0) |
|
sizer_19.Add(self.label_3, 0, 0, 0) |
|
sizer_19.Add(self.list_box_3, 1, wx.EXPAND, 0) |
|
sizer_14.Add(sizer_19, 1, wx.EXPAND, 0) |
|
sizer_14.Add((20, 20), 0, 0, 0) |
|
sizer_16.Add(self.button_8, 0, 0, 0) |
|
sizer_16.Add((20, 20), 1, wx.EXPAND, 0) |
|
sizer_16.Add(self.button_9, 0, 0, 0) |
|
sizer_15.Add(sizer_16, 1, wx.EXPAND, 0) |
|
sizer_14.Add(sizer_15, 0, wx.EXPAND, 0) |
|
sizer_13.Add(sizer_14, 1, wx.EXPAND, 0) |
|
sizer_9.Add(sizer_13, 1, wx.EXPAND, 0) |
|
sizer_9.Add((20, 20), 0, 0, 0) |
|
sizer_8.Add(sizer_9, 1, wx.EXPAND, 0) |
|
sizer_8.Add((20, 20), 0, 0, 0) |
|
sizer_2.Add(sizer_8, 1, wx.EXPAND, 0) |
|
sizer_1.Add(sizer_2, 1, wx.EXPAND, 0) |
|
self.SetAutoLayout(True) |
|
self.SetSizer(sizer_1) |
|
sizer_1.Fit(self) |
|
sizer_1.SetSizeHints(self) |
|
self.Layout() |
|
# end wxGlade |
|
|
|
# Lee las caracteristicas de la lista a modificar y las muestra |
|
def rellena(self): # |
|
from confSquid import lee_blacklist |
|
self.text_ctrl_2.SetValue(bl_lst.nombre) |
|
blists=lee_blacklist(bl_lst.nombre,archivo.configuracion) |
|
for i in blists: # |
|
self.list_box_3.Append(i) |
|
# |
|
# |
|
|
|
# a�de una uri a la lista |
|
def inserta(self,event): |
|
uri=self.text_ctrl_4.GetValue() |
|
if uri: |
|
self.list_box_3.Append(uri) |
|
self.text_ctrl_4.Clear() |
|
items=self.list_box_3.GetCount() |
|
items=items-1 |
|
max=items |
|
if items>0: |
|
for i in range(items): |
|
if i<=max: |
|
if self.list_box_3.GetString(i)==self.list_box_3.GetString(i+1): |
|
self.list_box_3.Delete(i) |
|
max=max-1 |
|
if i>max: |
|
break |
|
|
|
# Borra una uri a la lista |
|
def borra(self,event): |
|
lista=[] |
|
for i in self.list_box_3.GetSelections(): |
|
lista.append(self.list_box_3.GetString(i)) |
|
|
|
items=self.list_box_3.GetCount() |
|
for i in range(items): |
|
for j in lista: |
|
if self.list_box_3.GetString(i)==j: |
|
self.list_box_3.Delete(i) |
|
|
|
# borra todas las uris d ela lista |
|
def borra_todo(self,event): |
|
self.list_box_3.Clear() |
|
|
|
# Aplica los cambios |
|
def acepta ( self, event): |
|
from confSquid import inserta_blacklist |
|
from inicSquid import apply_conf_squidguard |
|
from watcherSquid import compila_libreria, establece_permisos |
|
|
|
nombre=self.text_ctrl_2.GetValue() |
|
if nombre: |
|
msg=_("Lista modificada correctamente")+"\n" |
|
lst_dom=[] |
|
for i in range(self.list_box_3.GetCount()): |
|
lst_dom.append(self.list_box_3.GetString(i)) |
|
if lst_dom: |
|
inserta_blacklist(nombre,lst_dom,archivo.configuracion) |
|
compila_libreria(nombre,archivo.aceptlog) |
|
apply_conf_squidguard(archivo.aceptlog) |
|
establece_permisos(archivo.configuracion) |
|
icon=wx.ICON_INFORMATION |
|
else: |
|
msg=_("No hay urls en la lista de dominos")+"\n" |
|
icon=wx.ICON_EXCLAMATION |
|
else: |
|
msg=_("La Lista no tiene nombre")+"\n" |
|
icon=wx.ICON_EXCLAMATION |
|
|
|
dlg = wx.MessageDialog(self, msg, |
|
_('Aviso ACEPT'), wx.OK | icon) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
dlg.Destroy() |
|
self.cancela(self) |
|
|
|
def cancela ( self, event): |
|
self.padre.modifica=True |
|
self.Destroy() |
|
|
|
# end of class Mychild7 |
|
|
|
# estadisticas |
|
class MyChild8(wx.Frame): |
|
def __init__(self, *args, **kwds): |
|
# begin wxGlade: MyChild8.__init__ |
|
kwds["style"] = wx.DEFAULT_FRAME_STYLE |
|
wx.Frame.__init__(self, *args, **kwds) |
|
self.label_2 = wx.StaticText(self, -1, _("Los registros se almacenan automaticamente")) |
|
self.label_3 = wx.StaticText(self, -1, _("Cada")) |
|
self.spin_ctrl_1 = wx.SpinCtrl(self, -1, "", min=1, max=100) |
|
self.label_4 = wx.StaticText(self, -1, _("Dias")) |
|
self.button_1 = wx.Button(self, -1, _("Salvar")) |
|
self.static_line_2 = wx.StaticLine(self, -1) |
|
self.label_5 = wx.StaticText(self, -1, _("Configurar consulta"), style=wx.ALIGN_CENTRE) |
|
self.label_6_copy_2 = wx.StaticText(self, -1, _("Consultar")) |
|
self.label_6_copy_3 = wx.StaticText(self, -1, _("Usuario")) |
|
self.label_6_copy_4 = wx.StaticText(self, -1, _("Periodo")) |
|
self.label_6_copy_5 = wx.StaticText(self, -1, _("Palabra clave")) |
|
self.combo_box_2 = wx.ComboBox(self, -1, choices=[], style=wx.CB_DROPDOWN) |
|
self.combo_box_3 = wx.ComboBox(self, -1, choices=[], style=wx.CB_DROPDOWN) |
|
self.combo_box_4 = wx.ComboBox(self, -1, choices=[], style=wx.CB_DROPDOWN) |
|
self.text_ctrl_2 = wx.TextCtrl(self, -1, "") |
|
self.static_line_1 = wx.StaticLine(self, -1, style=wx.LI_VERTICAL) |
|
self.label_7 = wx.StaticText(self, -1, _("Resultados de la consulta"), style=wx.ALIGN_CENTRE) |
|
self.text_ctrl_1 = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE|wx.TE_READONLY) |
|
self.button_2 = wx.Button(self, -1, _("Consultar")) |
|
self.button_3 = wx.Button(self, -1, _("Guardar como")) |
|
self.button_4 = wx.Button(self, -1, _("Cerrar")) |
|
|
|
self.__set_properties() |
|
self.__do_layout() |
|
wx.EVT_BUTTON(self, self.button_1.GetId(), self.guarda_intervalo) |
|
wx.EVT_BUTTON(self, self.button_2.GetId(), self.consulta) |
|
wx.EVT_BUTTON(self, self.button_3.GetId(), self.guarda) |
|
wx.EVT_COMBOBOX(self,self.combo_box_2.GetId(),self.recarga) |
|
wx.EVT_COMBOBOX(self,self.combo_box_3.GetId(),self.user_period) |
|
wx.EVT_CLOSE(self,self.cierra) |
|
wx.EVT_BUTTON(self, self.button_4.GetId(), self.cierra) |
|
# end wxGlade |
|
|
|
def __set_properties(self): |
|
# begin wxGlade: MyChild8.__set_properties |
|
self.SetTitle(_("Registros de navegacion web")) |
|
self.combo_box_2.Append("") |
|
self.combo_box_2.Append(_("Numero de paginas visitadas por usuario")) |
|
self.combo_box_2.Append(_("Trafico por usuario")) |
|
self.combo_box_2.Append(_("Paginas visitadas ordenadas por usuario")) |
|
self.combo_box_2.Append(_("Paginas visitadas ordenadas por url")) |
|
self.combo_box_2.Append(_("Paginas visitadas ordenadas cronologicamente")) |
|
self.combo_box_2.Append(_("Paginas visitadas por numero de visitas")) |
|
self.combo_box_2.Append(_("Paginas visitadas ordenadas por trafico")) |
|
self.combo_box_2.Append(_("Busqueda por palabras clave en las url")) |
|
self.combo_box_2.SetSelection(0) |
|
self.combo_box_3.SetSelection(-1) |
|
self.combo_box_4.SetSelection(-1) |
|
self.combo_box_3.Enable(False) |
|
self.combo_box_4.Enable(False) |
|
self.text_ctrl_2.Enable(False) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/fondo_junta.gif", wx.BITMAP_TYPE_ANY)) |
|
self.SetIcon(_icon) |
|
self.Centre |
|
self.intervalo_dias() |
|
|
|
# end wxGlade |
|
|
|
def __do_layout(self): |
|
# begin wxGlade: MyChild8.__do_layout |
|
sizer_1 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_2 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_3 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_17 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_4 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_6 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_7 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_18 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_19 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_9 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_12 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_15 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_16_copy = wx.BoxSizer(wx.VERTICAL) |
|
sizer_14_copy_5_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_4_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_3_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_2_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_16 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_14_copy_5 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_4 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_3 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_2 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_10 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_11 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_2.Add((20, 20), 0, 0, 0) |
|
sizer_3.Add((20, 20), 0, 0, 0) |
|
sizer_10.Add(self.label_2, 0, 0, 0) |
|
sizer_10.Add((10, 10), 0, 0, 0) |
|
sizer_11.Add(self.label_3, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_11.Add((10, 10), 0, 0, 0) |
|
sizer_11.Add(self.spin_ctrl_1, 0, 0, 0) |
|
sizer_11.Add((10, 10), 0, wx.ALL, 0) |
|
sizer_11.Add(self.label_4, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_11.Add((15, 15), 0, 0, 0) |
|
sizer_11.Add(self.button_1, 0, 0, 0) |
|
sizer_10.Add(sizer_11, 0, wx.EXPAND, 0) |
|
sizer_10.Add((10, 10), 0, 0, 0) |
|
sizer_10.Add(self.static_line_2, 0, wx.EXPAND, 0) |
|
sizer_9.Add(sizer_10, 0, wx.EXPAND, 0) |
|
sizer_9.Add((15, 15), 0, 0, 0) |
|
sizer_12.Add(self.label_5, 0, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL, 0) |
|
sizer_16.Add((10, 10), 1, wx.EXPAND, 0) |
|
sizer_14_copy_2.Add(self.label_6_copy_2, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_14_copy_2.Add((5, 22), 0, 0, 0) |
|
sizer_16.Add(sizer_14_copy_2, 0, wx.EXPAND, 0) |
|
sizer_16.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_3.Add(self.label_6_copy_3, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_14_copy_3.Add((5, 22), 0, 0, 0) |
|
sizer_16.Add(sizer_14_copy_3, 0, wx.EXPAND, 0) |
|
sizer_16.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_4.Add(self.label_6_copy_4, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_14_copy_4.Add((5, 22), 0, 0, 0) |
|
sizer_16.Add(sizer_14_copy_4, 0, wx.EXPAND, 0) |
|
sizer_16.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_5.Add(self.label_6_copy_5, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_14_copy_5.Add((5, 22), 0, 0, 0) |
|
sizer_16.Add(sizer_14_copy_5, 0, wx.EXPAND, 0) |
|
sizer_16.Add((10, 10), 1, 0, 0) |
|
sizer_15.Add(sizer_16, 0, wx.EXPAND, 0) |
|
sizer_15.Add((10, 10), 0, 0, 0) |
|
sizer_16_copy.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_2_copy.Add(self.combo_box_2, 1, 0, 0) |
|
sizer_16_copy.Add(sizer_14_copy_2_copy, 0, wx.EXPAND, 0) |
|
sizer_16_copy.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_3_copy.Add(self.combo_box_3, 1, 0, 0) |
|
sizer_16_copy.Add(sizer_14_copy_3_copy, 0, wx.EXPAND, 0) |
|
sizer_16_copy.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_4_copy.Add(self.combo_box_4, 1, 0, 0) |
|
sizer_16_copy.Add(sizer_14_copy_4_copy, 0, wx.EXPAND, 0) |
|
sizer_16_copy.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_5_copy.Add(self.text_ctrl_2, 1, wx.EXPAND, 0) |
|
sizer_16_copy.Add(sizer_14_copy_5_copy, 0, wx.EXPAND, 0) |
|
sizer_16_copy.Add((10, 10), 1, 0, 0) |
|
sizer_15.Add(sizer_16_copy, 1, wx.EXPAND, 0) |
|
sizer_12.Add(sizer_15, 1, wx.EXPAND, 0) |
|
sizer_9.Add(sizer_12, 1, wx.EXPAND, 0) |
|
sizer_7.Add(sizer_9, 0, wx.EXPAND, 0) |
|
sizer_7.Add((10, 10), 0, 0, 0) |
|
sizer_7.Add(self.static_line_1, 0, wx.EXPAND, 0) |
|
sizer_7.Add((10, 10), 0, 0, 0) |
|
sizer_19.Add((5, 10), 1, 0, 0) |
|
sizer_19.Add(self.label_7, 0, 0, 0) |
|
sizer_19.Add((5, 8), 1, 0, 0) |
|
sizer_18.Add(sizer_19, 0, wx.EXPAND, 0) |
|
sizer_18.Add((10, 10), 0, wx.EXPAND, 0) |
|
sizer_18.Add(self.text_ctrl_1, 1, wx.EXPAND, 0) |
|
sizer_7.Add(sizer_18, 1, wx.EXPAND, 0) |
|
sizer_6.Add(sizer_7, 1, wx.EXPAND, 0) |
|
sizer_4.Add(sizer_6, 1, wx.EXPAND, 0) |
|
sizer_3.Add(sizer_4, 1, wx.EXPAND, 0) |
|
sizer_3.Add((20, 20), 0, 0, 0) |
|
sizer_17.Add(self.button_2, 1, 0, 0) |
|
sizer_17.Add((20, 20), 1, 0, 0) |
|
sizer_17.Add(self.button_3, 1, 0, 0) |
|
sizer_17.Add((20, 20), 1, 0, 0) |
|
sizer_17.Add(self.button_4, 1, 0, 0) |
|
sizer_3.Add(sizer_17, 0, wx.EXPAND, 0) |
|
sizer_3.Add((20, 20), 0, 0, 0) |
|
sizer_2.Add(sizer_3, 1, wx.EXPAND, 0) |
|
sizer_2.Add((20, 20), 0, 0, 0) |
|
sizer_1.Add(sizer_2, 1, wx.EXPAND, 0) |
|
self.SetAutoLayout(True) |
|
self.SetSizer(sizer_1) |
|
sizer_1.Fit(self) |
|
sizer_1.SetSizeHints(self) |
|
self.Layout() |
|
# end wxGlade |
|
|
|
def consulta(self,event): |
|
from confSquid import mostrar_reg_nav |
|
valores={0:"limpia",1:"A",2:"B",3:"C",4:"D",5:"E",6:"F",7:"G",8:"H"} |
|
seleccion=valores.get(self.combo_box_2.GetSelection()) |
|
usuario=self.combo_box_3.GetValue() |
|
periodo=self.combo_box_4.GetValue() |
|
clave=self.text_ctrl_2.GetValue() |
|
if seleccion!="limpia": |
|
salida=mostrar_reg_nav(seleccion,usuario,periodo,archivo.configuracion,clave) |
|
self.text_ctrl_1.Clear() |
|
for i in salida: |
|
self.text_ctrl_1.AppendText(i) |
|
self.text_ctrl_1.AppendText("\n") |
|
|
|
def guarda(self,event): |
|
from os.path import exists |
|
|
|
def escribe(path,contenido): |
|
f=open(path,"w") |
|
f.write(contenido) |
|
f.close() |
|
|
|
wildcard=_("Archivos de texto")+" (*.txt)|*.txt|" |
|
dlg=wx.FileDialog(self,_("Salvar el informe en..."),"","",wildcard,wx.SAVE) |
|
dlg.SetFilterIndex(2) |
|
if dlg.ShowModal()==wx.ID_OK: |
|
path=dlg.GetPath() |
|
if exists(path): |
|
dlg2 = wx.MessageDialog(self, _("El Archivo indicado ya existe\n Desea sobreescribirlo?"), |
|
_('Aviso ACEPT'), wx.YES_NO | wx.ICON_QUESTION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg2.SetIcon(_icon) |
|
if dlg2.ShowModal()==wx.ID_YES: |
|
escribe(path,self.text_ctrl_1.GetValue()) |
|
dlg2.Destroy() |
|
else: |
|
escribe(path,self.text_ctrl_1.GetValue()) |
|
|
|
dlg.Destroy() |
|
|
|
def recarga(self,event): |
|
from confSquid import extrae_periodos |
|
from func import users_control_web |
|
valores={0:"limpia",1:"A",2:"B",3:"C",4:"D",5:"E",6:"F",7:"G",8:"H"} |
|
seleccion=valores.get(self.combo_box_2.GetSelection()) |
|
|
|
if seleccion=="A" or seleccion=="B" or seleccion=="C": |
|
self.combo_box_4.Clear() |
|
self.combo_box_4.Enable(True) |
|
self.combo_box_3.Clear() |
|
self.combo_box_3.Enable(False) |
|
self.text_ctrl_2.Clear() |
|
self.text_ctrl_2.Enable(False) |
|
entradas=extrae_periodos(archivo.configuracion) |
|
for i in entradas: |
|
self.combo_box_4.Append(i) |
|
elif seleccion=="limpia": |
|
self.combo_box_3.Clear() |
|
self.combo_box_4.Clear() |
|
self.text_ctrl_2.Clear() |
|
self.combo_box_3.Enable(False) |
|
self.combo_box_4.Enable(False) |
|
self.text_ctrl_2.Enable(False) |
|
elif seleccion=="H": |
|
self.combo_box_3.Clear() |
|
self.combo_box_4.Clear() |
|
self.combo_box_3.Enable(True) |
|
self.combo_box_4.Enable(True) |
|
self.text_ctrl_2.Enable(True) |
|
users=users_control_web(archivo.aceptlog) |
|
self.combo_box_3.Append("Todos") |
|
for i in users: |
|
self.combo_box_3.Append(i) |
|
entradas=extrae_periodos(archivo.configuracion) |
|
for i in entradas: |
|
self.combo_box_4.Append(i) |
|
|
|
else: |
|
self.combo_box_3.Clear() |
|
self.combo_box_4.Clear() |
|
self.combo_box_3.Enable(True) |
|
self.combo_box_4.Enable(True) |
|
self.text_ctrl_2.Enable(True) |
|
self.text_ctrl_2.Clear() |
|
self.text_ctrl_2.Enable(False) |
|
users=users_control_web(archivo.aceptlog) |
|
self.combo_box_3.Append(_("Todos")) |
|
for i in users: |
|
self.combo_box_3.Append(i) |
|
entradas=extrae_periodos(archivo.configuracion) |
|
for i in entradas: |
|
self.combo_box_4.Append(i) |
|
#rellena combo_box 3 y 4 |
|
|
|
def user_period(self,event): |
|
from confSquid import extrae_periodos,extrae_periodos_user |
|
user=self.combo_box_3.GetValue() |
|
self.combo_box_4.Clear() |
|
if user!=_("Todos"): |
|
entradas=extrae_periodos_user(user,archivo.configuracion) |
|
for i in entradas: |
|
self.combo_box_4.Append(i) |
|
else: |
|
entradas=extrae_periodos(archivo.configuracion) |
|
for i in entradas: |
|
self.combo_box_4.Append(i) |
|
|
|
def guarda_intervalo(self,event): |
|
from func import actualiza_campo |
|
actualiza_campo('fr_recol',str(self.spin_ctrl_1.GetValue()),archivo.aceptlog) |
|
|
|
def intervalo_dias(self): |
|
from func import consulta_campo |
|
self.spin_ctrl_1.SetValue(int(consulta_campo('fr_recol',archivo.aceptlog))) |
|
|
|
|
|
def cierra(self,event): |
|
import os,os.path |
|
for item in os.listdir('/var/log/acept/squid/var/rg'): |
|
file=os.path.join('/var/log/acept/squid/var/rg',item) |
|
os.remove(file) |
|
child.uso_web=False |
|
self.Destroy() |
|
|
|
# end of class MyChild8 |
|
|
|
# estadisticas |
|
class MyChild9(wx.Frame): |
|
def __init__(self, *args, **kwds): |
|
# begin wxGlade: MyChild9.__init__ |
|
kwds["style"] = wx.DEFAULT_FRAME_STYLE |
|
wx.Frame.__init__(self, *args, **kwds) |
|
self.label_2 = wx.StaticText(self, -1, _("Opciones de la consulta")) |
|
self.static_line_2 = wx.StaticLine(self, -1) |
|
self.label_6_copy_2 = wx.StaticText(self, -1, _("Consultar")) |
|
self.label_6_copy_3 = wx.StaticText(self, -1, _("Intervalo de tiempo")) |
|
self.label_6_copy_4 = wx.StaticText(self, -1, _("Periodo")) |
|
self.combo_box_2 = wx.ComboBox(self, -1, choices=[], style=wx.CB_DROPDOWN) |
|
self.combo_box_3 = wx.ComboBox(self, -1, choices=[], style=wx.CB_DROPDOWN) |
|
self.combo_box_4 = wx.ComboBox(self, -1, choices=[], style=wx.CB_DROPDOWN) |
|
self.static_line_1 = wx.StaticLine(self, -1, style=wx.LI_VERTICAL) |
|
self.label_7 = wx.StaticText(self, -1, _("Resultados de la consulta"), style=wx.ALIGN_CENTRE) |
|
self.text_ctrl_1 = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE|wx.TE_READONLY) |
|
self.button_2 = wx.Button(self, -1, _("Consultar")) |
|
self.button_4 = wx.Button(self, -1, _("Cerrar")) |
|
|
|
self.__set_properties() |
|
self.__do_layout() |
|
self.rellena() |
|
wx.EVT_BUTTON(self, self.button_2.GetId(), self.consulta) |
|
wx.EVT_COMBOBOX(self,self.combo_box_3.GetId(),self.recarga) |
|
wx.EVT_CLOSE(self,self.cierra) |
|
wx.EVT_BUTTON(self, self.button_4.GetId(), self.cierra) |
|
# end wxGlade |
|
|
|
def __set_properties(self): |
|
# begin wxGlade: MyChild9.__set_properties |
|
self.SetTitle(_("Registros del uso de Servicios")) |
|
self.combo_box_2.Append(_("Servicios utilizados por tiempo de uso")) |
|
self.combo_box_2.Append(_("Servicios utilizados por usuario")) |
|
self.combo_box_2.Append(_("Servicios utilizados por usuario y tiempo de uso")) |
|
self.combo_box_3.Append(_("Mensual")) |
|
self.combo_box_3.Append(_("Semanal")) |
|
self.combo_box_2.SetSelection(0) |
|
self.combo_box_3.SetSelection(0) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/fondo_junta.gif", wx.BITMAP_TYPE_ANY)) |
|
self.SetIcon(_icon) |
|
self.Centre |
|
|
|
# end wxGlade |
|
|
|
def __do_layout(self): |
|
# begin wxGlade: MyChild9.__do_layout |
|
sizer_1 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_2 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_3 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_17 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_4 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_6 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_7 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_18 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_19 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_9 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_12 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_15 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_16_copy = wx.BoxSizer(wx.VERTICAL) |
|
sizer_14_copy_5_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_4_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_3_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_2_copy = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_16 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_14_copy_4 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_3 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_14_copy_2 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_10 = wx.BoxSizer(wx.VERTICAL) |
|
sizer_11 = wx.BoxSizer(wx.HORIZONTAL) |
|
sizer_2.Add((20, 20), 0, 0, 0) |
|
sizer_3.Add((20, 20), 0, 0, 0) |
|
sizer_10.Add(self.label_2, 0, 0, 0) |
|
sizer_11.Add((10, 10), 0, 0, 0) |
|
sizer_11.Add((10, 10), 0, wx.ALL, 0) |
|
sizer_11.Add((15, 15), 0, 0, 0) |
|
sizer_10.Add(sizer_11, 0, wx.EXPAND, 0) |
|
sizer_10.Add(self.static_line_2, 0, wx.EXPAND, 0) |
|
sizer_9.Add(sizer_10, 0, wx.EXPAND, 0) |
|
sizer_9.Add((15, 15), 0, 0, 0) |
|
sizer_16.Add((10, 10), 1, wx.EXPAND, 0) |
|
sizer_14_copy_2.Add(self.label_6_copy_2, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_14_copy_2.Add((5, 22), 0, 0, 0) |
|
sizer_16.Add(sizer_14_copy_2, 0, wx.EXPAND, 0) |
|
sizer_16.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_3.Add(self.label_6_copy_3, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_14_copy_3.Add((5, 22), 0, 0, 0) |
|
sizer_16.Add(sizer_14_copy_3, 0, wx.EXPAND, 0) |
|
sizer_16.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_4.Add(self.label_6_copy_4, 0, wx.ALIGN_CENTER_VERTICAL, 0) |
|
sizer_14_copy_4.Add((5, 22), 0, 0, 0) |
|
sizer_16.Add(sizer_14_copy_4, 0, wx.EXPAND, 0) |
|
sizer_16.Add((10, 10), 1, 0, 0) |
|
sizer_16.Add((10, 10), 1, 0, 0) |
|
sizer_15.Add(sizer_16, 0, wx.EXPAND, 0) |
|
sizer_15.Add((10, 10), 0, 0, 0) |
|
sizer_16_copy.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_2_copy.Add(self.combo_box_2, 1, 0, 0) |
|
sizer_16_copy.Add(sizer_14_copy_2_copy, 0, wx.EXPAND, 0) |
|
sizer_16_copy.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_3_copy.Add(self.combo_box_3, 1, 0, 0) |
|
sizer_16_copy.Add(sizer_14_copy_3_copy, 0, wx.EXPAND, 0) |
|
sizer_16_copy.Add((10, 10), 1, 0, 0) |
|
sizer_14_copy_4_copy.Add(self.combo_box_4, 1, 0, 0) |
|
sizer_16_copy.Add(sizer_14_copy_4_copy, 0, wx.EXPAND, 0) |
|
sizer_16_copy.Add((10, 10), 1, 0, 0) |
|
sizer_16_copy.Add(sizer_14_copy_5_copy, 0, wx.EXPAND, 0) |
|
sizer_16_copy.Add((10, 10), 1, 0, 0) |
|
sizer_15.Add(sizer_16_copy, 1, wx.EXPAND, 0) |
|
sizer_12.Add(sizer_15, 1, wx.EXPAND, 0) |
|
sizer_9.Add(sizer_12, 1, wx.EXPAND, 0) |
|
sizer_7.Add(sizer_9, 0, wx.EXPAND, 0) |
|
sizer_7.Add((10, 10), 0, 0, 0) |
|
sizer_7.Add(self.static_line_1, 0, wx.EXPAND, 0) |
|
sizer_7.Add((10, 10), 0, 0, 0) |
|
sizer_19.Add((5, 10), 1, 0, 0) |
|
sizer_19.Add(self.label_7, 0, 0, 0) |
|
sizer_19.Add((5, 8), 1, 0, 0) |
|
sizer_18.Add(sizer_19, 0, wx.EXPAND, 0) |
|
sizer_18.Add((10, 10), 0, wx.EXPAND, 0) |
|
sizer_18.Add(self.text_ctrl_1, 1, wx.EXPAND, 0) |
|
sizer_7.Add(sizer_18, 1, wx.EXPAND, 0) |
|
sizer_6.Add(sizer_7, 1, wx.EXPAND, 0) |
|
sizer_4.Add(sizer_6, 1, wx.EXPAND, 0) |
|
sizer_3.Add(sizer_4, 1, wx.EXPAND, 0) |
|
sizer_3.Add((20, 20), 0, 0, 0) |
|
sizer_17.Add(self.button_2, 1, 0, 0) |
|
sizer_17.Add((20, 20), 1, 0, 0) |
|
sizer_17.Add((20, 20), 1, 0, 0) |
|
sizer_17.Add(self.button_4, 1, 0, 0) |
|
sizer_3.Add(sizer_17, 0, wx.EXPAND, 0) |
|
sizer_3.Add((20, 20), 0, 0, 0) |
|
sizer_2.Add(sizer_3, 1, wx.EXPAND, 0) |
|
sizer_2.Add((20, 20), 0, 0, 0) |
|
sizer_1.Add(sizer_2, 1, wx.EXPAND, 0) |
|
self.SetAutoLayout(True) |
|
self.SetSizer(sizer_1) |
|
sizer_1.Fit(self) |
|
sizer_1.SetSizeHints(self) |
|
self.Layout() |
|
# end wxGlade |
|
|
|
def consulta(self,event): |
|
from confSquid import mostrar_uso_aplicaciones |
|
valores={0:"A",1:"B",2:"C"} |
|
valores2={0:"m",1:"s"} |
|
consulta=valores.get(self.combo_box_2.GetSelection()) |
|
tipo=valores2.get(self.combo_box_3.GetSelection()) |
|
if len(self.combo_box_4.GetValue())==0: |
|
dlg = wx.MessageDialog(self, _("Seleccione el periodo para el que desea realizar la consulta"), _('Aviso ACEPT'),wx.OK | wx.ICON_EXCLAMATION) |
|
_icon = wx.EmptyIcon() |
|
_icon.CopyFromBitmap(wx.Bitmap("/usr/share/acept/pixmaps/aviso.png", wx.BITMAP_TYPE_ANY)) |
|
dlg.SetIcon(_icon) |
|
dlg.ShowModal() |
|
else: |
|
periodo=self.combo_box_4.GetValue() |
|
salida=mostrar_uso_aplicaciones(consulta,'Todos',tipo,periodo,archivo.configuracion) |
|
self.text_ctrl_1.Clear() |
|
for i in salida: |
|
if consulta=='C': |
|
for j in range(len(salida[i])): |
|
self.text_ctrl_1.AppendText(i) |
|
self.text_ctrl_1.AppendText('\t ') |
|
self.text_ctrl_1.AppendText(salida[i][j]) |
|
self.text_ctrl_1.AppendText("\n") |
|
else: |
|
self.text_ctrl_1.AppendText(i) |
|
self.text_ctrl_1.AppendText('\t ') |
|
if consulta=='B': |
|
for j in range(len(salida[i])): |
|
self.text_ctrl_1.AppendText(salida[i][j]) |
|
self.text_ctrl_1.AppendText(' ') |
|
else: |
|
self.text_ctrl_1.AppendText(salida[i]) |
|
|
|
self.text_ctrl_1.AppendText("\n") |
|
|
|
def recarga(self,event): |
|
self.rellena() |
|
|
|
def rellena(self): |
|
from confSquid import extrae_periodos_uso_aplic |
|
valores={0:"m",1:"s"} |
|
seleccion=valores.get(self.combo_box_3.GetSelection()) |
|
periodos=extrae_periodos_uso_aplic(seleccion) |
|
self.combo_box_4.Clear() |
|
for i in periodos: |
|
self.combo_box_4.Append(i) |
|
|
|
|
|
def cierra(self,event): |
|
child.uso_aplic=False |
|
self.Destroy() |