package com.vann.csdn.biz;

import android.util.Log;

import com.vann.csdn.bean.CommonException;
import com.vann.csdn.bean.NewsDetail;
import com.vann.csdn.bean.NewsItem;
import com.vann.csdn.util.DataUtil;
import com.vann.csdn.util.UrlUtil;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.util.ArrayList;
import java.util.List;

/**
 * author: bwl on 2016-04-11.
 * email: [email protected]
 */
public class NewsItemBiz {

    public List<NewsItem> getNewsItems(int newsType, int curPage)
            throws CommonException {
        List<NewsItem> newsItems = new ArrayList<>();
        String url = UrlUtil.getUrl(newsType, curPage);
        String htmlStr = DataUtil.doGet(url);
        NewsItem item = null;
        Document doc = Jsoup.parse(htmlStr);
        Elements units = doc.getElementsByClass("unit");
        for (int i = 0; i < units.size(); i++) {
            item = new NewsItem();
            item.setNewsType(newsType);
            Element unit = units.get(i);
            Element h1 = unit.getElementsByTag("h1").get(0);
            Element ha = h1.child(0);
            item.setTitle(h1.text());
            item.setLink(ha.attr("href"));
            Element h4 = unit.getElementsByTag("h4").get(0);
            Element ago = h4.getElementsByClass("ago").get(0);
            item.setDate(ago.text());
            Element dl_ele = unit.getElementsByTag("dl").get(0);
            Element dt_ele = dl_ele.child(0);
            try {
                // 可能没有图片
                Element img_ele = dt_ele.child(0);
                String imgLink = img_ele.child(0).attr("src");
                item.setImgLink(imgLink);
            } catch (IndexOutOfBoundsException e) {
            }

            Element dd_ele = dl_ele.child(1);
            item.setContent(dd_ele.text());
            newsItems.add(item);
        }

        return newsItems;
    }

    public NewsDetail getNewsDetial(String html) {
        NewsDetail news = new NewsDetail();
        Document doc = Jsoup.parse(html);
//        //获取文字的评论链接
//        Element comments = doc.select("td.comm").select("a").first();
//        String commentLink = "http://m.csdn.net/" + comments.attr("href");
//        news.setCommentsLink(commentLink);
//        Log.i("clj", "comments link =" + commentLink);
        // 获得文章中的第一个detail
        Element detail = doc.select("div.wrapper").first();
        //获取title
        Element title = detail.select("h1").first();
        news.setTitle(title.text());
        //infor
        Element infor = detail.select("div.infor").first();
        news.setInfor(infor.text());
        Elements elements = detail.select(".text p");
        StringBuffer buffer = new StringBuffer();
        for (Element element : elements) {
            element.select("img").attr("width", "100%").attr("style", "");
            buffer.append("<p>");
            buffer.append(element.html());
            buffer.append("</p>");
            Log.i("clj", buffer.toString());
        }
        news.setTexts(buffer.toString());
        return news;
    }
}