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)); } }
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)); } }
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)); } }
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)); } } }
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)); } } }
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)); } } }
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)); } } }
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; }
/// <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); } }
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 } } }
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"; }
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); } }