Esempio n. 1
0
 private static void rellenaPanelPatronesActuales(MainWindow mainWindow)
 {
     mainWindow.panelPatronesActuales.Children.Clear();
     mainWindow.panelPatronesActuales.Children.Add(CrearVistas.getVistaTitulo("Patrones"));
     foreach (Patron item in mainWindow.serieSeleccionada.patrones)
     {
         mainWindow.panelPatronesActuales.Children.Add(CrearVistas.getVistaPatronesActuales(item));
     }
 }
Esempio n. 2
0
 private static void rellenaPanelResultadoContinuidad(MainWindow mainWindow)
 {
     mainWindow.panelMostrarResultadosMantenimiento.Children.Clear();
     mainWindow.ErroresContinuidad.Sort();
     foreach (string item in mainWindow.ErroresContinuidad)
     {
         mainWindow.panelMostrarResultadosMantenimiento.Children.Add(CrearVistas.getLabelResultado(item));
     }
 }
Esempio n. 3
0
 private static void rellenaPanelResultadoDuplicidad(MainWindow mainWindow)
 {
     mainWindow.panelMostrarResultadosMantenimiento.Children.Clear();
     //  mainWindow.ErroresDuplicidad.Sort();
     foreach (FileSystemInfo[] item in mainWindow.ErroresDuplicidad)
     {
         mainWindow.panelMostrarResultadosMantenimiento.Children.Add(CrearVistas.getVistaDuplicidad(mainWindow, item));
     }
 }
Esempio n. 4
0
 private static void rellenaPanelIncrementarTemporadas(MainWindow mainWindow)
 {
     mainWindow.panelListaIncrementarTemporadas.Children.Clear();
     mainWindow.updateListaSeries();
     foreach (Serie item in mainWindow.series)
     {
         if (item.estado == "A")
         {
             mainWindow.panelListaIncrementarTemporadas.Children.Add(CrearVistas.getVistaIncrementarTemporadas(mainWindow, item));
         }
     }
 }
Esempio n. 5
0
 private static void rellenaPanelFicherosARenombrar(MainWindow mainWindow)
 {
     mainWindow.panelFicherosARenombrar.Children.Clear();
     mainWindow.panelFicherosARenombrar.Children.Add(CrearVistas.getVistaTitulo("Ficheros a renombrar"));
     foreach (FileInfo item in GestorVideos.getFicherosARenombrar(mainWindow))
     {
         if (item.Extension.Equals(".mkv") || item.Extension.Equals(".avi") || item.Extension.Equals(".mp4"))
         {
             mainWindow.panelFicherosARenombrar.Children.Add(CrearVistas.getVistaFicheroARenombrar(item.Name));
         }
     }
 }
Esempio n. 6
0
 private static void rellenaPanelSeriesInactivas(MainWindow mainWindow)
 {
     mainWindow.panelListaSeriesInactivas.Children.Clear();
     mainWindow.updateListaSeries();
     foreach (Serie item in mainWindow.series)
     {
         if (item.estado == "D")
         {
             mainWindow.panelListaSeriesInactivas.Children.Add(CrearVistas.getVistaSerieInactiva(mainWindow, item));
         }
     }
 }
Esempio n. 7
0
 private static void rellenaPanelSeleccionarSeries(MainWindow mainWindow)
 {
     mainWindow.panelSeleccionarSeriePatron.Children.Clear();
     mainWindow.panelSeleccionarSeriePatron.Children.Add(CrearVistas.getVistaTitulo("Series"));
     mainWindow.updateListaSeries();
     foreach (Serie item in mainWindow.series)
     {
         if (item.estado == "A")
         {
             mainWindow.panelSeleccionarSeriePatron.Children.Add(CrearVistas.getVistaSeleccionarSerie(mainWindow, item));
         }
     }
 }
