From 0a2df2254edd25d4f2e499f27c5f0630e60f2614 Mon Sep 17 00:00:00 2001 From: ulrich <undisclosed> Date: Sat, 31 Mar 2018 21:57:18 +0000 Subject: [PATCH] Feeds berichtigt, Feinschliff fehlt noch --- src/java/de/uhilger/filecms/web/FeedServlet.java | 94 +++++++++++++++++++++++++---------------------- 1 files changed, 50 insertions(+), 44 deletions(-) diff --git a/src/java/de/uhilger/filecms/web/FeedServlet.java b/src/java/de/uhilger/filecms/web/FeedServlet.java index bf52137..0a02770 100644 --- a/src/java/de/uhilger/filecms/web/FeedServlet.java +++ b/src/java/de/uhilger/filecms/web/FeedServlet.java @@ -63,7 +63,7 @@ logger.fine(pfad.toString()); File dir = new File(pfad.toString()); if(dir.isDirectory()) { - ArrayList beitraege = new ArrayList(); + List beitraege = new ArrayList(); collectFiles(dir, 0, beitraege); Iterator i = beitraege.iterator(); while(i.hasNext()) { @@ -123,7 +123,7 @@ }); Iterator i = dirs.iterator(); while(i.hasNext() && beitraege.size() < maxBeitraege) { - collectFiles((File) i.next(), ++tiefe, beitraege); + collectFiles((File) i.next(), tiefe+1, beitraege); } } if(beitraegeHier.size() > 0) { @@ -148,57 +148,63 @@ Iterator i = beitraegeHier.iterator(); while(i.hasNext() && beitraege.size() < maxBeitraege) { - beitraege.add(i.next()); + File bf = (File) i.next(); + String nm = bf.getName().toLowerCase(); + if(nm.endsWith(".htmi") || nm.endsWith(".html") || nm.endsWith(".htm") || + nm.endsWith(".jpg") || nm.endsWith(".jpeg") || nm.endsWith(".png") || + nm.endsWith(".txt")) { + beitraege.add(bf); + } } } } public void writeFeed(String feedTitel, String beschr, ServletOutputStream s, List beitraege, String basis, String pfad) { - String copyright = "Copyright (c) 2018 Ulrich Hilger"; - String title = feedTitel; - String description = beschr; - String language = "de"; - String link = "https://www.uhilger.de"; - Calendar cal = new GregorianCalendar(); - Date creationDate = cal.getTime(); - SimpleDateFormat date_format = new SimpleDateFormat( - "EEE', 'dd' 'MMM' 'yyyy' 'HH:mm:ss' 'Z", Locale.US); - String pubdate = date_format.format(creationDate); - Feed rssFeed = new Feed(title, link, description, language, - copyright, pubdate); + String copyright = "Copyright (c) 2018 Ulrich Hilger"; + String title = feedTitel; + String description = beschr; + String language = "de"; + String link = "https://www.uhilger.de"; + Calendar cal = new GregorianCalendar(); + Date creationDate = cal.getTime(); + SimpleDateFormat date_format = new SimpleDateFormat( + "EEE', 'dd' 'MMM' 'yyyy' 'HH:mm:ss' 'Z", Locale.US); + String pubdate = date_format.format(creationDate); + Feed rssFeed = new Feed(title, link, description, language, + copyright, pubdate); - Iterator i = beitraege.iterator(); - while(i.hasNext()) { - File f = (File) i.next(); - FeedMessage feedEintrag = new FeedMessage(); - feedEintrag.setTitle(f.getName()); - //feedEintrag.setDescription("Beschreibung hier"); - feedEintrag.setAuthor("ulrich Punkt hilger bei web Punkt de (Ulrich Hilger)"); - - String urlStr = f.getAbsolutePath(); - urlStr = urlStr.replace(basis, "https://uhilger.de"); - urlStr = urlStr.replace("www/", "data/"); + Iterator i = beitraege.iterator(); + while (i.hasNext()) { + File f = (File) i.next(); + FeedMessage feedEintrag = new FeedMessage(); + feedEintrag.setTitle(f.getName()); + //feedEintrag.setDescription("Beschreibung hier"); + feedEintrag.setAuthor("ulrich Punkt hilger bei web Punkt de (Ulrich Hilger)"); - logger.fine(urlStr); - - feedEintrag.setGuid(urlStr); - feedEintrag.setLink(urlStr); - logger.fine(f.getName()); - feedEintrag.setDescription(readFilePart(f, urlStr)); - rssFeed.getMessages().add(feedEintrag); - } + String urlStr = f.getAbsolutePath(); + urlStr = urlStr.replace(basis, "https://uhilger.de"); + urlStr = urlStr.replace("www/", "data/"); - RSSStreamFeedWriter writer = new RSSStreamFeedWriter(rssFeed, s); - //RSSFeedWriter writer = new RSSFeedWriter(rssFeed, pfad + "/articles.rss"); - //ByteArrayOutputStream bs = new ByteArrayOutputStream(); - //RSSByteFeedWriter wr = new RSSByteFeedWriter(rssFeed, bs); - try { - writer.write(); - //s.print(bs.toString()); - } catch (Exception e) { - logger.log(Level.SEVERE, e.getMessage(), e); - } + logger.fine(urlStr); + + feedEintrag.setGuid(urlStr); + feedEintrag.setLink(urlStr); + logger.fine(f.getName()); + feedEintrag.setDescription(readFilePart(f, urlStr)); + rssFeed.getMessages().add(feedEintrag); + } + + RSSStreamFeedWriter writer = new RSSStreamFeedWriter(rssFeed, s); + //RSSFeedWriter writer = new RSSFeedWriter(rssFeed, pfad + "/articles.rss"); + //ByteArrayOutputStream bs = new ByteArrayOutputStream(); + //RSSByteFeedWriter wr = new RSSByteFeedWriter(rssFeed, bs); + try { + writer.write(); + //s.print(bs.toString()); + } catch (Exception e) { + logger.log(Level.SEVERE, e.getMessage(), e); + } } private String readFilePart(File f, String urlStr) { -- Gitblit v1.9.3