private int parseBlogStatus(BufferedReader reader) throws IOException {
		int pageCount = 0;
		boolean titleFollowing = false;
		String line = null;
		HashMap<String, String> status = new HashMap<String, String>();
		while ((line = reader.readLine()) != null) {
			if (titleFollowing) {
				status.put(STATUS_NAME[StatusNameIndex.TITLE.ordinal()], line.trim());
				titleFollowing = false;
			}
			Matcher m = PATTERN_ORIGINATED.matcher(line);
			while (m.find()) {
				status.put(STATUS_NAME[StatusNameIndex.TYPE.ordinal()], 
						m.group(1).equals("ico_type_Repost") ? TYPE_REPOSTED : TYPE_ORGINATED);
			}
			m = PATTERN_ARTICLE.matcher(line);
			while (m.find()) {
				titleFollowing = true;
				status.put(STATUS_NAME[StatusNameIndex.URL.ordinal()], BLOG_HOST + m.group(1));
			}
			m = PATTERN_PUB_DATE.matcher(line);
			while (m.find()) {
				status.put(STATUS_NAME[StatusNameIndex.PUB_DATE.ordinal()], m.group(1));
			}
			m = PATTERN_READ_COUNT.matcher(line);
			while (m.find()) {
				status.put(STATUS_NAME[StatusNameIndex.READ_COUNT.ordinal()], m.group(1));
			}
			m = PATTERN_COUNT.matcher(line);
			while (m.find()) {
				pageCount = Integer.valueOf(m.group(2));
			}
			m = PATTERN_COMMENT_COUNT.matcher(line);
			while (m.find()) {
				status.put(STATUS_NAME[StatusNameIndex.COMMENT_COUNT.ordinal()], m.group(1));
				// end of an article, put it into map and clear data
				articleStatus.add(status);
				status = new HashMap<String, String>();
			}
		}
		return pageCount;
	}