Esempio n. 8
0
        public static void renombrarVideos(MainWindow mainWindow)
        {
            Stopwatch tiempo            = Stopwatch.StartNew();
            int       numeroPatrones    = 0;
            int       seriesActivas     = 0;
            int       errores           = 0;
            int       videosRenombrados = 0;

            mainWindow.updateListaSeries();
            foreach (Serie itSerie in mainWindow.series)
            {
                if (itSerie.estado.Equals("A"))
                {
                    itSerie.getPatrones(mainWindow.config);
                    //calculo de patrones: Numero de patrones de la serie en el xml * temporadas activas de la serie * numero de capitulos de cada temporada * 12 (strings que se comprueban en cada patron)
                    numeroPatrones += (itSerie.patrones.Count * ((itSerie.numeroTemporadas - itSerie.temporadaActual) + 1) * itSerie.capitulosPorTemporada) * 12;
                    seriesActivas++;
                    foreach (Patron itPatron in itSerie.patrones)
                    {
                        for (int temp = 1; temp <= itSerie.numeroTemporadas; temp++)
                        //  for (int temp = itSerie.temporadaActual; temp <= itSerie.numeroTemporadas; temp++)
                        {
                            for (int cap = 1; cap <= itSerie.capitulosPorTemporada; cap++)
                            {
                                probarPatron(mainWindow, ref errores, ref videosRenombrados, itSerie, itPatron, temp, cap);
                            }
                        }
                    }
                }
            }

            //mostrar tiempo
            mainWindow.labelTiempoOrden.Content = tiempo.ElapsedMilliseconds.ToString() + " ms";

            //patrones
            mainWindow.panelResultadoPatronesEjecutados.Children.Add(CrearVistas.getLabelResultado(numeroPatrones + " patrones ejecutados"));

            //series
            mainWindow.panelResultadoPatronesEjecutados.Children.Add(CrearVistas.getLabelResultado(seriesActivas + " series activas"));

            //series
            mainWindow.panelResultadoPatronesEjecutados.Children.Add(CrearVistas.getLabelResultado(contarFicherosARenombrar(mainWindow) + " ficheros a renombrar"));

            //errores
            mainWindow.labelNumeroErroresRenombrando.Content = errores;

            //videos renombrados
            mainWindow.labelNumeroVideosRenombrados.Content = videosRenombrados;
        }
