/* * MediathekView * Copyright (C) 2014 W. Xaver * W.Xaver[at]googlemail.com * http://zdfmediathk.sourceforge.net/ * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package mediathek.tool; import mSearch.daten.DatenFilm; import mSearch.tool.FilenameUtils; import mSearch.tool.Log; import mSearch.tool.SysMsg; import mediathek.config.Daten; import mediathek.config.MVConfig; import mediathek.daten.DatenDownload; import mediathek.daten.DatenPset; import mediathek.daten.ListePset; import mediathek.gui.dialog.DialogZiel; import javax.swing.*; import java.io.*; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; public class MVInfoFile { public static void writeInfoFile(JFrame paFrame, Daten daten, DatenFilm film) { String titel = film.arr[DatenFilm.FILM_TITEL]; titel = FilenameUtils.replaceLeerDateiname(titel, false /*pfad*/, Boolean.parseBoolean(MVConfig.get(MVConfig.Configs.SYSTEM_USE_REPLACETABLE)), Boolean.parseBoolean(MVConfig.get(MVConfig.Configs.SYSTEM_ONLY_ASCII))); String pfad = ""; ListePset lp = Daten.listePset.getListeSpeichern(); if (!lp.isEmpty()) { DatenPset p = lp.get(0); pfad = p.getZielPfad(); } if (pfad.isEmpty()) { pfad = GuiFunktionen.getStandardDownloadPath(); } if (titel.isEmpty()) { titel = film.arr[DatenFilm.FILM_SENDER].replace(" ", "-") + ".txt"; } else { titel = titel + ".txt"; } pfad = GuiFunktionen.addsPfad(pfad, titel); DialogZiel dialog = new DialogZiel(paFrame, true, pfad, "Infos speichern"); dialog.setVisible(true); if (!dialog.ok) { return; } Path path = Paths.get(dialog.ziel); try (BufferedWriter br = new BufferedWriter(new OutputStreamWriter(new DataOutputStream(Files.newOutputStream(path))))) { br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_SENDER] + ": " + film.arr[DatenFilm.FILM_SENDER]); br.write("\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_THEMA] + ": " + film.arr[DatenFilm.FILM_THEMA]); br.write("\n\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_TITEL] + ": " + film.arr[DatenFilm.FILM_TITEL]); br.write("\n\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_DATUM] + ": " + film.arr[DatenFilm.FILM_DATUM]); br.write("\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_ZEIT] + ": " + film.arr[DatenFilm.FILM_ZEIT]); br.write("\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_DAUER] + ": " + film.arr[DatenFilm.FILM_DAUER]); br.write("\n"); br.write(DatenDownload.COLUMN_NAMES[DatenDownload.DOWNLOAD_GROESSE] + ": " + film.arr[DatenFilm.FILM_GROESSE]); br.write("\n\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_WEBSEITE] + '\n'); br.write(film.arr[DatenFilm.FILM_WEBSEITE]); br.write("\n\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_URL] + '\n'); br.write(film.arr[DatenFilm.FILM_URL]); br.write("\n\n"); if (!film.arr[DatenFilm.FILM_URL_RTMP].isEmpty()) { br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_URL_RTMP] + '\n'); br.write(film.arr[DatenFilm.FILM_URL_RTMP]); br.write("\n\n"); } int anz = 0; for (String s : film.arr[DatenFilm.FILM_BESCHREIBUNG].split(" ")) { anz += s.length(); br.write(s + ' '); if (anz > 50) { br.write("\n"); anz = 0; } } br.write("\n\n"); br.flush(); } catch (IOException ex) { Log.errorLog(632656214, dialog.ziel); } } public static void writeInfoFile(DatenDownload datenDownload) { SysMsg.sysMsg(new String[]{"Infofile schreiben nach: ", datenDownload.arr[DatenDownload.DOWNLOAD_ZIEL_PFAD]}); new File(datenDownload.arr[DatenDownload.DOWNLOAD_ZIEL_PFAD]).mkdirs(); Path path = Paths.get(datenDownload.getFileNameWithoutSuffix() + ".txt"); try (DataOutputStream dos = new DataOutputStream(Files.newOutputStream(path)); OutputStreamWriter osw = new OutputStreamWriter(dos); BufferedWriter br = new BufferedWriter(osw)) { if (datenDownload.film != null) { br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_SENDER] + ": " + datenDownload.film.arr[DatenFilm.FILM_SENDER]); br.write("\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_THEMA] + ": " + datenDownload.film.arr[DatenFilm.FILM_THEMA]); br.write("\n\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_TITEL] + ": " + datenDownload.film.arr[DatenFilm.FILM_TITEL]); br.write("\n\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_DATUM] + ": " + datenDownload.film.arr[DatenFilm.FILM_DATUM]); br.write("\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_ZEIT] + ": " + datenDownload.film.arr[DatenFilm.FILM_ZEIT]); br.write("\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_DAUER] + ": " + datenDownload.film.arr[DatenFilm.FILM_DAUER]); br.write("\n"); br.write(DatenDownload.COLUMN_NAMES[DatenDownload.DOWNLOAD_GROESSE] + ": " + datenDownload.mVFilmSize); br.write("\n\n"); br.write(DatenFilm.COLUMN_NAMES[DatenFilm.FILM_WEBSEITE] + '\n'); br.write(datenDownload.film.arr[DatenFilm.FILM_WEBSEITE]); br.write("\n\n"); } br.write(DatenDownload.COLUMN_NAMES[DatenDownload.DOWNLOAD_URL] + '\n'); br.write(datenDownload.arr[DatenDownload.DOWNLOAD_URL]); br.write("\n\n"); if (!datenDownload.arr[DatenDownload.DOWNLOAD_URL_RTMP].isEmpty() && !datenDownload.arr[DatenDownload.DOWNLOAD_URL_RTMP].equals(datenDownload.arr[DatenDownload.DOWNLOAD_URL])) { br.write(DatenDownload.COLUMN_NAMES[DatenDownload.DOWNLOAD_URL_RTMP] + '\n'); br.write(datenDownload.arr[DatenDownload.DOWNLOAD_URL_RTMP]); br.write("\n\n"); } if (datenDownload.film != null) { int anz = 0; for (String s : datenDownload.film.arr[DatenFilm.FILM_BESCHREIBUNG].split(" ")) { anz += s.length(); br.write(s + ' '); if (anz > 50) { br.write("\n"); anz = 0; } } } br.write("\n\n"); br.flush(); SysMsg.sysMsg(new String[]{"Infofile", " geschrieben"}); } catch (IOException ex) { Log.errorLog(975410369, datenDownload.arr[DatenDownload.DOWNLOAD_ZIEL_PFAD_DATEINAME]); } } }