diff options
| author | Bananeweizen <Bananeweizen@gmx.de> | 2012-12-29 16:11:04 +0100 |
|---|---|---|
| committer | Bananeweizen <Bananeweizen@gmx.de> | 2012-12-29 16:11:04 +0100 |
| commit | 8ab924a6c016c0129cccaffa546a896892f36dcc (patch) | |
| tree | e3589ff77c2b91c0910d38af55089c1932297318 /main/src/cgeo/geocaching/files/LocParser.java | |
| parent | 7d6c8ca06ab9c7833875fdd77bacd2471a9e5a41 (diff) | |
| download | cgeo-8ab924a6c016c0129cccaffa546a896892f36dcc.zip cgeo-8ab924a6c016c0129cccaffa546a896892f36dcc.tar.gz cgeo-8ab924a6c016c0129cccaffa546a896892f36dcc.tar.bz2 | |
#1987: Not able to import *.loc file from GC.com
Diffstat (limited to 'main/src/cgeo/geocaching/files/LocParser.java')
| -rw-r--r-- | main/src/cgeo/geocaching/files/LocParser.java | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/main/src/cgeo/geocaching/files/LocParser.java b/main/src/cgeo/geocaching/files/LocParser.java index 982ef4c..9c24d39 100644 --- a/main/src/cgeo/geocaching/files/LocParser.java +++ b/main/src/cgeo/geocaching/files/LocParser.java @@ -140,6 +140,7 @@ public final class LocParser extends FileParser { cache.setType(CacheType.UNKNOWN); // type is not given in the LOC file cache.setListId(listId); cache.setDetailed(true); + cache.store(null); } Log.i("Caches found in .loc file: " + caches.size()); return caches; @@ -167,21 +168,25 @@ public final class LocParser extends FileParser { } final Matcher matcherDifficulty = patternDifficulty.matcher(pointString); - if (matcherDifficulty.find()) { - cache.setDifficulty(Float.parseFloat(matcherDifficulty.group(1).trim())); - } + try { + if (matcherDifficulty.find()) { + cache.setDifficulty(Float.parseFloat(matcherDifficulty.group(1).trim())); + } - final Matcher matcherTerrain = patternTerrain.matcher(pointString); - if (matcherTerrain.find()) { - cache.setTerrain(Float.parseFloat(matcherTerrain.group(1).trim())); - } + final Matcher matcherTerrain = patternTerrain.matcher(pointString); + if (matcherTerrain.find()) { + cache.setTerrain(Float.parseFloat(matcherTerrain.group(1).trim())); + } - final Matcher matcherContainer = patternContainer.matcher(pointString); - if (matcherContainer.find()) { - final int size = Integer.parseInt(matcherContainer.group(1).trim()); - if (size >= 1 && size <= 8) { - cache.setSize(SIZES[size - 1]); + final Matcher matcherContainer = patternContainer.matcher(pointString); + if (matcherContainer.find()) { + final int size = Integer.parseInt(matcherContainer.group(1).trim()); + if (size >= 1 && size <= 8) { + cache.setSize(SIZES[size - 1]); + } } + } catch (NumberFormatException e) { + Log.e("LocParser.parseCache", e); } return cache; |