Esempio n. 9
0
        /// <summary>
        /// Mueve los ficheros.
        /// </summary>
        /// <param name="fi">Fichero a mover</param>
        /// <param name="dirSerie">Directorio de destino</param>
        /// <param name="titulo">Titulo del fichero.</param>
        /// <param name="temp">The temporada.</param>
        /// <param name="cap">The capitulo.</param>
        /// <param name="ext">The extension.</param>
        /// <returns> Retorna true si el movimiento se realiza correctamente</returns>
        private static bool ejecutarMovimiento(MainWindow mainWindow, FileInfo fi, string dirSerie, string titulo, int temp, int cap, string ext)
        {
            string nombreOriginal = fi.Name;

            //Crea todos los directorios y subdirectorios en la ruta de acceso especificada, a menos que ya existan.
            Directory.CreateDirectory(dirSerie);
            try
            {
                if (cap < 10)
                {
                    fi.MoveTo(dirSerie + @"\" + titulo + " " + temp + "x0" + cap + ext);
                }
                else
                {
                    fi.MoveTo(dirSerie + @"\" + titulo + " " + temp + "x" + cap + ext);
                }
                mainWindow.LogMediaXML.añadirEntrada(new Log("Renombrado", "Fichero '" + nombreOriginal + "' renombrado a '" + fi.FullName + "'", fi));
                mainWindow.panelResultadoVideosRenombrados.Children.Add(CrearVistas.getLabelResultado(nombreOriginal + "    =>    " + fi.Name));
                return(true);
            }
            catch (IOException e)
            {
                if (e.Message == "No se puede crear un archivo que ya existe.\r\n")
                {
                    try
                    {
                        File.SetAttributes(fi.FullName, FileAttributes.Normal);
                        fi.Delete();
                        mainWindow.panelResultadoErroresRenombrado.Children.Add(CrearVistas.getLabelResultado("(Borrado) Error renombrando: " + nombreOriginal));
                    }
                    catch (Exception ex)
                    {
                    }
                }
                return(false);
            }
            catch (Exception e)
            {
                mainWindow.panelResultadoErroresRenombrado.Children.Add(CrearVistas.getLabelResultado("Error renombrando: " + nombreOriginal));
                mainWindow.LogErrorXML.añadirEntrada(new Log("Error renombrando", "Fichero '" + nombreOriginal + "' no se ha podido renombrar a  '" + fi.FullName + "' /n" + e.ToString(), fi));
                return(false);
            }
        }
Esempio n. 10
0
        public static void BuscarDescargasDisponibles(MainWindow mainWindow)
        {
            mainWindow.updateListaSeries();
            foreach (Serie serie in mainWindow.series)
            {
                int[] tmp = GestorVideos.getUltimoFichero(mainWindow, serie);
                if (tmp != null)
                {
                    int temp = tmp[0];
                    int cap  = tmp[1];

                    List <string> pruebas = new List <string>();
                    //prueba con capitulo++
                    if (cap < 9)
                    {
                        pruebas.Add("http://www.mejortorrent.com/uploads/torrents/series/" + serie.titDescarga + "_" + temp + "_0" + (cap + 1) + ".torrent");
                        pruebas.Add("http://www.mejortorrent.com/uploads/torrents/series/" + serie.titDescarga + "_" + temp + "_720p_0" + (cap + 1) + ".torrent");
                        pruebas.Add("http://www.mejortorrent.com/uploads/torrents/series/" + serie.titDescarga + "_" + temp + "_1080p_0" + (cap + 1) + ".torrent");
                    }
                    else
                    {
                        pruebas.Add("http://www.mejortorrent.com/uploads/torrents/series/" + serie.titDescarga + "_" + temp + "_" + (cap + 1) + ".torrent");
                        pruebas.Add("http://www.mejortorrent.com/uploads/torrents/series/" + serie.titDescarga + "_" + temp + "_720p_" + (cap + 1) + ".torrent");
                        pruebas.Add("http://www.mejortorrent.com/uploads/torrents/series/" + serie.titDescarga + "_" + temp + "_1080p_" + (cap + 1) + ".torrent");
                    }

                    foreach (string url in pruebas)
                    {
                        if (RemoteFileExists(url))
                        {
                            mainWindow.listaFicherosDescargar.Children.Add(CrearVistas.getFicheroDescargar((serie.titulo + " " + temp + "x" + cap), url));
                        }
                    }

                    //        ejemplos
                    // http://www.mejortorrent.com/uploads/torrents/series/Los_100_3_09.torrent
                    //  http://www.mejortorrent.com/uploads/torrents/series/Angie_Tribeca_1_720p_01.torrent
                }
            }
        }
Esempio n. 11
0
        public static void recogerTorrent(MainWindow mainWindow)
        {
            int directoriosBorrados = 0;
            int ficherosBorrados    = 0;
            int videosMovidos       = 0;
            int errores             = 0;

            Stopwatch tiempo = Stopwatch.StartNew();

            DirectoryInfo dir = new DirectoryInfo(mainWindow.config.dirTorrent);

            if (!dir.Exists)
            {
                throw new DirectoryNotFoundException("Directorio de descargas no encontrado");
            }

            FileSystemInfo[] filesInfo       = dir.GetFileSystemInfos();
            List <FileInfo>  ficherosTorrent = new List <FileInfo>();

            ficherosTorrent.AddRange(listarFicheros(filesInfo));

            foreach (FileInfo item in ficherosTorrent)
            {
                switch (item.Extension)
                {
                //borrar
                case ".txt":
                    if (borrarFichero(item, mainWindow))
                    {
                        ficherosBorrados++;
                        mainWindow.panelResultadoFicherosBorrados.Children.Add(CrearVistas.getLabelResultado(item.Name));
                    }
                    else
                    {
                        errores++;
                        mainWindow.panelResultadoErroresMoviendo.Children.Add(CrearVistas.getLabelResultado("Error borrando: " + item.Name));
                    }
                    break;

                case ".!ut":
                    if (borrarFichero(item, mainWindow))
                    {
                        ficherosBorrados++;
                        mainWindow.panelResultadoFicherosBorrados.Children.Add(CrearVistas.getLabelResultado(item.Name));
                    }
                    else
                    {
                        errores++;
                        mainWindow.panelResultadoErroresMoviendo.Children.Add(CrearVistas.getLabelResultado("Error borrando: " + item.Name));
                    }
                    break;

                case ".url":
                    if (borrarFichero(item, mainWindow))
                    {
                        ficherosBorrados++;
                        mainWindow.panelResultadoFicherosBorrados.Children.Add(CrearVistas.getLabelResultado(item.Name));
                    }
                    else
                    {
                        errores++;
                        mainWindow.panelResultadoErroresMoviendo.Children.Add(CrearVistas.getLabelResultado("Error borrando: " + item.Name));
                    }
                    break;

                case ".jpg":
                    if (borrarFichero(item, mainWindow))
                    {
                        ficherosBorrados++;
                        mainWindow.panelResultadoFicherosBorrados.Children.Add(CrearVistas.getLabelResultado(item.Name));
                    }
                    else
                    {
                        errores++;
                        mainWindow.panelResultadoErroresMoviendo.Children.Add(CrearVistas.getLabelResultado("Error borrando: " + item.Name));
                    }
                    break;

                //mover
                case ".avi":
                    if (moverFichero(item, mainWindow))
                    {
                        videosMovidos++;
                        mainWindow.panelResultadoVideosMovidos.Children.Add(CrearVistas.getLabelResultado(item.Name));
                    }
                    else
                    {
                        errores++;
                        mainWindow.panelResultadoErroresMoviendo.Children.Add(CrearVistas.getLabelResultado("Error moviendo: " + item.Name));
                    }
                    break;

                case ".mkv":
                    if (moverFichero(item, mainWindow))
                    {
                        videosMovidos++;
                        mainWindow.panelResultadoVideosMovidos.Children.Add(CrearVistas.getLabelResultado(item.Name));
                    }
                    else
                    {
                        errores++;
                        mainWindow.panelResultadoErroresMoviendo.Children.Add(CrearVistas.getLabelResultado("Error moviendo: " + item.Name));
                    }
                    break;

                case ".mp4":
                    if (moverFichero(item, mainWindow))
                    {
                        videosMovidos++;
                        mainWindow.panelResultadoVideosMovidos.Children.Add(CrearVistas.getLabelResultado("Error moviendo: " + item.Name));
                    }
                    else
                    {
                        errores++;
                        mainWindow.panelResultadoErroresMoviendo.Children.Add(CrearVistas.getLabelResultado("Error renombrando: " + item.Name));
                    }
                    break;
                    //    default:
                    //    throw new TipoArchivoNoSoportadoException(item);
                }
            }
            directoriosBorrados = borrarDirectoriosVacios(mainWindow.config.dirTorrent);
            Directory.CreateDirectory(mainWindow.config.dirTorrent);

            mainWindow.labelNumeroFicherosBorrados.Content  = ficherosBorrados;
            mainWindow.labelNumeroErroresRecogiendo.Content = errores;
            mainWindow.labelNumeroVideosMovidos.Content     = videosMovidos;

            //mostrar tiempo
            mainWindow.labelTiempoRecoger.Content = tiempo.ElapsedMilliseconds.ToString() + " ms";
        }
Esempio n. 12
0
        internal static void Update(MainWindow mainWindow, int cod)
        {
            collapseAll(mainWindow);

            switch (cod)
            {
            case Codigos.ESTADO_INICIAL:
                break;

                #region Paneles 1 (Tareas)
            case Codigos.PANEL_ORDENAR_VIDEOS:
                mainWindow.panelOrdenarVideos.Visibility          = Visibility.Visible;
                mainWindow.labelTiempoOrden.Content               = "";
                mainWindow.labelTiempoRecoger.Content             = "";
                mainWindow.consolaPanelRenombrarVideos.Visibility = Visibility.Collapsed;
                mainWindow.consolaPanelRecogerVideos.Visibility   = Visibility.Collapsed;
                break;

            case Codigos.LIMPIAR_ANTIGUOS_RESULTADOS_RECOGER:
                mainWindow.panelResultadoVideosMovidos.Children.Clear();
                mainWindow.panelResultadoFicherosBorrados.Children.Clear();
                mainWindow.panelResultadoErroresMoviendo.Children.Clear();
                break;

            case Codigos.LIMPIAR_ANTIGUOS_RESULTADOS_RENOMBRAR:
                mainWindow.panelResultadoErroresRenombrado.Children.Clear();
                mainWindow.panelResultadoPatronesEjecutados.Children.Clear();
                mainWindow.panelResultadoVideosRenombrados.Children.Clear();
                break;

            case Codigos.MOSTRAR_RESULTADOS_RECOGER:
                mainWindow.panelOrdenarVideos.Visibility        = Visibility.Visible;
                mainWindow.consolaPanelVideos.Visibility        = Visibility.Visible;
                mainWindow.consolaPanelRecogerVideos.Visibility = Visibility.Visible;
                mainWindow.PanelTiempoRecogido.Visibility       = Visibility.Visible;
                break;

            case Codigos.MOSTRAR_RESULTADOS_RENOMBRAR:
                mainWindow.panelOrdenarVideos.Visibility          = Visibility.Visible;
                mainWindow.consolaPanelVideos.Visibility          = Visibility.Visible;
                mainWindow.consolaPanelRenombrarVideos.Visibility = Visibility.Visible;
                mainWindow.panelTiempoRenombrado.Visibility       = Visibility.Visible;
                break;
                #endregion

                #region Paneles 2 (Datos)
            case Codigos.PANEL_ADD_DATOS:
                mainWindow.panelAddDatos.Visibility = Visibility.Visible;
                break;

            case Codigos.ADD_SERIE:
                mainWindow.panelAddDatos.Visibility = Visibility.Visible;
                mainWindow.panelAddSerie.Visibility = Visibility.Visible;
                break;

            case Codigos.ADD_SERIE_OK:
                mainWindow.panelAddDatos.Visibility             = Visibility.Visible;
                mainWindow.panelAddSerie.Visibility             = Visibility.Visible;
                mainWindow.textBoxCapitulosTemporada.Text       = "";
                mainWindow.textBoxNumeroTemporadas.Text         = "";
                mainWindow.textBoxTitulo.Text                   = "";
                mainWindow.comboBoxExtensionSerie.SelectedIndex = -1;
                break;

            case Codigos.ADD_PATRON:
                mainWindow.panelAddDatos.Visibility  = Visibility.Visible;
                mainWindow.panelAddPatron.Visibility = Visibility.Visible;
                mainWindow.panelSeleccionarSeriePatron.Visibility = Visibility.Visible;
                mainWindow.panelFicherosARenombrar.Visibility     = Visibility.Visible;
                rellenaPanelSeleccionarSeries(mainWindow);
                rellenaPanelFicherosARenombrar(mainWindow);
                break;

            case Codigos.ADD_PATRON_SERIE_SELEC:
                mainWindow.panelAddDatos.Visibility  = Visibility.Visible;
                mainWindow.panelAddPatron.Visibility = Visibility.Visible;
                mainWindow.panelSeleccionarSeriePatron.Visibility = Visibility.Visible;
                mainWindow.panelNuevoPatron.Visibility            = Visibility.Visible;
                mainWindow.panelFicherosARenombrar.Visibility     = Visibility.Visible;
                rellenaPanelFicherosARenombrar(mainWindow);
                rellenaPanelPatronesActuales(mainWindow);
                break;

            case Codigos.ADD_PATRON_OK:
                mainWindow.textBoxNuevoPatron.Text = "";
                Update(mainWindow, Codigos.ADD_PATRON_SERIE_SELEC);
                break;

            case Codigos.PANEL_IO_SERIES:
                mainWindow.panelAddDatos.Visibility = Visibility.Visible;
                mainWindow.panelIOSerie.Visibility  = Visibility.Visible;
                rellenaPanelSeriesActivas(mainWindow);
                rellenaPanelSeriesInactivas(mainWindow);
                break;

            case Codigos.PANEL_INCREMENTAR_TEMPORADAS:
                mainWindow.panelAddDatos.Visibility = Visibility.Visible;
                mainWindow.panelIncrementarTemporadas.Visibility = Visibility.Visible;
                rellenaPanelIncrementarTemporadas(mainWindow);
                break;
                #endregion

                #region Paneles 3 (Mantenimiento)
            case Codigos.PANEL_MANTENIMIENTO:
                mainWindow.panelMantenimiento.Visibility = Visibility.Visible;
                mainWindow.circuloContinuidad.Source     = CrearVistas.getPunto(Codigos.PUNTO_AZUL);

                break;

            case Codigos.RESULTADO_MANTENIMIENTO:
                mainWindow.panelMantenimiento.Visibility        = Visibility.Visible;
                mainWindow.panelResultadoContinuidad.Visibility = Visibility.Visible;
                mainWindow.panelResultadoHomogenia.Visibility   = Visibility.Visible;
                mainWindow.panelResultadoDuplicidad.Visibility  = Visibility.Visible;


                if (mainWindow.ErroresContinuidad.Count == 0)
                {
                    mainWindow.circuloContinuidad.Source = CrearVistas.getPunto(Codigos.PUNTO_VERDE);
                }
                if (mainWindow.ErroresContinuidad.Count > 5)
                {
                    mainWindow.circuloContinuidad.Source = CrearVistas.getPunto(Codigos.PUNTO_ROJO);
                }
                else
                {
                    mainWindow.circuloContinuidad.Source = CrearVistas.getPunto(Codigos.PUNTO_AMARILLO);
                }
                mainWindow.labelResultadoContinuidad.Content = mainWindow.ErroresContinuidad.Count + " errores detectados";


                if (mainWindow.ErroresHomogenia.Count == 0)
                {
                    mainWindow.circuloHomogenia.Source = CrearVistas.getPunto(Codigos.PUNTO_VERDE);
                }
                if (mainWindow.ErroresHomogenia.Count > 10)
                {
                    mainWindow.circuloHomogenia.Source = CrearVistas.getPunto(Codigos.PUNTO_ROJO);
                }
                else
                {
                    mainWindow.circuloContinuidad.Source = CrearVistas.getPunto(Codigos.PUNTO_AMARILLO);
                }
                mainWindow.labelResultadoHomogenia.Content = mainWindow.ErroresHomogenia.Count + " errores detectados";

                if (mainWindow.ErroresDuplicidad.Count == 0)
                {
                    mainWindow.circuloDuplicidad.Source = CrearVistas.getPunto(Codigos.PUNTO_VERDE);
                }
                if (mainWindow.ErroresDuplicidad.Count > 2)
                {
                    mainWindow.circuloDuplicidad.Source = CrearVistas.getPunto(Codigos.PUNTO_ROJO);
                }
                else
                {
                    mainWindow.circuloDuplicidad.Source = CrearVistas.getPunto(Codigos.PUNTO_AMARILLO);
                }
                mainWindow.labelResultadoDuplicidad.Content = mainWindow.ErroresDuplicidad.Count + " errores detectados";



                break;

            case Codigos.VER_CONTINUIDAD:
                Update(mainWindow, Codigos.RESULTADO_MANTENIMIENTO);
                mainWindow.borderResultadoMantenimiento.Visibility    = Visibility.Visible;
                mainWindow.labelTituloResultadosMantenimiento.Content = "Ficheros que faltan:";
                rellenaPanelResultadoContinuidad(mainWindow);
                break;

            case Codigos.VER_HOMOGENIA:
                Update(mainWindow, Codigos.RESULTADO_MANTENIMIENTO);
                mainWindow.borderResultadoMantenimiento.Visibility    = Visibility.Visible;
                mainWindow.labelTituloResultadosMantenimiento.Content = "Ficheros con ext incorrecta:";
                rellenaPanelResultadoHomogenia(mainWindow);
                break;

            case Codigos.VER_DUPLICIDAD:
                Update(mainWindow, Codigos.RESULTADO_MANTENIMIENTO);
                mainWindow.borderResultadoMantenimiento.Visibility    = Visibility.Visible;
                mainWindow.labelTituloResultadosMantenimiento.Content = "Ficheros duplicados:";
                rellenaPanelResultadoDuplicidad(mainWindow);
                break;
                #endregion

                #region Paneles 4 (Descarga)
            case Codigos.PANEL_DESCARGA:
                mainWindow.panelDescarga.Visibility = Visibility.Visible;
                GestorDescargas.BuscarDescargasDisponibles(mainWindow);


                break;

                #endregion
            default:
                throw new UpdateIUException(cod);
            }
        }