From 16e2239abf7342751a23850f8412bf4fd907f590 Mon Sep 17 00:00:00 2001 From: Crespyl Date: Sun, 30 Dec 2012 18:22:11 -0500 Subject: [PATCH 1/4] Added ArchivedComic for "Edmund Finney's Quest to Find the Meaning of Life" webcomic from eqcomics.com --- ComicReader/assets/classes.json | 1 + .../comicreader/comics/EdmundFinney.java | 94 +++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 ComicReader/src/com/blogspot/applications4android/comicreader/comics/EdmundFinney.java diff --git a/ComicReader/assets/classes.json b/ComicReader/assets/classes.json index 10fa5f1..464f144 100755 --- a/ComicReader/assets/classes.json +++ b/ComicReader/assets/classes.json @@ -22,6 +22,7 @@ {"class":"Dinosaur", "name":"Dinosaur", "pref":"dinosaurPref"}, {"class":"DogHouseDiaries", "name":"Doghouse Diaries", "pref":"doghousediariesPref"}, {"class":"DumbingofAge", "name":"Dumbing of Age", "pref":"dumbingofagePref"}, + {"class":"EdmundFinney", "name":"Edmund Finney's Quest to Find the Meaning of Life", "pref":"edmundfinneyPref"}, {"class":"FeyWinds", "name":"Fey Winds", "pref":"feywindsPref"}, {"class":"FreeFall", "name":"Free Fall", "pref":"freefallPref"}, {"class":"GeekAndPoke", "name":"Geek And Poke", "pref":"geeknpokePref"}, diff --git a/ComicReader/src/com/blogspot/applications4android/comicreader/comics/EdmundFinney.java b/ComicReader/src/com/blogspot/applications4android/comicreader/comics/EdmundFinney.java new file mode 100644 index 0000000..93c60dd --- /dev/null +++ b/ComicReader/src/com/blogspot/applications4android/comicreader/comics/EdmundFinney.java @@ -0,0 +1,94 @@ +package com.blogspot.applications4android.comicreader.comics; + +import java.io.BufferedReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import android.util.Log; + +import com.blogspot.applications4android.comicreader.comictypes.ArchivedComic; +import com.blogspot.applications4android.comicreader.core.Strip; + +public class EdmundFinney extends ArchivedComic { + + @Override + protected String[] getAllComicUrls(BufferedReader reader) + throws IOException { + + ArrayList strips = new ArrayList(); + String line = reader.readLine(); + + Pattern archiveStripPattern = Pattern.compile("http://eqcomics.com/..../../../.*?/"); + + while((line != null)) { + + Matcher lineMatcher = archiveStripPattern.matcher(line); + if(line.contains("") && lineMatcher.find()) { + strips.add(lineMatcher.group(0)); + //Log.d("edmundfinney", "added strip url: "+lineMatcher.group(0)); + } + + line = reader.readLine(); + } + + Collections.reverse(strips); + + return strips.toArray(new String[strips.size()]); + } + + @Override + protected String getArchiveUrl() { + return "http://eqcomics.com/archive"; + } + + @Override + public String getComicWebPageUrl() { + return "http://eqcomics.com"; + } + + @Override + protected boolean htmlNeeded() { + return true; + } + + @Override + protected String parse(String url, BufferedReader reader, Strip strip) + throws IOException { + + String line = reader.readLine(); + String imgUrl = null; + String title = null; + + Pattern imgPattern = Pattern.compile("http://eqcomics.com/comics/.*(jpg|png|gif)"); + + Log.d("edmundfinney","parsing url: "+url); + + while((line != null)) { + + Matcher urlMatcher = imgPattern.matcher(line); + + if(urlMatcher.find()) { + imgUrl = urlMatcher.group(0); + //Log.d("edmundfinney", "found img url:"+imgUrl); + } + + if(line.matches(".*.*")) { + title = line.replaceAll(".*<title>", ""); + title = title.replaceAll("", ""); + title = title.replaceAll("Edmund Finney's Quest to Find the Meaning of Life - ", ""); + Log.d("edmundfinney", "found strip title: "+title); + } + + line = reader.readLine(); + } + + strip.setText(""); + strip.setTitle(title); + + return imgUrl; + } + +} From a48d282337e6be453339cf8e4f33f2c2b33b33a5 Mon Sep 17 00:00:00 2001 From: Crespyl Date: Sun, 30 Dec 2012 23:35:45 -0500 Subject: [PATCH 2/4] Added El Goonish Shive Implemented as YearlyArchived due to irregular scheduling --- ComicReader/assets/classes.json | 1 + .../comicreader/comics/ElGoonishShive.java | 106 ++++++++++++++++++ 2 files changed, 107 insertions(+) create mode 100644 ComicReader/src/com/blogspot/applications4android/comicreader/comics/ElGoonishShive.java diff --git a/ComicReader/assets/classes.json b/ComicReader/assets/classes.json index 464f144..ee8e38f 100755 --- a/ComicReader/assets/classes.json +++ b/ComicReader/assets/classes.json @@ -23,6 +23,7 @@ {"class":"DogHouseDiaries", "name":"Doghouse Diaries", "pref":"doghousediariesPref"}, {"class":"DumbingofAge", "name":"Dumbing of Age", "pref":"dumbingofagePref"}, {"class":"EdmundFinney", "name":"Edmund Finney's Quest to Find the Meaning of Life", "pref":"edmundfinneyPref"}, + {"class":"ElGoonishShive","name":"El Goonish Shive", "pref":"elgoonishshivePref"}, {"class":"FeyWinds", "name":"Fey Winds", "pref":"feywindsPref"}, {"class":"FreeFall", "name":"Free Fall", "pref":"freefallPref"}, {"class":"GeekAndPoke", "name":"Geek And Poke", "pref":"geeknpokePref"}, diff --git a/ComicReader/src/com/blogspot/applications4android/comicreader/comics/ElGoonishShive.java b/ComicReader/src/com/blogspot/applications4android/comicreader/comics/ElGoonishShive.java new file mode 100644 index 0000000..0b2058d --- /dev/null +++ b/ComicReader/src/com/blogspot/applications4android/comicreader/comics/ElGoonishShive.java @@ -0,0 +1,106 @@ +//Added by Crespyl + +package com.blogspot.applications4android.comicreader.comics; + +import java.io.BufferedReader; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import android.util.Log; + +import com.blogspot.applications4android.comicreader.comictypes.DailyComic; +import com.blogspot.applications4android.comicreader.comictypes.YearlyArchivedComic; +import com.blogspot.applications4android.comicreader.core.Strip; + +public class ElGoonishShive extends YearlyArchivedComic { + + @Override + public String getComicWebPageUrl() { + return "http://www.egscomics.com/"; + } + + @Override + protected boolean htmlNeeded() { + return true; + } + + @Override + protected String parse(String url, BufferedReader reader, Strip strip) + throws IOException { + String line = reader.readLine(); + String imgUrl = null; + String title = null; + + Pattern imgPattern = Pattern.compile("comics/.*(jpg|png|gif)"); + + Log.d("elgoonishshive","parsing url: "+url); + + while((line != null)) { + + Matcher urlMatcher = imgPattern.matcher(line); + + if(urlMatcher.find()) { + imgUrl = "http://www.egscomics.com/"+urlMatcher.group(0); + } + + if(line.matches(".*.*")) { + title = line.replaceAll(".*<title>", ""); + title = title.replaceAll("", ""); + Log.d("elgoonishshive", "found strip title: "+title); + } + + line = reader.readLine(); + } + + strip.setText(""); + strip.setTitle(title); + + return imgUrl; + } + + @Override + protected ArrayList getAllComicUrls(BufferedReader reader, int year) + throws IOException { + + Log.d("elgoonishshive","getting comic urls for year "+year); + + ArrayList urls = new ArrayList(); + Pattern comicUrlPattern = Pattern.compile("date=.........."); + + String line = null; + while((line = reader.readLine()) != null) { + Matcher urlMatcher = comicUrlPattern.matcher(line); + + if(line.contains("index.php?date=")) { + + while(urlMatcher.find()) { + urls.add("http://www.egscomics.com/index.php?"+urlMatcher.group()); + Log.d("elgoonishshive","found comic url: "+urlMatcher.group()); + } + } + } + + return urls; + + } + + @Override + protected int getFirstYear() { + return 2003; + } + + @Override + protected String getArchiveUrl(int year) { + return String.format("http://www.egscomics.com/archives.php?year=%04d&start=0&displaymode=cal", + year); + } + + @Override + protected boolean neededReversal() { + return false; + } + +} From 50512f8356caddad1b0ba5ba1ea9e8d99f83f5a0 Mon Sep 17 00:00:00 2001 From: Crespyl Date: Sun, 30 Dec 2012 23:43:16 -0500 Subject: [PATCH 3/4] Fixed "El Goonish Shive" starting year being incorrectly recorded as 2003, instead of 2002 --- .../comicreader/comics/ElGoonishShive.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ComicReader/src/com/blogspot/applications4android/comicreader/comics/ElGoonishShive.java b/ComicReader/src/com/blogspot/applications4android/comicreader/comics/ElGoonishShive.java index 0b2058d..e74a0df 100644 --- a/ComicReader/src/com/blogspot/applications4android/comicreader/comics/ElGoonishShive.java +++ b/ComicReader/src/com/blogspot/applications4android/comicreader/comics/ElGoonishShive.java @@ -36,8 +36,6 @@ public class ElGoonishShive extends YearlyArchivedComic { Pattern imgPattern = Pattern.compile("comics/.*(jpg|png|gif)"); - Log.d("elgoonishshive","parsing url: "+url); - while((line != null)) { Matcher urlMatcher = imgPattern.matcher(line); @@ -49,7 +47,6 @@ public class ElGoonishShive extends YearlyArchivedComic { if(line.matches(".*.*")) { title = line.replaceAll(".*<title>", ""); title = title.replaceAll("", ""); - Log.d("elgoonishshive", "found strip title: "+title); } line = reader.readLine(); @@ -65,8 +62,6 @@ public class ElGoonishShive extends YearlyArchivedComic { protected ArrayList getAllComicUrls(BufferedReader reader, int year) throws IOException { - Log.d("elgoonishshive","getting comic urls for year "+year); - ArrayList urls = new ArrayList(); Pattern comicUrlPattern = Pattern.compile("date=.........."); @@ -78,7 +73,6 @@ public class ElGoonishShive extends YearlyArchivedComic { while(urlMatcher.find()) { urls.add("http://www.egscomics.com/index.php?"+urlMatcher.group()); - Log.d("elgoonishshive","found comic url: "+urlMatcher.group()); } } } @@ -89,7 +83,7 @@ public class ElGoonishShive extends YearlyArchivedComic { @Override protected int getFirstYear() { - return 2003; + return 2002; } @Override From cf23bae3cc8c1fa7b7d795a58aa7d7a55ef6c0e0 Mon Sep 17 00:00:00 2001 From: Crespyl Date: Thu, 3 Jan 2013 14:14:26 -0500 Subject: [PATCH 4/4] Added "new":"1" property to EdmundFinney and EGS comics in classes.json --- ComicReader/assets/classes.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ComicReader/assets/classes.json b/ComicReader/assets/classes.json index ee8e38f..d2712db 100755 --- a/ComicReader/assets/classes.json +++ b/ComicReader/assets/classes.json @@ -22,8 +22,8 @@ {"class":"Dinosaur", "name":"Dinosaur", "pref":"dinosaurPref"}, {"class":"DogHouseDiaries", "name":"Doghouse Diaries", "pref":"doghousediariesPref"}, {"class":"DumbingofAge", "name":"Dumbing of Age", "pref":"dumbingofagePref"}, - {"class":"EdmundFinney", "name":"Edmund Finney's Quest to Find the Meaning of Life", "pref":"edmundfinneyPref"}, - {"class":"ElGoonishShive","name":"El Goonish Shive", "pref":"elgoonishshivePref"}, + {"class":"EdmundFinney", "name":"Edmund Finney's Quest to Find the Meaning of Life", "pref":"edmundfinneyPref", "new":"1"}, + {"class":"ElGoonishShive","name":"El Goonish Shive", "pref":"elgoonishshivePref", "new":"1"}, {"class":"FeyWinds", "name":"Fey Winds", "pref":"feywindsPref"}, {"class":"FreeFall", "name":"Free Fall", "pref":"freefallPref"}, {"class":"GeekAndPoke", "name":"Geek And Poke", "pref":"geeknpokePref"},