diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2013-08-19 22:27:50 +0200 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2013-08-19 22:27:50 +0200 |
| commit | 022cd031385dc4ab85f29eaa0506ceb8f494e444 (patch) | |
| tree | e3cd03973e390aebc949bd4716386470ea9ffdd0 /main/src | |
| parent | 3a0dbcc25b6240513b879318a6179eafea12d8aa (diff) | |
| download | cgeo-022cd031385dc4ab85f29eaa0506ceb8f494e444.zip cgeo-022cd031385dc4ab85f29eaa0506ceb8f494e444.tar.gz cgeo-022cd031385dc4ab85f29eaa0506ceb8f494e444.tar.bz2 | |
fix #3118: Page parsing impossible due to proxies on mobile network
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCConstants.java | 2 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/connector/gc/GCParser.java | 15 |
2 files changed, 10 insertions, 7 deletions
diff --git a/main/src/cgeo/geocaching/connector/gc/GCConstants.java b/main/src/cgeo/geocaching/connector/gc/GCConstants.java index e93df14..f546b7c 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCConstants.java +++ b/main/src/cgeo/geocaching/connector/gc/GCConstants.java @@ -106,7 +106,7 @@ public final class GCConstants { public final static Pattern PATTERN_TRACKABLE_ICON = Pattern.compile("<img id=\"ctl00_ContentBody_BugTypeImage\" class=\"TravelBugHeaderIcon\" src=\"([^\"]+)\"[^>]*>"); public final static Pattern PATTERN_TRACKABLE_TYPE = Pattern.compile("<img id=\"ctl00_ContentBody_BugTypeImage\" class=\"TravelBugHeaderIcon\" src=\"[^\"]+\" alt=\"([^\"]+)\"[^>]*>"); public final static Pattern PATTERN_TRACKABLE_DISTANCE = Pattern.compile("<h4[^>]*\\W*Tracking History \\(([0-9.,]+(km|mi))[^\\)]*\\)"); - public final static Pattern PATTERN_TRACKABLE_LOG = Pattern.compile("<tr class=\"Data BorderTop .+?src=\"/images/logtypes/([^.]+)\\.png[^>]+> ([^<]+)</td>.+?guid.+?>([^<]+)</a>.+?(?:guid=([^\"]+)\">(<span[^>]+>)?([^<]+)</.+?)?<td colspan=\"4\">\\s*<div>(.*?)</div>\\s*(?:<ul.+?ul>)?\\s*</td>\\s*</tr>"); + public final static Pattern PATTERN_TRACKABLE_LOG = Pattern.compile("<tr class=\"Data BorderTop .+?/images/logtypes/([^.]+)\\.png[^>]+> ([^<]+)</td>.+?guid.+?>([^<]+)</a>.+?(?:guid=([^\"]+)\">(<span[^>]+>)?([^<]+)</.+?)?<td colspan=\"4\">\\s*<div>(.*?)</div>\\s*(?:<ul.+?ul>)?\\s*</td>\\s*</tr>"); public final static Pattern PATTERN_TRACKABLE_LOG_IMAGES = Pattern.compile("<li><a href=\"([^\"]+)\".+?LogImgTitle.+?>([^<]+)</"); /** diff --git a/main/src/cgeo/geocaching/connector/gc/GCParser.java b/main/src/cgeo/geocaching/connector/gc/GCParser.java index 0dc4242..ad8405f 100644 --- a/main/src/cgeo/geocaching/connector/gc/GCParser.java +++ b/main/src/cgeo/geocaching/connector/gc/GCParser.java @@ -1433,16 +1433,19 @@ public abstract class GCParser { } // released date - can be missing on the page - try { - final String releaseString = TextUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_RELEASES, false, null); - if (releaseString != null) { + final String releaseString = TextUtils.getMatch(page, GCConstants.PATTERN_TRACKABLE_RELEASES, false, null); + if (releaseString != null) { + try { trackable.setReleased(dateTbIn1.parse(releaseString)); + } catch (ParseException e) { if (trackable.getReleased() == null) { - trackable.setReleased(dateTbIn2.parse(releaseString)); + try { + trackable.setReleased(dateTbIn2.parse(releaseString)); + } catch (ParseException e1) { + Log.e("Could not parse trackable release " + releaseString); + } } } - } catch (final ParseException e1) { - trackable.setReleased(null); } // trackable distance |
