package com.maidou.app.hfive.util;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ui.ModelMap;

import com.alibaba.fastjson.JSONObject;
import com.maidou.app.exception.WeiXinException;
import com.maidou.app.hfive.vo.HtmlVO;
import com.maidou.app.po.AccessToken;
import com.maidou.app.po.UserInfo;
import com.maidou.app.po.WeiXinSharePO;
import com.maidou.base.pub.util.FileClient;
import com.maidou.comm.redis.RedisIO;
import com.maidou.comm.spring.interceptor.HttpLocalThread;
import com.maidou.comm.util.HttpsUtil;
import com.maidou.comm.util.HttpsUtil.HttpResponseWrapper;
import com.maidou.comm.vo.Constant;
import com.mongodb.util.Hash;

public class WeiXinUtil {

	public static enum WEIXIN_SCOPE_ENUM{
		USERINFO,BASE;
	}

	private final static Logger log = LoggerFactory.getLogger(WeiXinUtil.class);

	public final static String BARGAIN_WEIXIN_TOKEN="FESTIVAL_WEIXIN_TOKEN";

	/**
	 * 2、以snsapi_userinfo为scope发起的网页授权，是用来获取用户的基本信息的。但这种授权需要用户手动同意，并且由于用户同意过，所以无须关注，就可在授权后获取该用户的基本信息。
	 */
	private final static String WEIXIN_OAUTH=
			"https://open.weixin.qq.com/connect/oauth2/authorize?appid=@appId@&redirect_uri=@redirectUrl@&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";

	/**
	 * 1、以snsapi_base为scope发起的网页授权，是用来获取进入页面的用户的openid的，并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页（往往是业务页面）
	 */
	private final static String WEIXIN_OAUTH_BASE=
			"https://open.weixin.qq.com/connect/oauth2/authorize?appid=@appId@&redirect_uri=@redirectUrl@&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";

	private final static String WEIXIN_ACCESS_TOKEN =
			"https://api.weixin.qq.com/sns/oauth2/access_token?appid=@appId@&secret=@secret@&code=@code@&grant_type=authorization_code";

	private final static String USER_INFO_URI =
			"https://api.weixin.qq.com/sns/userinfo?access_token=@accessToken@&openid=@openId@";

	private final static String JS_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=@appId@&secret=@secret@";

	private final static String JS_TICKET_URL = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=@ACCESS_TOKEN@&type=jsapi";

	/**
	 * 获取code并回调redirectUrl
	 * @return
	 */
	public static String getCodeUrl(String scope){
		String appId = Constant.getInstance().getProperty("appid");
		String redirectUrl = Constant.getInstance().getProperty("redirect_url");
		String url = "";
		if(StringUtils.equals(scope, WEIXIN_SCOPE_ENUM.BASE.name())){
			url = WEIXIN_OAUTH_BASE.replaceAll("@appId@", appId).replaceAll("@redirectUrl@", redirectUrl);
		}else{
			url = WEIXIN_OAUTH.replaceAll("@appId@", appId).replaceAll("@redirectUrl@", redirectUrl);
		}
		return url;
	}

	/**
	 * 获取code并回调redirectUrl
	 * @return
	 */
	public static String getCodeUrl(String scope,String tourl){
		String appId = Constant.getInstance().getProperty("appid");
		StringBuffer redirectUrl = new StringBuffer(Constant.getInstance().getProperty("redirect_url"));
		if(StringUtils.isNotEmpty(tourl)) {
			if (redirectUrl.indexOf("?") > -1) {
				redirectUrl.append("&tourl=");
			} else {
				redirectUrl.append("?tourl=");
			}
			redirectUrl.append(encode(tourl));
		}

		String url = "";
		if(StringUtils.equals(scope, WEIXIN_SCOPE_ENUM.BASE.name())){
			url = WEIXIN_OAUTH_BASE.replaceAll("@appId@", appId).replaceAll("@redirectUrl@", encode(redirectUrl.toString()));
		}else{
			url = WEIXIN_OAUTH.replaceAll("@appId@", appId).replaceAll("@redirectUrl@", encode(redirectUrl.toString()));
		}
		return url;
	}

	/**
	 * 获取token
	 * @param code
	 * @return
	 */
	public static AccessToken getAccessToken(String code){
		if(StringUtils.isEmpty(code)){
			return null;
		}
		String appId = Constant.getInstance().getProperty("appid");
		String secret = Constant.getInstance().getProperty("secret");
		String url = WEIXIN_ACCESS_TOKEN.replaceAll("@appId@", appId).replaceAll("@secret@", secret).replaceAll("@code@", code);
		String result = HttpsUtil.requestGet(url);
		JSONObject obj = JSONObject.parseObject(result);
		if(!obj.containsKey("expires_in")){
			throw new WeiXinException(obj.getString("errmsg"));
		}
		AccessToken accessToken = new AccessToken();
		accessToken.setAccessToken(obj.getString("access_token"));
		accessToken.setExpiresIn(obj.getInteger("expires_in"));
		accessToken.setOpenId(obj.getString("openid"));
		return accessToken;
	}

	/**
	 * 获取用户的基本信息
	 * @param accessToken
	 * @param openId
	 * @return
	 * @throws Exception
	 */
	public static UserInfo getUserInfo(String accessToken, String openId) throws Exception {
		Map<String, Object> params = new HashMap<>();
		params.put("access_token", accessToken);
		params.put("openid", openId);
		String infoUri = USER_INFO_URI.replaceAll("@accessToken@", accessToken).replaceAll("@openId@",openId);
		String  jsonStr = HttpsUtil.requestGet(infoUri, params);
		if(StringUtils.isNotEmpty(jsonStr)){
			JSONObject obj = JSONObject.parseObject(jsonStr);
			if(obj.get("errcode") != null){
				throw new WeiXinException(obj.getString("errmsg"));
			}
			UserInfo user = JSONObject.toJavaObject(obj, UserInfo.class);
			log.info("weixinuser="+user.toString());
			user.setNickname(filterEmoji(user.getNickname()));
			return user;
		}
		return null;
	}

	/**
	 * 校验是否是微信浏览器
	 * @return
	 */
	public static boolean validateWeiXin(){
		boolean flag = false;
		String userAgent = HttpLocalThread.getRequest().getHeader("USER-AGENT");
		if(userAgent.toLowerCase().indexOf("micromessenger")>0){
			flag = true;
		}
		return flag;
	}

	public static boolean isMobile(String str) {
		Pattern p = null;
		Matcher m = null;
		boolean b = false;
		p = Pattern.compile("^[1][3,4,5,8,7][0-9]{9}$");
		m = p.matcher(str);
		b = m.matches();
		return b;
	}

	public static String downHeadImgUrl(String url) {
		HttpResponseWrapper httpResponseWrapper = null;
		try {
			String xForWardedFor = "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53";
			httpResponseWrapper = HttpsUtil.requestGetResponse(url,xForWardedFor);
			if (httpResponseWrapper.getStatusCode() == 200) {
				InputStream inStream = httpResponseWrapper.getEntity().getContent();
				return writeImageToDisk(readInputStream(inStream));
			}
		} catch (Exception e) {
			log.error("down weixin image is error", e);
			e.printStackTrace();
		}finally{
			if(httpResponseWrapper!=null){
				httpResponseWrapper.close();
			}
		}
		return null;
	}

	private static byte[] readInputStream(InputStream inStream) throws Exception {
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024];
		int len = 0;
		while ((len = inStream.read(buffer)) != -1) {
			outStream.write(buffer, 0, len);
		}
		inStream.close();
		return outStream.toByteArray();
	}

	private static String writeImageToDisk(byte[] img) throws Exception {
		FileOutputStream fops = null;
		File file = null;
		String filePath = "";
		try{

			String path = WeiXinUtil.class.getClassLoader().getResource("/").getPath();
			String name = new Date().getTime()+".jpg";
        	path=path.substring(0, path.indexOf("WEB-INF")+"WEB-INF".length())+"/resources/"+name;
			file = new File(path);
			fops = new FileOutputStream(file);
			fops.write(img);
			fops.flush();

			filePath=FileClient.uploadImageToRemote(file, file.getName());
		}catch(Exception e){
			log.error("down weixin", e);
			throw new Exception(e);
		}finally{
			if(fops!=null){
				fops.close();
			}
			if(file.isFile() && file.exists()){
				file.delete();
			}
		}
		return filePath;
	}

	 /**
	  * 获取接口访问凭证
	  * @return
	  */
    public static String getAccess_token() {
		String appId = Constant.getInstance().getProperty("appid");
		String secret = Constant.getInstance().getProperty("secret");
		String tokenUrl  = JS_TOKEN_URL.replaceAll("@appId@", appId).replaceAll("@secret@", secret);
        // 发起GET请求获取凭证
        String result = HttpsUtil.requestGet(tokenUrl);
        log.info("获取接口访问凭证 info"+result);
        String access_token = null;
        JSONObject jsonObject = JSONObject.parseObject(result);
        if (null != jsonObject) {
           access_token = jsonObject.getString("access_token");
        }
        return access_token;
    }

    /**
     * 调用微信JS接口的临时票据
     * @param access_token
     * @return
     */
    public static String getJsApiTicket(String access_token) {
        String tokenUrl = JS_TICKET_URL.replaceAll("@ACCESS_TOKEN@", access_token);
        String result = HttpsUtil.requestGet(tokenUrl);
        log.info("调用微信JS接口的临时票据 info"+result);
        JSONObject jsonObject = JSONObject.parseObject(result);
        String ticket = null;
        if (null != jsonObject) {
           ticket = jsonObject.getString("ticket");
        }
        return ticket;
    }

    /**
     * js sdk调用分享需要传入前台的参数
     * @param req
     * @return
     */
    public static WeiXinSharePO getParam(HttpServletRequest req){
    	String ticket = "";
    	String key = RedisIO.getInstance().get(BARGAIN_WEIXIN_TOKEN);
		if (StringUtils.isNotEmpty(key)) {
			ticket = key;
		} else {
			String token = getAccess_token();
			ticket = getJsApiTicket(token);
			RedisIO.getInstance().set(BARGAIN_WEIXIN_TOKEN,ticket, 3600);
		}
        String url = getUrl(req);
        Map<String, String> params = WeiXinSign.sign(ticket, url);
        log.info("weixin sign"+params.toString());
        WeiXinSharePO weiXin = new WeiXinSharePO();
        weiXin.setAppId(Constant.getInstance().getProperty("appid"));
        weiXin.setNonceStr(params.get("nonceStr"));
        weiXin.setSignature(params.get("signature"));
        weiXin.setTimestamp(params.get("timestamp"));
        return weiXin;
    }

    private static String getUrl(HttpServletRequest req){
        StringBuffer requestUrl = req.getRequestURL();
        String queryString = req.getQueryString();
        if(StringUtils.isEmpty(queryString)){
        	return requestUrl.toString();
        }
        String url = requestUrl +"?"+queryString;
        return url;
    }

    public static String encode(String str){
    	try {
			return URLEncoder.encode(str, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			return "";
		}
    }

    public static String deCode(String str){
    	try {
			return URLDecoder.decode(str, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			return "";
		}
    }

	public static void main(String[] args) {
//		String ticket = getJsApiTicket(getAccess_token());
//		System.out.println(ticket);
		System.out.println(StringUtils.equals(WEIXIN_SCOPE_ENUM.BASE.name(), WEIXIN_SCOPE_ENUM.BASE.name()));
	}

	public static boolean containsEmoji(String source) {
		if (StringUtils.isBlank(source)) {
			return false;
		}
		int len = source.length();
		for (int i = 0; i < len; i++) {
			char codePoint = source.charAt(i);

			if (isEmojiCharacter(codePoint)) {
				// do nothing，判断到了这里表明，确认有表情字符
				return true;
			}
		}
		return false;
	}

	private static boolean isEmojiCharacter(char codePoint) {
		return (codePoint == 0x0) || (codePoint == 0x9) || (codePoint == 0xA)
				|| (codePoint == 0xD)
				|| ((codePoint >= 0x20) && (codePoint <= 0xD7FF))
				|| ((codePoint >= 0xE000) && (codePoint <= 0xFFFD))
				|| ((codePoint >= 0x10000) && (codePoint <= 0x10FFFF));
	}

	public static String filterEmoji(String source) {
		if (!containsEmoji(source)) {
			return source;// 如果不包含，直接返回
		}
		// 到这里铁定包含
		StringBuilder buf = null;
		int len = source.length();
		for (int i = 0; i < len; i++) {
			char codePoint = source.charAt(i);
			if (isEmojiCharacter(codePoint)) {
				if (buf == null) {
					buf = new StringBuilder(source.length());
				}
				buf.append(codePoint);
			}
		}
		if (buf == null) {
			return source;// 如果没有找到 emoji表情，则返回源字符串
		} else {
			if (buf.length() == len) {// 这里的意义在于尽可能少的toString，因为会重新生成字符串
				buf = null;
				return source;
			} else {
				return buf.toString();
			}
		}
	}

}


package com.xxx.app.hfive.util;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.ui.ModelMap;

import com.alibaba.fastjson.JSONObject;
import com.maidou.app.exception.WeiXinException;
import com.maidou.app.hfive.vo.HtmlVO;
import com.maidou.app.po.AccessToken;
import com.maidou.app.po.UserInfo;
import com.maidou.app.po.WeiXinSharePO;
import com.maidou.base.pub.util.FileClient;
import com.maidou.comm.redis.RedisIO;
import com.maidou.comm.spring.interceptor.HttpLocalThread;
import com.maidou.comm.util.HttpsUtil;
import com.maidou.comm.util.HttpsUtil.HttpResponseWrapper;
import com.maidou.comm.vo.Constant;
import com.mongodb.util.Hash;

public class WeiXinUtil {

	public static enum WEIXIN_SCOPE_ENUM{
		USERINFO,BASE;
	}

	private final static Logger log = LoggerFactory.getLogger(WeiXinUtil.class);

	public final static String BARGAIN_WEIXIN_TOKEN="FESTIVAL_WEIXIN_TOKEN";

	/**
	 * 2、以snsapi_userinfo为scope发起的网页授权，是用来获取用户的基本信息的。但这种授权需要用户手动同意，并且由于用户同意过，所以无须关注，就可在授权后获取该用户的基本信息。
	 */
	private final static String WEIXIN_OAUTH=
			"https://open.weixin.qq.com/connect/oauth2/authorize?appid=@appId@&redirect_uri=@redirectUrl@&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";

	/**
	 * 1、以snsapi_base为scope发起的网页授权，是用来获取进入页面的用户的openid的，并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页（往往是业务页面）
	 */
	private final static String WEIXIN_OAUTH_BASE=
			"https://open.weixin.qq.com/connect/oauth2/authorize?appid=@appId@&redirect_uri=@redirectUrl@&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";

	private final static String WEIXIN_ACCESS_TOKEN =
			"https://api.weixin.qq.com/sns/oauth2/access_token?appid=@appId@&secret=@secret@&code=@code@&grant_type=authorization_code";

	private final static String USER_INFO_URI =
			"https://api.weixin.qq.com/sns/userinfo?access_token=@accessToken@&openid=@openId@";

	private final static String JS_TOKEN_URL = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=@appId@&secret=@secret@";

	private final static String JS_TICKET_URL = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=@ACCESS_TOKEN@&type=jsapi";

	/**
	 * 获取code并回调redirectUrl
	 * @return
	 */
	public static String getCodeUrl(String scope){
		String appId = Constant.getInstance().getProperty("appid");
		String redirectUrl = Constant.getInstance().getProperty("redirect_url");
		String url = "";
		if(StringUtils.equals(scope, WEIXIN_SCOPE_ENUM.BASE.name())){
			url = WEIXIN_OAUTH_BASE.replaceAll("@appId@", appId).replaceAll("@redirectUrl@", redirectUrl);
		}else{
			url = WEIXIN_OAUTH.replaceAll("@appId@", appId).replaceAll("@redirectUrl@", redirectUrl);
		}
		return url;
	}

	/**
	 * 获取code并回调redirectUrl
	 * @return
	 */
	public static String getCodeUrl(String scope,String tourl){
		String appId = Constant.getInstance().getProperty("appid");
		StringBuffer redirectUrl = new StringBuffer(Constant.getInstance().getProperty("redirect_url"));
		if(StringUtils.isNotEmpty(tourl)) {
			if (redirectUrl.indexOf("?") > -1) {
				redirectUrl.append("&tourl=");
			} else {
				redirectUrl.append("?tourl=");
			}
			redirectUrl.append(encode(tourl));
		}

		String url = "";
		if(StringUtils.equals(scope, WEIXIN_SCOPE_ENUM.BASE.name())){
			url = WEIXIN_OAUTH_BASE.replaceAll("@appId@", appId).replaceAll("@redirectUrl@", encode(redirectUrl.toString()));
		}else{
			url = WEIXIN_OAUTH.replaceAll("@appId@", appId).replaceAll("@redirectUrl@", encode(redirectUrl.toString()));
		}
		return url;
	}

	/**
	 * 获取token
	 * @param code
	 * @return
	 */
	public static AccessToken getAccessToken(String code){
		if(StringUtils.isEmpty(code)){
			return null;
		}
		String appId = Constant.getInstance().getProperty("appid");
		String secret = Constant.getInstance().getProperty("secret");
		String url = WEIXIN_ACCESS_TOKEN.replaceAll("@appId@", appId).replaceAll("@secret@", secret).replaceAll("@code@", code);
		String result = HttpsUtil.requestGet(url);
		JSONObject obj = JSONObject.parseObject(result);
		if(!obj.containsKey("expires_in")){
			throw new WeiXinException(obj.getString("errmsg"));
		}
		AccessToken accessToken = new AccessToken();
		accessToken.setAccessToken(obj.getString("access_token"));
		accessToken.setExpiresIn(obj.getInteger("expires_in"));
		accessToken.setOpenId(obj.getString("openid"));
		return accessToken;
	}

	/**
	 * 获取用户的基本信息
	 * @param accessToken
	 * @param openId
	 * @return
	 * @throws Exception
	 */
	public static UserInfo getUserInfo(String accessToken, String openId) throws Exception {
		Map<String, Object> params = new HashMap<>();
		params.put("access_token", accessToken);
		params.put("openid", openId);
		String infoUri = USER_INFO_URI.replaceAll("@accessToken@", accessToken).replaceAll("@openId@",openId);
		String  jsonStr = HttpsUtil.requestGet(infoUri, params);
		if(StringUtils.isNotEmpty(jsonStr)){
			JSONObject obj = JSONObject.parseObject(jsonStr);
			if(obj.get("errcode") != null){
				throw new WeiXinException(obj.getString("errmsg"));
			}
			UserInfo user = JSONObject.toJavaObject(obj, UserInfo.class);
			log.info("weixinuser="+user.toString());
			user.setNickname(filterEmoji(user.getNickname()));
			return user;
		}
		return null;
	}

	/**
	 * 校验是否是微信浏览器
	 * @return
	 */
	public static boolean validateWeiXin(){
		boolean flag = false;
		String userAgent = HttpLocalThread.getRequest().getHeader("USER-AGENT");
		if(userAgent.toLowerCase().indexOf("micromessenger")>0){
			flag = true;
		}
		return flag;
	}

	public static boolean isMobile(String str) {
		Pattern p = null;
		Matcher m = null;
		boolean b = false;
		p = Pattern.compile("^[1][3,4,5,8,7][0-9]{9}$");
		m = p.matcher(str);
		b = m.matches();
		return b;
	}

	public static String downHeadImgUrl(String url) {
		HttpResponseWrapper httpResponseWrapper = null;
		try {
			String xForWardedFor = "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X; en-us) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53";
			httpResponseWrapper = HttpsUtil.requestGetResponse(url,xForWardedFor);
			if (httpResponseWrapper.getStatusCode() == 200) {
				InputStream inStream = httpResponseWrapper.getEntity().getContent();
				return writeImageToDisk(readInputStream(inStream));
			}
		} catch (Exception e) {
			log.error("down weixin image is error", e);
			e.printStackTrace();
		}finally{
			if(httpResponseWrapper!=null){
				httpResponseWrapper.close();
			}
		}
		return null;
	}

	private static byte[] readInputStream(InputStream inStream) throws Exception {
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024];
		int len = 0;
		while ((len = inStream.read(buffer)) != -1) {
			outStream.write(buffer, 0, len);
		}
		inStream.close();
		return outStream.toByteArray();
	}

	private static String writeImageToDisk(byte[] img) throws Exception {
		FileOutputStream fops = null;
		File file = null;
		String filePath = "";
		try{

			String path = WeiXinUtil.class.getClassLoader().getResource("/").getPath();
			String name = new Date().getTime()+".jpg";
        	path=path.substring(0, path.indexOf("WEB-INF")+"WEB-INF".length())+"/resources/"+name;
			file = new File(path);
			fops = new FileOutputStream(file);
			fops.write(img);
			fops.flush();

			filePath=FileClient.uploadImageToRemote(file, file.getName());
		}catch(Exception e){
			log.error("down weixin", e);
			throw new Exception(e);
		}finally{
			if(fops!=null){
				fops.close();
			}
			if(file.isFile() && file.exists()){
				file.delete();
			}
		}
		return filePath;
	}

	 /**
	  * 获取接口访问凭证
	  * @return
	  */
    public static String getAccess_token() {
		String appId = Constant.getInstance().getProperty("appid");
		String secret = Constant.getInstance().getProperty("secret");
		String tokenUrl  = JS_TOKEN_URL.replaceAll("@appId@", appId).replaceAll("@secret@", secret);
        // 发起GET请求获取凭证
        String result = HttpsUtil.requestGet(tokenUrl);
        log.info("获取接口访问凭证 info"+result);
        String access_token = null;
        JSONObject jsonObject = JSONObject.parseObject(result);
        if (null != jsonObject) {
           access_token = jsonObject.getString("access_token");
        }
        return access_token;
    }

    /**
     * 调用微信JS接口的临时票据
     * @param access_token
     * @return
     */
    public static String getJsApiTicket(String access_token) {
        String tokenUrl = JS_TICKET_URL.replaceAll("@ACCESS_TOKEN@", access_token);
        String result = HttpsUtil.requestGet(tokenUrl);
        log.info("调用微信JS接口的临时票据 info"+result);
        JSONObject jsonObject = JSONObject.parseObject(result);
        String ticket = null;
        if (null != jsonObject) {
           ticket = jsonObject.getString("ticket");
        }
        return ticket;
    }

    /**
     * js sdk调用分享需要传入前台的参数
     * @param req
     * @return
     */
    public static WeiXinSharePO getParam(HttpServletRequest req){
    	String ticket = "";
    	String key = RedisIO.getInstance().get(BARGAIN_WEIXIN_TOKEN);
		if (StringUtils.isNotEmpty(key)) {
			ticket = key;
		} else {
			String token = getAccess_token();
			ticket = getJsApiTicket(token);
			RedisIO.getInstance().set(BARGAIN_WEIXIN_TOKEN,ticket, 3600);
		}
        String url = getUrl(req);
        Map<String, String> params = WeiXinSign.sign(ticket, url);
        log.info("weixin sign"+params.toString());
        WeiXinSharePO weiXin = new WeiXinSharePO();
        weiXin.setAppId(Constant.getInstance().getProperty("appid"));
        weiXin.setNonceStr(params.get("nonceStr"));
        weiXin.setSignature(params.get("signature"));
        weiXin.setTimestamp(params.get("timestamp"));
        return weiXin;
    }

    private static String getUrl(HttpServletRequest req){
        StringBuffer requestUrl = req.getRequestURL();
        String queryString = req.getQueryString();
        if(StringUtils.isEmpty(queryString)){
        	return requestUrl.toString();
        }
        String url = requestUrl +"?"+queryString;
        return url;
    }

    public static String encode(String str){
    	try {
			return URLEncoder.encode(str, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			return "";
		}
    }

    public static String deCode(String str){
    	try {
			return URLDecoder.decode(str, "UTF-8");
		} catch (UnsupportedEncodingException e) {
			return "";
		}
    }

	public static void main(String[] args) {
//		String ticket = getJsApiTicket(getAccess_token());
//		System.out.println(ticket);
		System.out.println(StringUtils.equals(WEIXIN_SCOPE_ENUM.BASE.name(), WEIXIN_SCOPE_ENUM.BASE.name()));
	}

	public static boolean containsEmoji(String source) {
		if (StringUtils.isBlank(source)) {
			return false;
		}
		int len = source.length();
		for (int i = 0; i < len; i++) {
			char codePoint = source.charAt(i);

			if (isEmojiCharacter(codePoint)) {
				// do nothing，判断到了这里表明，确认有表情字符
				return true;
			}
		}
		return false;
	}

	private static boolean isEmojiCharacter(char codePoint) {
		return (codePoint == 0x0) || (codePoint == 0x9) || (codePoint == 0xA)
				|| (codePoint == 0xD)
				|| ((codePoint >= 0x20) && (codePoint <= 0xD7FF))
				|| ((codePoint >= 0xE000) && (codePoint <= 0xFFFD))
				|| ((codePoint >= 0x10000) && (codePoint <= 0x10FFFF));
	}

	public static String filterEmoji(String source) {
		if (!containsEmoji(source)) {
			return source;// 如果不包含，直接返回
		}
		// 到这里铁定包含
		StringBuilder buf = null;
		int len = source.length();
		for (int i = 0; i < len; i++) {
			char codePoint = source.charAt(i);
			if (isEmojiCharacter(codePoint)) {
				if (buf == null) {
					buf = new StringBuilder(source.length());
				}
				buf.append(codePoint);
			}
		}
		if (buf == null) {
			return source;// 如果没有找到 emoji表情，则返回源字符串
		} else {
			if (buf.length() == len) {// 这里的意义在于尽可能少的toString，因为会重新生成字符串
				buf = null;
				return source;
			} else {
				return buf.toString();
			}
		}
	}

}


I just write sth about myself


managed:

[managed nant] /var/tmp/portage/dev-dotnet/ikvm-7.2.4630.5_p201602270/work/ikvm-fork-mono-7.2.4630.5_p201602270-00252c18fc0a4a206e45461736a890acb785a9d8/tools/tools.build

BUILD FAILED - 0 non-fatal error(s), 1 warning(s)

/var/tmp/portage/dev-dotnet/ikvm-7.2.4630.5_p201602270/work/ikvm-fork-mono-7.2.4630.5_p201602270-00252c18fc0a4a206e45461736a890acb785a9d8/tools/tools.build:
Error loading buildfile.
    Could not find a part of the path "/var/tmp/portage/dev-dotnet/ikvm-7.2.4630.5_p201602270/work/ikvm-fork-mono-7.2.4630.5_p201602270-00252c18fc0a4a206e45461736a890acb785a9d8/tools/tools.build".


A lot of people will as it is the only way to tell how you are going against the rest of the world.


FixCrashWithZoneAndSystemERV-PlanG (mjwitte) - Win64-Windows-7-VisualStudio-12: OK (2141 of 2141 tests passed, 1 test warnings)

 * 1 test had: AUD diffs.

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg)


![Uploading 12.png…]()


Why did you decide to copy a fragment of the source code from Jetty to create a new class (UriPath) instead of continue using the URIUtil class from Jetty?


@adarshmishra CONTECT -> CONTACT


there is no such directory after cleanup:
https://github.com/mono/ikvm-fork/blob/caf6b6d0c4deecf363556611ec2b5e5d33346e3b/ikvm.build#L14
(bug in repository)


What I am trying to do with row_to_dict(row) is to convert the RowProxy object returned from the query to a dictionary which then can be converted to json.


Can someone else who uses IntelliJ help this gentleman out?

> On Mar 17, 2016, at 9:19 PM, enjoyear <notifications@github.com> wrote:
>
> How can I set DEBUG_PORT to be able to run the server locally and do a remote debug for my job in intellij? I set DEBUG_PORT before doing a sbt reStart, but still cannot attach to the port in intellij.
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly or view it on GitHub <https://github.com/spark-jobserver/spark-jobserver/commit/087645973dd4754e3e78af49416ef0be39f2334d#commitcomment-16757326>


The URL is updated with `browserHistory.push`. Then on my top route container the component life cycles are triggered like this:

```
  componentWillMount() {
    usersModel.fetch(this.props.params.userId);
  }

  componentDidUpdate() {
    usersModel.fetch(this.props.params.userId);
  }

  componentWillUnmount() {
    usersModel.abort();
  }
```

This will update my `usersModel` which will call `render` at the end.


yml.example perhaps


LGTM


add new line at the end


Thanks for checking it out.

Those are numbers from the previous implementation.  For now, I just copied them, but they may well change in a future version of the pull request.

Maybe @stefan can explain where he got 64 from?  It might depend on whether you check `line` before or after incrementing the variable.


Die if's kannst du zusammenfassen


If Zusammenfassen


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19436](https://teamcity.mesosphere.io/viewLog.html?buildId=171256&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **FAILURE**
Summary: Exit code 1 (new) Build time: 00:06:34


At first I thought it suppressed deprecation warnings from external classes (like Bukkit), which I'd like to keep. This commit doesn't do that so I guess it's OK. ;)


Thanks for fixing things :). I still have to get used to all the quality standards.


Minor suggestion, but I feel it would be helpful to make `properties` as an array. For example, when we need to restrict `alert` and `console` on `window`.

```json
...
"object": "window",
"properties": [
   "alert",
   "console",
   "confirm"
]
...
```


1915_WeatherFile2 (evanweaver) - x86_64-MacOS-10.10-clang: Build Failed

![Build Badge](http://img.shields.io/badge/build%20status-failing-red.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-NA-red.svg)


Dear I want to install 20 bit msp430, 4.7 version , how can I go for that , as you mention on somewhere for 20 bit installation.
        do this:
            checkout git '20120911' all
 how to move on with that , I was just following ur README instructions  in "mspgcc-install" , but at the end you mention
 do checkout
  n then follow above instruction how to do that , I m confuse in it.
  This is the modified script here you mention above , but how to use this with those instructions.

I am sorry I m new to Linux just working from last 2 months.

Your help /comment regards this will be much appreciated.
I m waiting for your rply.
thanks


As you see in the webpack configuration in this branch css and jslinting should be enabled.

So if it's failing there are probably some linter errors?


>Isn't that the commit I did in error, with my personal configs in it?
I'm sorry, I assumed this was the fix for adding the option of gimp-plugin-registry...
https://github.com/BunsenLabs/bunsen-pipemenus/commit/cf970a6cff5b373812b72048cbd72ba5ca750323


Thanks! :)


Probably not, this is just a temporary hack anyway, this should use OCaml instead.


Missing docstring. :)


Missing docstring.


Hi Mark,

I am running into below exception when I created this plugin and installed in my local Jenkins. Can you share which other plugins I should install along with this beta version.

Caused by: java.lang.ClassNotFoundException: com.cloudbees.hudson.plugins.folder.AbstractFolderPropertyDescriptor
	at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1376)
	at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1326)
	at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1079)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	... 42 more


You should put a new line at the end of file.


Thanks.  Other than you, there are three other people at GitHub that use it.


Issue5276 (wfbuhl) - Win64-Windows-7-VisualStudio-12: OK (2134 of 2142 tests passed, 2 test warnings)

 * 10 tests had: EIO diffs.
 * 7 tests had: ESO big diffs.
 * 4 tests had: Table small diffs.
 * 3 tests had: ESO small diffs.
 * 2 tests had: MTR big diffs.
 * 4 tests had: Table big diffs.
 * 1 test had: MTR small diffs.

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.63%25-yellow.svg)


The file name has a comma instead of a period.


parts according to the [documentation](https://github.com/john-kurkowski/tldextract#python-module--) is a namedtuple.

It means you can access directly the terms by their labels which is more explicit.
`parts[0] -> parts.subdomain`


You can keep this with a minor change - if row==0 go to row+1 instead of -1


same thing here. parts.subdomain and parts.domain


.csv	 diff=astextplain


You can check distance(enemy,treasure) > game.getActionsPerTurn
If the distance is more then the maximal steps a ship can do in a turn, that enemy can't reach the treasure


I found the directory OF dependencies messed up, in the code its npm intall, should it be npm install agario-client?


Nice!


Fine, I'll try to fit both, there's enough space for another column :relieved:


Для релиза другой ключ


and what if $GLOBALS['language_default'] will not be set when this section will run?


will do that


cf970a6 That's not really Doc Xaos's list actually...


cf970a6 That's not Doc Xaos's list actually...


asdfasdfasf


adfaqerqwasdfasdfafasfad


should be blacklist, not blacklist in python's way. :)


@domenkozar, by changelog you mean `nixos/doc/manual/release-notes/rl-1603.xml`, right? Or is there some other place where this should go?


Hi @bsr203,

the decorators usage is not a requirement for consumers of the library. I'll update docs to eliminate `@WithFormValue`. From the point of view of library maintainers, we'll update used decorators as soon as spec progressed to the next stage.


Mega update coming soon...   for now use npm install ...  Update will not be pushed to this repo as it isn't from this repo...  I will get link when done


Awesome! Thanks a lot.


Sadly packagist doesn't re-download a package if the commit change for the same release, I'm still on ad0b7355f1fae9f314c81786dd553b41be128e72 for 0.19.0


**[Not my commit, not my work]**


The issue was with garbage collector. It has been fixed to qt3dsceneeditor: https://codereview.qt-project.org/#/c/153240/
The editor code has now been ported to Qt3D 5.7 API so you also need that to run the application.


Issue5491 (wfbuhl) - i386-Windows-7-VisualStudio-12: OK (2126 of 2135 tests passed, 20 test warnings)

 * 18 tests had: AUD diffs.
 * 11 tests had: RDD diffs.
 * 11 tests had: EIO diffs.
 * 9 tests had: ESO big diffs.
 * 7 tests had: Table big diffs.
 * 6 tests had: ERR diffs.
 * 2 tests had: MDD diffs.
 * 2 tests had: MTD diffs.
 * 5 tests had: MTR small diffs.
 * 4 tests had: ESO small diffs.
 * 1 test had: Table small diffs.
 * 4 tests had: MTR big diffs.

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.58%25-yellow.svg)


See: [Link](https://gist.github.com/FaceTheDream/247cbb633b61c38f463f)


Used Angular Components


Rearranged and re-organized the script files


Implemented change as suggested


`public class TestCode {
   public static void Main(){
   }
}
`


I accidentally committed these changes containing test code while developing the `radiogroup` support for AtomicJS.


Changing protocol to HTTPS should resolve #7


Doesn't IntelliJ IDEA need the `-all` anymore? Is `-bin` really enough?


@micro-maureen browse to the documentation file on Github, then click the pencil icon


this will fail for very specific domains `www.org` or `www.com`, etc.

```python
>>> parts = Parts(subdomain='', domain='www', suffix='org')
```

Maybe something we can live with.


Имена мерж-коммитов лучше не трогать.


第一次使用


It simplifies registration as the class is now a `callable`.


That seems very unlikely. Easy to test though, can you revert that one line change and see if it fixes things for you?

I think 41026817a96d37c9e4d34c69f2ffb11bfdf5012a, which was pushed around the same time is a more likely culprit. When you say "localhost", it makes me suspect you are running a self-signed SSL certificate. Those are likely to be rejected as of this change, the issue which tracks fixing that is https://github.com/mailpile/Mailpile/issues/717 - I hope to get to this soon! :-)


I no longer need to modify hydra release.nix, thanks.


Can't understand this todo.
Write full question


I don't see why we should be catching here, am I missing something?


Also the regex is not necessary.

```python
if not parts.subdomain.startswith('www'):
    return '.'.join(parts[:])
```
You do not need the [0:2] in this case.


`GcmNotificationException` is an unknown type (latest version - "PushSharp": "3.0.1.15")


Undeclared variable - `multicastException `


It's for master. I believe we should start `nixos/doc/manual/release-notes/rl-unstable.xml` again.


Why always add a space after else?


Should i use npm install agario-client or only npm update? The second one dont Give a sense


@chrberger Thanks for the suggestion. We should encapsulate them in the class. When I tried this initially, I got some problems of initialising them by the compiler. So putting them as global constants is a quick workaround. But I will refactor this soon.


Unknown type `DeviceSubscriptionExpiredException`


although exception is not generated but there is chance on
excpetion while formating


Make npm install in the parent folder of src

> Le 18 mars 2016 à 08:14, skillize <notifications@github.com> a écrit :
>
> Should i use npm install agario-client or only npm update? The second one dont Give a sense
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly or view it on GitHub
>


Console.WriteLine($"Rate Limited, don't send more until after {((RetryAfterException)ex).RetryAfterUtc}");


I will try at home later


There is a chance of exception in every code statement, it doesn't mean we should wrap it in an exception, certainly we should not suppress it. Please remove this try/catch. You may wish to use a finally to close the resource if that was the intention (although note that it is a no-op)


Ok

> Le 18 mars 2016 à 08:17, skillize <notifications@github.com> a écrit :
>
> I will try at home later
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly or view it on GitHub
>


Either way, if you could file an actual issue describing your setup (SSL cert, self-signed?, Python version, OS) that would be helpful. :-)


Big effort... :clap::smiley:


i find that i am wrong


备注


@danielgindi why it is changed to chartYMin from X?


「クローズ」だと分かりづらいと思うので「ソース非公開」と僕は訳していました。
ここは
```
> 手っ取り早く、簡単にアクセスできるプラットフォームにすることが目的だったので、彼らはそのプロジェクトをソースコード非公開にするのではなく、できるだけ多くの人にオープンにするべきだと感じた。

それは一度もソースコード非公開にされていません。
```
で、どうでしょう。


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19437](https://teamcity.mesosphere.io/viewLog.html?buildId=171317&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 254 Build time: 00:09:50


if not this, this function will be called consecutively, and SpeedValue getting larger and larger but never stop without turning power off.


Awesome job!


Good point. I've port the change in 16.90 in 1a07877b5c13bcae5d57382ee64d72384e039905.


Missed the first exception, fixed that..


Perhaps add two specific cases to handle these two?


I don't have much knowledge of JS wrt threading, so I am not sure if checking things this way would be thread safe. (For our purposes, we probably don't need to worry about it though)


latex-documentation (Myoldmopar) - i386-Windows-7-VisualStudio-12: OK (2139 of 2139 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg)


maybe the README must updated?
see https://github.com/Talend/sunchoke#with-bower


Hello,Hi, this a typing error?
| STM32 | Name |
 | --- | --- |
+| GND | GND (Don't forget to connect this!) |
 | PD0 | R1 |
 | PD1 | G1 |
 | PD2 | B1 |
 | PD3 | R1 | **? R2**
 | PD4 | G1 |**? G2**
 | PD5 | B1 |**? B2**
 | PE2 | A |
 | PE3 | B |
 | PE4 | C |
 | PE5 | D (may be left unconnected for 1/8th scan) |
 | PD6 | CLK |
 | PE6 | STB |
 | PC6 | OE |


Issue5491 (wfbuhl) - Win64-Windows-7-VisualStudio-12: OK (2126 of 2135 tests passed, 20 test warnings)

 * 18 tests had: AUD diffs.
 * 11 tests had: RDD diffs.
 * 11 tests had: EIO diffs.
 * 6 tests had: ERR diffs.
 * 9 tests had: ESO big diffs.
 * 2 tests had: MDD diffs.
 * 2 tests had: MTD diffs.
 * 7 tests had: Table big diffs.
 * 4 tests had: ESO small diffs.
 * 4 tests had: MTR small diffs.
 * 1 test had: Table small diffs.
 * 4 tests had: MTR big diffs.

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.58%25-yellow.svg)


maybe it will be cleaner and less nested with:
```
if (!value) {
  return null;
}
// validation code
```


And here again I'm not sure you need any regex. Let's start with our previous list.

``` python
>>> blacklist = ['.google.com', '.live.com', '.yahoo.com', 'go.com', '.js']
>>> url = 'www.w3.org'
>>> any(domain in url for domain in blacklist)
False
>>> list(domain in url for domain in blacklist)
[False, False, False, False, False]
>>> # this is working ^^
>>> url = 'www.google.com'
>>> list(domain in url for domain in blacklist)
[True, False, False, False, False]
>>> any(domain in url for domain in blacklist)
True
```


a new word


wondering where this is defined?


working simple config


www.net, www.jp, etc. etc. the issue is that 'www' is a complete valid subdomain. I'm not sure why we wanted to exclude it. I guess to not confuse with a starting `www`


ほんとですね。確かに、クローズよりそちらの方がわかりやすいと思います。


Thanks @dourvaris, will be fixed with: #16


Кавычки не экранируются


@rilwis any thoughts on how to get around the fact that grouped and cloned fields have the same id?


А где `switchNotifications`? :)


Amended the pull request except your proposal to add default language rollback to globals.php


You're forgiven, just don't let it happen again

On Friday, March 18, 2016, lpatmo <notifications@github.com> wrote:

> Merge pull request #66 from codebuddiesdotorg/fix/issue-46-edit-learning
>
> fix for issue 46 - i forgot to define userId in api.js, sorry @will
>
> ---
> You are receiving this because you were mentioned.
> Reply to this email directly or view it on GitHub:
>
> https://github.com/codebuddiesdotorg/cb-v2-scratch/commit/2939648196844eb17fc922bdc8f1090222a3e2e4
>


You can use $('identity', 'upload').compact() (IIRC).


Тут опечатка (`swtch`) и правильнее флаги да/нет хранить не в `int=0|1`, а в `boolean=false|true`.


Actually, couldn't we just fix the above bug by simply not unsetting this here and in the superbill script.


This removes all the .idea files from the project.


In phpdoc where the first sentence the describe the general use, you should separate the more detailed description with an empty line.


哦, 应该改回invoke


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19438](https://teamcity.mesosphere.io/viewLog.html?buildId=171330&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 266 Build time: 00:06:04


Ah, then we don't need `rl-unstable.xml` yet :-)


Original discussion: #64.


... For some reason I thought if the bot started up cleanly, that meant it imported this module without errors, which means that the imports must be fine.

But no, obviously you wouldn't get an error until you actually _call_ the function, that's where the reference to the unimported name is.

Oops.


@JacksonTian Breaking change!!  在不需要 `callback` 的情况下，直接调用 `sendTemplate(openid, templateId, url, data)` 会导致 `data = undefined`，所有模板参数都被置空了。


Hello Yaron,

> Could you please explain that?

Sorry, I didn't get that. What exactly to explain?
It seems there is a bug in N++. It disables scroll sync commands in one view mode but doesn't do that on startup.

> Changing the code location is logically and programmatically brilliant, but may I ask what actual bugs you have found it to fix?

I noticed that after compare the sync scroll option tick was not restored.
But you are right about

> After your fix:
The "Sync Horizontal Scroll" is ALWAYS disabled and unchecked.

I need to review that, thanks. I've tried only the restore when the sync scroll was disabled and logically have missed that issue.

About the issue with the double-compare it is quite expected - we are having only one pair of state keeping flags globally and those are reused and overwritten.
The code needs serious rework to fix that so it is going to stay this way for a while.

Thanks for testing.

BR


This commit is annoying and doesn't do anything except spit out useless warnings. I removed it just for that reason. Thought I'd let ya know.


如果还有修改的话，建议提交到theseus分支，0.5.0分支处于冻结状态。


务必传callback吧。


请使用Allman/BSD缩进风格。


피드백 해주셔서 감사합니다!!

switch구문 넣고 돌렸더니 계속 에러가 떠서 마지막에 뺐어요..ㅠㅠ
혹시 다시 넣어서 깃허브에 올려야 하나요??

2016년 3월 18일 오후 2:03, Jeong-YeongMin <notifications@github.com>님이 작성:

> 안녕하세요 튜터 정영민입니다.
> 코드 확인했습니다.
>
> select.java 파일의 13~16줄까지 있는 if, else if, else의 조건문의 경우
>
> if (x==0)
>     System.out.println("0");
> else if(x%2==0)
>     System.out.println("even");
> else
>     System.out.println("odd");
>
> 또는
>
> if (x==0){
>     System.out.println("0");
> }
> else if(x%2==0){
>     System.out.println("even");
> }
> else{
>     System.out.println("odd");
> }
>
> 위와 같이 줄을 바꿔주는 것이 일반적입니다.
> 물론 줄을 바꾸지 않아도 이 상황에서는 실행에 문제가 없지만
> if문의 조건을 만족했을 때 실행되는 문장이 2줄 이상이면 꼭 중괄호를 해주어야 합니다.
>
>
>
> *★ select.java에서 int result = x%2; 이후의 switch 구문이 누락되었습니다. 확인부탁드립니다.*
>
> 고생 많으셨습니다!
> 혹시 모르시는 것 있으면 연락주세요~
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly or view it on GitHub
> <https://github.com/Java2-2013024016/Java_Project/commit/d2451daf65de9b0e5baf4549f972faaee28ec872#commitcomment-16757542>
>


what is this?


latex-documentation (Myoldmopar) - Win64-Windows-7-VisualStudio-12: OK (2139 of 2139 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg)


This change causes unit tests execution time to increase to 5 minutes.


这是测试


Sure.


请使用Allman/BSD缩进风格，使用4个空格进行缩进，采用UTF-8编码，大括号独占一行，`if`语句换行。
样例：
```C++
void foo()
{
    if (xxx)
        xxxxxx;
}
``


冲突了


no


It will be because it will be placed after the globals are brought in:
(directly below the "Language cleanup stuff." comment)
https://github.com/matrix-olegsv/openemr/blob/e47b663e485f561577220ed8bfd6f001392a860a/interface/globals.php#L254

And then the only thing you would put at the top of the css_header code block is:
``````
$css_header_value = $GLOBALS[$gl_name];
``````
https://github.com/matrix-olegsv/openemr/blob/e47b663e485f561577220ed8bfd6f001392a860a/interface/globals.php#L215


It looks like his function is called regularly as a SSE is established and open. What would be the effect when we have two web client open displaying the live-stream at the same time? Would their be a race condition? ie. connection for webappB reset acceleration just before the other connection was about to send the data to webappA? Will the intervals be in sync when you have multiple web clients? Since it uses `setInterval` and `clearInterval` and the handler for the routes probably execute separately, I don't see how it deals with multiple connecting clients. Once again, I am beginner in JS and express and don't know much about what is provided by express to handle SSE.


What!


In essence you are suggesting me to look at Go and make the C/Go version closer (if not alike) ?


@flavour Please review


Ok, wrong at every turn hear.

Anyway, thanks for adding the Gimp Extras option! :^)


reviewing the whole code it is actually not correct, do_create sets the the state to failed and will then delete the VM


Esta es mi mayor duda

Ahora que abrimos el popup como iframe (ver primer commit) y no como jn dialogo con Plugin.io esto ya no es necesario, verdad?


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19439](https://teamcity.mesosphere.io/viewLog.html?buildId=171334&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:10:20


alright, thanks !


的冯绍峰


hm, but then you have to make another `if` for the validation itself, since you have to return a string from the validator. Maybe I could use `&&` like:

```
if(value && !validate.isString(value)) {
  return 'blabla';
}
return null;
```

Or a oneliner:

`return (value ? (validate.isString(value) ? null : 'blabla') :  null );`


あえて言うのであれば、 `get_aggregate_flow_stats()`
の `s` も同じ問題があるのでしょうか？


oh, nice idea :)


模拟生产者消费者线程


Imports should be at the beginning of the code, but I think I'll switch to move all of that in another file in fact.


That's really helping me. Thanks a lot!


Aksha Rakra
Ankita Dhillon
Saurabh Gupta


 go get github.com/golang/lint/golint
package github.com/golang/lint/golint
	imports go/types: unrecognized import path "go/types"
The command "go get github.com/golang/lint/golint" failed and exited with 1 during .

go version go1.4.1 linux/amd64


test


是的发送到


a


Cool, let's do it the same way we do it for pratilipiTypes.


Maybe extract sleep component and provide different implementation in test profile.


Click*


![screenshot from 2016-03-18 16-06-19](https://cloud.githubusercontent.com/assets/4335742/13872179/5f9cd770-ed23-11e5-8fb8-dc04c7a20ae7.png) ?


Yes, thanks


Bastion thought it was a stupid thing to get annoyed over. whatever :)


looks like a logpipe file was committed unintentionally


hello there my project!


Your solution is much better @delor.


Za dlugie linie
`    task = task_initialization(
             parameters_by_value, parameters_by_name,
             updates_by_value, updates_by_name)
 `
Zgodnie z : https://google.github.io/styleguide/pyguide.html?showone=Line_length#Line_length i https://google.github.io/styleguide/pyguide.html?showone=Indentation#Indentation


ありがとうございます。そこも同じ問題ですね。
今回のバグはrestアプリ用UTが一がofctl_v1_*を通過したルートで偶然検知出来ましたが、
↑のルートは通過してなかったようです。
修正点に加えます。


Isn't there a better way to delay execution of a task than `java.lang.Thread#sleep(long)`?


Damo's idea, and I took the chance to throw in some other stuff.


Dodaj enter przed i za kodem, zeby go wyraznie oddzielic od tekstu


This bug found when receive Contacts.getStatuses() - without this fix, was Vector<Int>, instead of Vector<UserStatus>


I think some lines in `vault/ipv4.dat` and `vault/ipv6.dat` also have to be changed (the lines with the Run ...inc statement)?


@klq I've finished homework #000. thanks!


$root_dir = preg_replace('#/$#', '', $server->path); // FIXME make server saving remove the trailing slash


Doesn't this lead always to an error because the size we get at this point is the size of the decompressed data which is compared to the size of compressed data?
See the check after decompressing in line 44.


While they reference each other, it is dependency injection, a BaseModel injects an instance of StoreService, while StoreService uses the constructor for base model


Good Idea!


I agree. I would rather use delayed execution in a separate thread (eg. [`TaskScheduler#scheduleWithFixedDelay`](http://docs.spring.io/autorepo/docs/spring/3.0.0.M3/javadoc-api/org/springframework/scheduling/TaskScheduler.html#scheduleWithFixedDelay(java.lang.Runnable, long)))


just wondering if you need to return `exports.accelerationChangs`


apt-get


Hi I like Angular JS


Ah, I was wondering about that... I had gotten the impression that `BinaryIO` was a simple alias for `IO[bytes]`. Looking at `typing.py` I see that it's a subclass of `IO[bytes]` and I guess that makes the type more restricted.


Just a comment. If templates are allowed loading from filesystem, it may be no need to bind these into asset.


Thanks @chrismattmann
Working on it, created the project locally, involved in some basic code clean up. Will commit to committing all student handlers before the end of this week.


本コミットを上書きしてしまいましたが、
https://github.com/takahashiminoru/ryu/commit/4c159ff7cc9efc818c7b88e04bf9ba929ce85185
で修正してみました。ご確認の程お願い致します。


Thanks for adding it !


We should use `fs::rename` instead of `io::copy` for moving files locally, and only using `io::copy` when moving a file across file systems.


I've changed the `Configurable` parent class in such a way that it should complain if you have a `kwargs` that is not a property of the class, as it makes the dump easier (detecting what has changed), or better, more general since all attributes are treated the same. Thus having `cmssw_config` as a `kwargs`, but `pset` as a property required one of them to be changed. I was a bit more partial to `pset`, since this is used in the rest of CMS.


IMHO the "**unmaintained**" ist **wrong**. They can as well be maintained (many forest roads in AT are maintained by the ÖBF; and farm roads are often maintained by the Communities). And regarding the German translation, [Wirtschaftsweg](https://de.wikipedia.org/wiki/Wirtschaftsweg) ([as used in the Wiki](http://wiki.openstreetmap.org/wiki/DE:Tag:highway%3Dtrack)) is the best word for highway=track as it includes both Forststraßen (forest roads) and Feldwege (farm roads). /al


Yep, you're correct; Good catch (not something I'd want to have missed by the next release). :+1:

I'll get that sorted now. :-)


2046-chiller-curves (kbenne) - i386-Windows-7-VisualStudio-12: OK (2371 of 2395 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-warnings-yellow.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.0%25-yellow.svg)


Czy jest juz pomysl w jaki sposob przechowywac liste plikow do mergowania ?


Fantastic, thanks!


I assume we shouldn't require it to be present but we would probably still want to respond with an error if it's anything other than `'access_token'` as that would definitely not be supported by this engine.


That's a typo.

Speaking of all these feature-tags, not all of them may be needed, but some will be.

As initWithWebView: is removed in Cordova iOS 4.0, you need to to initialize them in a different way. The update I did was changing it to getCommandInstance: and that requires the feature to be in the plugin.xml file or the class won't load.


__API Description file syntax error on line 577__: the use of tab(s) '\t' in source data isn't currently supported, please contact makers (Autogenerated message from apiary.io)


Fix [[Filter] Change “Group By” to “Sort” and “Filters” to “Filter”](https://quire.io/w/VObgnSGIN40BXlAcZiVS_NGd/Filter_Change_Group_...): [Filter] Change “Group By” to “Sort” and “Filters” to “Filter”
via [Quire](http://896dd22a.ngrok.io/u/quire)


Sir yes sir!


![nyan reporter](http://i.imgur.com/WqXlH3H.png)


I just released 0.19.1 with a little bugfix :)


That was the goal :)

On Fri, 18 Mar 2016, 07:06 Aycan iRiCAN, <notifications@github.com> wrote:

> I no longer need to modify hydra release.nix, thanks.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly or view it on GitHub
> <https://github.com/NixOS/nixpkgs/commit/8e398a88a1fb3f477667d8bf42e0d8f1d8d5ddec#commitcomment-16758158>
>


switch 구문을 어떻게 넣으셨는지 볼 수 있을까요??

메일로 답변 주시거나
카톡 duddud318로 답변 주세요!

-----Original Message-----
보낸사람: "Java2-2013024016" <notifications@github.com>
받는사람: "Java2-2013024016/Java_Project" <Java_Project@noreply.github.com>
참조: "Jeong-YeongMin" <duddud311@naver.com>
날짜: 2016.03.18 오후 04:49:48
제목: Re: [Java_Project] for문 (d2451da)

피드백 해주셔서 감사합니다!!

switch구문 넣고 돌렸더니 계속 에러가 떠서 마지막에 뺐어요..ㅠㅠ

혹시 다시 넣어서 깃허브에 올려야 하나요??

2016년 3월 18일 오후 2:03, Jeong-YeongMin <notifications@github.com>님이 작성:

> 안녕하세요 튜터 정영민입니다.

> 코드 확인했습니다.

>

> select.java 파일의 13~16줄까지 있는 if, else if, else의 조건문의 경우

>

> if (x==0)

>     System.out.println("0");

> else if(x%2==0)

>     System.out.println("even");

> else

>     System.out.println("odd");

>

> 또는

>

> if (x==0){

>     System.out.println("0");

> }

> else if(x%2==0){

>     System.out.println("even");

> }

> else{

>     System.out.println("odd");

> }

>

> 위와 같이 줄을 바꿔주는 것이 일반적입니다.

> 물론 줄을 바꾸지 않아도 이 상황에서는 실행에 문제가 없지만

> if문의 조건을 만족했을 때 실행되는 문장이 2줄 이상이면 꼭 중괄호를 해주어야 합니다.

>

>

>

> *★ select.java에서 int result = x%2; 이후의 switch 구문이 누락되었습니다. 확인부탁드립니다.*

>

> 고생 많으셨습니다!

> 혹시 모르시는 것 있으면 연락주세요~

>

> —

> You are receiving this because you are subscribed to this thread.

> Reply to this email directly or view it on GitHub

> <https://github.com/Java2-2013024016/Java_Project/commit/d2451daf65de9b0e5baf4549f972faaee28ec872#commitcomment-16757542>

>

—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub


next step: more pages


there is no any sorting code.......


:+1: :rocket:


Yeah, I noted that too to @zdeljkic .


@klq I've finished the Pre-work Part II (Python), and I've added and committed an iPython notebook (Prework_Python_Notebook.ipynb) to accompany the code exercises as well.

I'm ready to submit it for review.

Thanks!
Ketan


just exploring


yes, however js is still unknown for me. I'd like to keep it at the moment in the html and create a js structure once I understand it a bit better.
I'd really would like to go online with the site, I told lots of friends about it and now they want to see. Can you pls advise a free webserver? I tried bytehost but it doesn't work. Thanks for your help!


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19440](https://teamcity.mesosphere.io/viewLog.html?buildId=171335&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **FAILURE**
Summary: Exit code 2 (new) Build time: 00:01:56


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">

<title>The Twleve Caesars:Claudius</title>

Claudius Became Emperor

Claudius became Emoeror at the age of 50.Fearing the attack of
Caligula 's assassins, Claudius dropped to the floor,and then found himself
declared Emperor.

Claudius is Poisoned

Most people think that Claudius was poisoned.Some think his wife
Agrippina poisoned adish of mushrooms (this favorite food).His death
was revealed after arrangements had been made for her son ,Nero,to succeed asEmperor.

Go back to Main Menu


This might fix the issue we reported here: https://bugs.php.net/bug.php?id=70984


Mam pewna koncepchw, ale chce skonsultowac. Spoznie sie, przepraszam :\

-----Wiadomość oryginalna-----
Od: "stork119" <notifications@github.com>
Wysłano: 2016-03-18 09:28
Do: "stork119/PathwayPackage" <PathwayPackage@noreply.github.com>
DW: "Setnea" <gromadka.agnieszka@gmail.com>
Temat: Re: [PathwayPackage] Editing csv module [comments & logs], movingget_dir_names function (ece6be7)

Czy jest juz pomysl w jaki sposob przechowywac liste plikow do mergowania ?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub


Seems so! Thanks for reporting: https://github.com/galaxyproject/tools-iuc/pull/683


Added some information into the readme.md


I agree that the releasePermit() could cause a single leaked channel, but 10? And what's the connection between our max size of 10, and it always failing on the 22nd attempt? We've also been able to reproduce the issue using regular RabbitTemplates now as well, i.e. the error is not caused by RabbitAdmin as I initially thought.

I can register an issue, but I don't think we've found the true cause yet.


nodes > processes


`callback `完全是可省略的，只要没有致命错误的所有参数都可以省略。。连`url` `data`都可以省略，`sendTemplate(openid, templateId)`腾讯一样会返回正确调用。


Will remove it in the next assignment :dancer:


Za dlugie linie


I know that translations can be a laborious, time consuming task, so I am happy to accept multiple pull requests as you progress your batch work days or weeks apart as your schedule allows.
This way I can merge what you have done so far, and continue with my work without concern for future merge conflicts (always a pain to resolve).
Just remember to refresh your fork prior to continuing your next batch of translations, to ensure you are up to date with any key additions/deletions I have made in the meantime.
Cheers.


`def make_config_dict(root, tag, setup = ""):`
Dodaj spacje po setup


TASK : https://www.odoo.com/web#id=21096&view_type=form&model=project.task&action=333&active_id=131&menu_id=
PAD : https://pad.odoo.com/p/r.b0518fc39d15fac20eabe232408a680b


At that time, I didn't know about extension. When I knew it, I applied for all my code :+1:


Hmm, I am missing so much notifications, must check my filter settings in gmail.
Thx, dont know what I was doing here :)


Nie wiem czy
`tk`
bedzie czytelnym oznaczeniem


Add new line


close issue #1


Guay !! :)


那 来个PR吧。


Note > Footnote?


Przneiesc testowanie do folderu scripts


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19441](https://teamcity.mesosphere.io/viewLog.html?buildId=171336&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:08:58


Let's be consistent with this. See, e.g., caninitscripts. LIC_FILES_CHKSUM could point to the root COPYING.MIT


I edited the file as described and tried to compile with VC2013 for my old PHP 5.2.17 TS x86 VC6 but curl_dll is still not working. I also set enable-sslv2 in configure but i'm not fimilar in compiling so maybe there are other things to get it back run on my old system ?


Unnecessary if you set S = workdir/files below


Delete


Sure, I was thinking about making one pull request once I am done. Before that I will make sure my fork is up to date so you won't have any problem merging.


This commit breaks the Solaris build on 32 bit. The specific errors looks like this:
```
  CC       collectd-utils_random.o
In file included from collectd.h:31:0,
                 from utils_random.c:29:
../../src/config.h:1646:0: error: "_FILE_OFFSET_BITS" redefined [-Werror]
 #define _FILE_OFFSET_BITS 64
 ^
In file included from /opt/csw/lib/gcc/i386-pc-solaris2.10/5.2.0/include-fixed/pthread.h:20:0,
                 from utils_random.c:27:
/opt/csw/lib/gcc/i386-pc-solaris2.10/5.2.0/include-fixed/sys/feature_tests.h:196:0: note: this is the location of the previous definition
 #define _FILE_OFFSET_BITS 32
 ^
cc1: all warnings being treated as errors
```

For details on the commit status please see https://buildfarm.opencsw.org/buildbot/builders/collectd-solaris10-i386?numbuilds=100


__API Description file syntax error on line 627__: the use of tab(s) '\t' in source data isn't currently supported, please contact makers (Autogenerated message from apiary.io)


没找到微信文档有`topColor `的资料，google `topColor site:mp.weixin.qq.com`没有结果。。你的 jsdoc comment 也没有这个神奇的参数。。PR 就是 revert 掉这个 patch 。。


Hi

Nice example. Thanks a lot for sharing.
One small query, FIFO SIZE left-shifted by 5 becomes 32 and max_value of fifo_counter is 31. (after which it overflows)
So, fifo_full never goes to 1 in this code.

-Sukant


Can't build on mac:

```
cp haxelib /usr/local/Cellar/haxe/HEAD/lib/haxe
cp: haxelib: No such file or directory
make: *** [install] Error 1
```


<dependencies>


Awesome @atfornes ! :clap:


Please don't minify all the JS in your commits as this can clash with mine when using slightly different versions of the compiler...leading to repo churn


@lightmare - both excellent points ! Fixed in 3d555982fd944daf1ab7163b5ff68217b5a4c3ad and 8f9134c72d5809dd73b0ed08818a87f78c6de15a


还是有问题的。。


Wouldn't it have been better to add some `(master)` or `(to be released)` mark instead of removing the entire line?


Probably don't want your email in here ;)


Зачем повторяется this.getLayoutX(), node.getLayoutX(), node.getLayoutY(), node.getBoundsInLocal()?
Вынеси их в переменные.


I'd suggest to move these into environment variables for a seamless multi-heroku setup we might soon have. What do you think @haslinger ?


hi


我只能说：我忘了改vs编辑器的设置了。。。


In general I think this is 000_config.py material rather than the template even though we're not excpecting multiple SAMBRO deployments per country: we probably don't want the production emails on GitHub.
(Fine to have the setting here commented out but I would include a comment that this should be set in 000_config.py)


@flavour Which version of compiler are you using? I think easier would be if you could minify?


Avoid using 'request' as a variable name as this clashes with the global current.request
(It's not so critical in this scope here as you can get around it, but still best avoided....if it's in controllers then everything breaks as 'request' is in scope there)


HELLO WORLD


topColor是这个API最早期的时候的一个参数。wechat后来升级了，去掉了该参数。为了向下兼容代码，所以这么加的。


Good!


doubled


Für die (noch weit entfernte) Zukunft wird es in der main.py realisiert und das Template gehört zum Installationsumfang und muss nicht aus dem Netz nachgeladen werden:
https://github.com/motom001/DoorPi/blob/DoorPi3/doorpi/main.py#L49
https://github.com/motom001/DoorPi/blob/DoorPi3/doorpi/docs/linux.daemon.tpl

Besser so?


I can't find this deployment_setting?
It appears to be a CAP-specific setting so should be in get_cap scope once added?


Hi Umer,

Does it need to be related to php7 or are you looking for something else to work on :)

-brady


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19442](https://teamcity.mesosphere.io/viewLog.html?buildId=171337&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:05:06


什么，居然可以改头像了


Trying to improve formatting.


Should be an easy fix. Looking at it now.


Uploaded!


Hello This is test code


I'm not clear why you are using this custom form rather than using the default registration form?
That seems to have evrything that is required?
It was disabled in SAMBRO as per a requirement, but has now come back in but as a custom form instead of the default? The default is already highly configurable and could be tweaked to make it more so if necessary.


Yes, normally I minify


__API Description file syntax error on line 627__: the use of tab(s) '\t' in source data isn't currently supported, please contact makers (Autogenerated message from apiary.io)


@kevinresol Should be fixed by https://github.com/HaxeFoundation/haxe/commit/19676d159f4e9afb6ea2ffa724289b372e6e66f3. Please try it again!


好了，我已经全部merge过来了，并进行了格式化
话说“希修斯”这个名字是什么鬼。。。


@andyli  Great it works now :+1:


撒旦


Thanks! :-)


Could you please post a separate Issue with this?


This closes issue #4


@jwarwick nice... for what concerns gem-events and their consumption I am personally a great fan of streams generated by  [`GenEvent.stream`](http://elixir-lang.org/docs/stable/elixir/GenEvent.html#stream/2) :-)


please create a private function for this


OK, + we need some documentation, that it has to be set. I also thought about a way of automatic derivation, but I think, there isn't one.


Nie wiem jaka ma byc struktura `subdir_list`
Nie wiem co to jest.
Dodaj komentarz do
`
 def merge(csv_name, subdir_list, input_path, output_path):
`


overriding toString() might be useful


Thanks, bro!

I'm also looking forward to getting to use it.


:bomb:  :boom:


Been there too. Derivation is problematic for emails, since there is no request 🤔 ...
Therefore I thought env vars would be the most flexible way regarding these limitations.


```
debug  : "run in debug mode, imply not --quiet",
quiet  : "print less messages, imply not --debug",
```

Which one wins if both are specified?

Has this been in a release yet? It might be better to control this through an Int variable: `<= 0 = quiet`, `1 = default`, `>=2 = debug`.


That's weird, this commit doesn't go anywhere near the shortcuts. And it's working for me locally, although I have already made more changes I haven't committed yet. Could you see if another add-on you have is interfering? I will a beta version soon, so if at the time they still don't work for you please open a new issue to let me know.


猜數值


This is now implemented.


errata: 3.4.1


I had never used generics like that. Nice trick


For issue #440.


warning: `String.format` much slower than dumb String concat


I created an issue meanwhile.


I have now refactored the code to be as concise as possible.


what sets the content type now this is removed?


Lol why was the compiler complaining about this?


Adding verbs to endpoint is an antipattern for APIs. NOUNS=good, VERBS=bad. You already have the method that defines the verb.


what problem did this fix?  this change will mean that one consumer can block all others.


Capitalisation is important. return "Success."


@api.route('get_skills/<user>') makes more sense.


json.dumps(list(set(OrderedDict(str(tuple(languages))))) was too verbose for you?


I think you don't have to use `\"`, just `"` should be fine.


__API Description file syntax error on line 627__: the use of tab(s) '\t' in source data isn't currently supported, please contact makers (Autogenerated message from apiary.io)


hello


How does this approach work with the highlighting stuff?


> einen valide composer Version

eine, nicht einen.


see previous comments about verbs in endpoints.


The name for this option is throwing me off. Why not something like:
"Automatically replicate justification codes in Fee Sheet"
(note it is not always the first one, which is fine; it basically fills in the blanks with the justification code above it)


operate github once time


No. Just no.


I found a way to get this to create a file without an extension. The clue is in the documentation of makefile and [how it handles keyword arguments](https://github.com/pytest-dev/pytest/blob/2e04771893f17b571e6ab48f6884a6a70cde8fc8/_pytest/pytester.py#L502-L504). Let me know if you need some more help and I can share my solution.


it should rather be a #TODO not #FIXME


@springmeyer - yes, it could be but there is no performance gain (I tested and measured) so we shouldn't just blindly make `const` and/or `static` !

```c++
namespace mapnik {

template <typename Out>
bool parse_hex(std::string const& input, Out & output)
{
    using boost::spirit::qi::lit;
    auto itr = input.begin();
    auto end = input.end();
    //using hex2 = boost::spirit::qi::uint_parser< unsigned, 16, 2, 2 >;
    //return boost::spirit::qi::parse(itr, end, -(lit("\\x") | lit("0x")) > *hex2(), output);
    static const boost::spirit::qi::uint_parser< unsigned, 16, 2, 2 > hex2;
    return boost::spirit::qi::parse(itr, end, -(lit("\\x") | lit("0x")) > *hex2, output);
}
}
```


Don't you try to push this useful change to the official repo?


Suggesting /reject_coment


would it make sense to explicitly ensure the justification code is not overwritten with a && $justify == ''


review complete(it tested well)


an empty object would be nicer. or even nicer if you don't even pass any parameters.


.js is a hack handling a specific inconsistency in the data for the arewecompatibleyet.com site. I'd recommend removing it from this code if I wasn't already recommending rewriting this stuff completely ;)


Dos clases en un fichero?? @novales35


"" is a falsy value, but don't exploit it in the tests. so again, an undefined value is better


12 - так  плохо писать, называется магические числа, их надо выносить в константу, ибо это тут понятно в маленбкой задачке и что ты один и знаешь что это туз, а кто-нибудь другой посмотрит и подумает что за гавенцо почему 12??? а не 13 или 1242354


the same again.


и так вообще по всему файлу со всему магическими числами


antibiotics


I'll leave as is then. The way I see it is that Excon is an implementation detail of this class, so if there is any Excon errors that are required to be rescued to use this class then it would be worth wrapping. As it is it makes no difference what http client raises an error to use this class.


откуда 13?? что это значит magic number


Currently the latter flag will override the previous ones. e.g. `--debug --quiet` means `--quiet`.

Yes, I agree it is confusing and using an Int var as you suggested is better. Probably named `verbosity`, but I will check how other tools names it.


It's a regex due to the .js hack.. :-p


Don't understand this notation. How is this different than 'model: numberOfSeeds'.


Better ways to do string concatenation. Try "".format or even "%s%s" %()


you should check that if you change the numOfItems, then the numOfPages will change. Also, you should check that if you change the itemsPerPage (so, you select another item) then the numOfPages' value should change.


@alexislefebvre  that's a mistake, to ensure code was still working within a symfony project i copy it directly in a project to perform test and i past it again in my liipfunctiontestbunle fork ... do you me to add an option to tell the command a path for fixtures ?


WTF bor? Pust moj branch pr mir.


again verbs in endpoints. Get your shit together fam.


is it working?


вот оссобенно тут магия с числами
откуда что почему такие??
надо вынести все в константы, а вдруг мы решим добавить еще одну карту, джокер каждой масти допустим, и тебе придется все 13 менять 14, а где-нибудь забыл и все ошибка которую хер найдешь
а с константой просто бы изменил значение с 13 на 14 и ничего не надо менять


i will update it once I finish all the work


lol


лучше не break везде писать а else if


в добавок давай еще на функции разобьем код


Why removing the x64 config?


айяйяйяйяйяй исправляйся @darkskeeper


your feedback is greatly appreciated


//addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.6")


fix #71


That is essentially this method. It returns file if on disk, and returns nil with an error if it is not.


@Stebalien I tried replacing itertools' `sorted_by` with lazysort's (and removing the `into_iter` call) and haven't found any discernible performance difference when running the code on a decently large training text (~6Mb)


No thanks!


其实在去年到今年春节这段时间里我已经对GUI以及NEWorld.cpp这部分代码进行了一次整理,本来想继续弄下去的,不过NW的代码风格是在是太反社会了,于是只能放弃(关于原先的样子可以参见NEWorldOld的早期提交(A0410以前的版本))


Why should I tell you? They are secret :)


This is not a behavior we want. Because then the user needs to go to a place where they can properly request the image, which will be costly. Better to just the first time supply all knowledge, and then we can hunt it down.


keep only custom format


You don't need to cast this again, you already have a valid Partition* parent here.


Paul, will DBmail run on Debian Jessy? As far as I understand, there is no special package set for Jessy, but can I use recent ditrs, may be with some tunning?


a Keyword to get the text of a web element by a locator


Whitespace before assignment.


__API Description file syntax error on line 627__: the use of tab(s) '\t' in source data isn't currently supported, please contact makers (Autogenerated message from apiary.io)


thanks, but no thanks


is this the address of TZASC on Hikey?


I am glad you solved it despite my arguable unnecessary ranting (obviously their reasoning is sound from their point of view, e.g. regarding portability).


I do not think it has timestamp now


I'm a newbie with Rails. The concept of routes is pretty clear to me but I didn't understand why you used a nested resource for `:images` when it was in the same `Gallery` model.
And also why did you use two controllers? Is not possible to use just the galleries_controller?

Thanks for the explanations and your guide!


mms log 검색 개선get_list2()


Dubug?


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19493](https://teamcity.mesosphere.io/viewLog.html?buildId=172316&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:05:07


latex-documentation (michael-okeefe) - x86_64-Linux-Ubuntu-14.04-gcc-4.8: OK (2163 of 2171 tests passed, 2 test warnings)

 * 10 tests had: EIO diffs.
 * 7 tests had: ESO big diffs.
 * 4 tests had: Table small diffs.
 * 3 tests had: ESO small diffs.
 * 2 tests had: MTR big diffs.
 * 4 tests had: Table big diffs.
 * 1 test had: MTR small diffs.

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.63%25-yellow.svg)


```
self.show_create_account = not(self.partner.employee)
```


Rather than fixing the warnings? _Le Sigh_


Metiendolo arriba, el if sobra


is this wiseist or something


 ppmessage/ppconsole/static/js/controllers/settings/teamprofile.js

Why change own_team to PPMESSAGE APP_UUID？？？


no veo la necesidad de este warning


I looked in the registry, and currently, Git for Windows' current InnoSoft Setup installer puts entries under HKLM\Software\GitForWindows; so, yes, I did take into consideration the existing installer functionality. See lines 119-126 in install.iss.


latex-documentation (michael-okeefe) - x86_64-Linux-Ubuntu-14.04-cppcheck-1.61: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg)


It was violating the WiX XSD without it.


Code looks good and the menu item displays appropriately.


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19494](https://teamcity.mesosphere.io/viewLog.html?buildId=172320&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:06:06


This is the recommended way of placing conditions in a WiX file so you don't need to use entity references and more importantly, to make the conditions readable, and also for consistency with future conditional statements (when the installer UI is authored).


Version 2.1 released 3/18/2016


Comment doesn't match reality.
I don't like these "end of" for such short functions. We can just take all the empty lines out, but even with them in, it fits on one screen.


Signup a user means create a PPMESSAGE third_party user and not service_user、owner_user.

In the same time, the user is a owner_user or service_user belong to the team which just created.


Where does this get parsed to a Date or DateTime?


@MichaelLeeHobbs Can you please undo your changes because it causes some errors


Suggest code:

1) pass is_owner_user as parameter to create user
2) signup to create user needs create a device_user but create two app_user_data


It doesn't. I used a string to keep consistency with effectiveDate and endDate.


Copypasta!


Hay que crear cuenta analítica SOLO en el siguiente caso:
.- El registrado NO es un empleado (son gente a las que se les va a facturar)
.- El contrato asociado al evento NO tiene activado el check de "recurrente".

Es decir, si tiene activo el check recurrente se factura a la cuenta analítica del pedido, por tanto, los registrados no necesitan tener, ni que se les cree cuenta analítica propia.

Si no tiene activo el check de recurrente, entonces se factura a cada registrado de forma individual por lo que sí necesitan cuenta analítica


Damn, who keeps changing this!?


3) separate the logic create user and create app_user_data to individual function


Quita el raise, ahora ya no es necesario porque le estamos creando nosotros la cuenta.


Hi Niall,

The files has lower-case first letter. There are 12 files refers to them
using upper-cased. I used Eclipe to search for them.

Would you like me to fix it for you? I will make a pull request.

Thanks,

*Sơn Quang Lâm*

*Cell: 408-3682972*

On Tue, Mar 15, 2016 at 1:38 AM, Niall Crosby <notifications@github.com>
wrote:

> where is it referencing it in upper case? i can't find it....
>
> —
> You are receiving this because you commented.
> Reply to this email directly or view it on GitHub:
>
> https://github.com/ceolter/ag-grid/commit/e3859c0b2416cb8c497d0e494b8f9c58abef7390#commitcomment-16701204
>


el nombre correcto sería "for_non_employee"


Según comentarios más arriba:
```
'parent_id': event.project_id.analytic_account_id.id, or false
```


This broke headless compilation


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19495](https://teamcity.mesosphere.io/viewLog.html?buildId=172324&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:04:48


create a static SimpleDateFormat and reuse it instead of keep creating it again and again


No entiendo muy bien para qué es este campo definido de esa forma.
La condición de crear o no cuenta analítica es la que te digo arriba. Se podría meter esa comprobación en una función que devuelva un boolean y te evitas el campo


Sobra la función


height?


/cc @weshaggard, PTAL


You can probably see that on Transifex.


ok


I'll fix the whitespace diff in this change


Quita el campo porque ya no hace falta el campo. Ahora es partner_id.employee_id


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19496](https://teamcity.mesosphere.io/viewLog.html?buildId=172347&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **FAILURE**
Summary: Error while applying patch Build time: 00:00:11


If self.is_employee


两个说汉语的人，用英语交流，有比这个更让人感到蛋疼的事情吗。


Elimina, ya no hace falta


Eliminar, ya no hace falta


A patch for DEBUG_PORT was recently merged to master.

-Evan
"Never doubt that a small group of thoughtful, committed citizens can change the world" - M. Mead

> On Mar 18, 2016, at 3:33 PM, enjoyear <notifications@github.com> wrote:
>
> Thank you very much. This is a really nice workaround. But it would be
> great if spark job server could provide a port for debugging by default.
>
> On Fri, Mar 18, 2016 at 5:03 AM, CBribiescas <notifications@github.com>
> wrote:
>
> > Have you tried the following http://danosipov.com/?p=779 ?
> >
> > —
> > You are receiving this because you commented.
> > Reply to this email directly or view it on GitHub
> > <https://github.com/spark-jobserver/spark-jobserver/commit/087645973dd4754e3e78af49416ef0be39f2334d#commitcomment-16760954>
> >
> —
> You are receiving this because you commented.
> Reply to this email directly or view it on GitHub
>


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19497](https://teamcity.mesosphere.io/viewLog.html?buildId=172348&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:05:04


cambiar por is_employee


Sobra


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19498](https://teamcity.mesosphere.io/viewLog.html?buildId=172349&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:05:43


quitar directamente la condición.
Aunque no sea empleado se podrían eliminar sus presencias


latex-documentation (michael-okeefe) - x86_64-Linux-Ubuntu-14.04-gcc-4.8-UnitTestsCoverage-Debug: OK (1025 of 1025 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg) ![Coverage Badge](http://img.shields.io/badge/coverage%20status-30.66%25-green.svg)


commit inicial


latex-documentation (michael-okeefe) - x86_64-Linux-Ubuntu-14.04-custom_check: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg)


I apologize for ranting, I just don't see any need for having the browser part into the compiler (including the http server). I started it once. It will shine on play.crystal-lang.org, but I won't run it again, because it's *not* a REPL.

I love REPL. I installed [ICR](https://github.com/greyblake/crystal-icr) as soon as I learned about it, and I use it all the time —and totally dropped `crystal eval` by-the-way. I hope ICR will benefit from the compiler changes! If it can load my project I'll be *very* happy, and I'll *really* don't see any need for the browser playground, ever.


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19499](https://teamcity.mesosphere.io/viewLog.html?buildId=172352&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:05:33


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19501](https://teamcity.mesosphere.io/viewLog.html?buildId=172367&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:04:58


Congrats


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19500](https://teamcity.mesosphere.io/viewLog.html?buildId=172353&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:06:22


Quita el raise y saca un warning:
¿El empleado no tiene calendario, desea crear uno?

Si dice que sí, le creas uno y si no, no haces nada.


ADDED CORS!


do we really want to list every issue fix in the changelog?


No it's not needed


Thank you for the bug fixed.


Esto es anti natura total.
Estás buscando un único día, lo cual entiendo que en algún punto se creará un bucle que llame a esto y se lanzarán N queries search + N queries write contra base de datos.
No vale así. El update completo hay que hacerlo en una única query, no en N queries.

Como ya te comenté anteriormente, necesitamos una funcion en calendario, en sesiones y en presencias.
Y una única función en cada uno
Establecer ausencia (objeto, partner, fecha inicio, fecha fin, tipo de ausencia)
Donde haces
```
cond = [('partner', '=', self.partner.id),
             ('date', '>=', fecha inicio ),
             ('date', '<=', fecha fin ),
             ('tipo ausencia', '=', tipo ausencia ),
]
objeto.search(cond)
objeto.write(cond)

```
Y listo.


i mean the whole thing.


As I already mentioned in private mail, this doesn't reproduce the problem at hand, in which the same source code behaves differently depending on .class files on the classpath -- even though, according to you, the .class files have identical contents.

To reproduce the problem, you need a single .java file and two .class files.
The two .class files should contain semantically the same annotations (though perhaps their constant pools will be in a different order).
Compiling the .java file against one of the .class files will yield a different result than compiling the .java file against the other one of the class files.

That is the test case that I asked for a couple days ago.


Adicionalmente update_employee_days, sería en realidad update_employee_calendar_days


Created CNAME


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19502](https://teamcity.mesosphere.io/viewLog.html?buildId=172406&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:04:48


El cancelar presencia o establecer presencia debe venir de los parámetros. Si el tipo de ausencia es false, entonces es un cancelar. No es necesario verificar nada dentro de la función.
La función debe únicamente hacer lo que te pongo arriba y nada más.


main program


Removing the newline match here seems weird to be, but the diff doesn't read that nicely on mobile.


Same include as earlier.


@trueadm watch out for this!


aquí, la llamada sería
```
self._update_partner_calendar_day(partner, holiday.fecha_inicio, holiday.fecha_fin, absence_type=holiday.holiday_status_id.id)
```


This would really look better as a plain string without quotes. Or double quotes even.


aquí, la llamada sería
```
self._update_partner_calendar_day(partner, holiday.fecha_inicio, holiday.fecha_fin, absence_type=holiday.holiday_status_id.id)
```aquí, la llamada sería
```
self._update_partner_calendar_day(partner, holiday.fecha_inicio, holiday.fecha_fin, false)
```


Nice spot :)


I would like to keep support for Python 2.4 for older devices, it is one of the strengths of Dstat.
We supported Python 1.5 for a very long time (for RHEL2). Python 2.4 is still used on RHEL4.

For the time being it doesn't cost us a lot. Although I still need to add it as a separate test. TBD


All of these strings should be marked for no localization


commit message was supposed to read "Removed comma from bower.json" -- this was causing a `bower EMALFORMED` error to occur on `bower install`


The commit message is confusing, Travis does not support python 2.4 out-of-the-box.


Sobraría la función. La tienes arriba


Yah for capital R disabling special highlighting.


d


Aquí está el for que te comentaba antes.
Te sobran todos los if, for, elses y lo que tienes por aquí.


probably not for major releases, no.

I won't include the detailed descriptions from now on, just too much manual labor.


That is a very good question.  I suspect some kind of bug in MSVC 2013 (whatever SP I have).  It was giving an error like type "u_int" not allowed in expression.  Which seemed odd considering that it's used in different expressions exactly like this all over the code.  I changed the variable name and it threw the same error.  It only went away when I replaced "u_int" with "unsigned int".  Personally I don't like these u_char and u_int types; it would be better if this code used the stdint.h types.  There were other warnings which suggested to me that it was picking up these typedefs from winsock.h instead of sys/types.h, which is also suspect...


@cbattista @TeresaI @smitsven
1) new task type violin plots with sort by problem id (first half is problem set A and second half is problem set B. This weekend sometime I'll put a divider in and add a label so that is clear)

2) bar plots for mean time on task. Will add error bars this weekend

Let me know if you want me to change anything else


Aquí, te dije que en el onchange del partner, busques el contrato
Y en las fechas asignes el max y min como te digo más arriba


FUERA TODOS los if, then, else de control de fechas.
BORRA TODO


latex-documentation (michael-okeefe) - x86_64-Linux-Ubuntu-14.04-gcc-4.8-IntegrationCoverage-Debug: OK (1583 of 1583 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-100.0%25-green.svg) ![Coverage Badge](http://img.shields.io/badge/coverage%20status-70.88%25-green.svg)


I didn't intend to; I think this happened 'automatically' when MSVC imported the SLN.  Looking at the version numbers, it appears to have gone backwards.  I may need to update my SP for this compiler and revert this change.  Do we have x64 build targets for all of the modules?


Example bug dockerfile: https://gist.github.com/fin09pcap/058c9c6de886a058ef2b
Example freight-forwarder.yaml: https://gist.github.com/fin09pcap/f18d00a81bc62087fcd5


me parece mejor por el momento


Freight-Forwader Example: https://gist.github.com/fin09pcap/f18d00a81bc62087fcd5
Dockerfile Example: https://gist.github.com/fin09pcap/058c9c6de886a058ef2b


Yeah, mine. I use the refocus and resynthesize plugins a lot, they're awesome.


<img width="919" alt="screen shot 2016-03-18 at 8 12 19 pm" src="https://cloud.githubusercontent.com/assets/17788153/13895747/f62ab5aa-ed45-11e5-81bb-65d5012abae4.png">


The docs for QC2 still don't look good, waiting for @dhslichter to update them and kc705.py according to what combination of TTL/SPI he wants ...


Y el empleado? No estás comprobando que sea el mismo, por lo que no me dejará registrar 2 empleados diferentes con las mismas fechas


Add-more-capabilities-for-economizer-integration (lgu1234) - Win64-Windows-7-VisualStudio-12: OK (2128 of 2139 tests passed, 2 test warnings)

 * 10 tests had: EIO diffs.
 * 8 tests had: ESO big diffs.
 * 4 tests had: Table small diffs.
 * 3 tests had: ESO small diffs.
 * 3 tests had: MTR big diffs.
 * 5 tests had: Table big diffs.
 * 1 test had: MTR small diffs.
 * 1 test had: AUD diffs.
 * 1 test had: MDD diffs.
 * 1 test had: MTD diffs.
 * 1 test had: RDD diffs.

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.49%25-yellow.svg)


Sobra bucle


Sobra control de fechas


Looks like it loaded.  However, I get this now when I try to execute the following:

<img width="844" alt="screen shot 2016-03-18 at 8 17 18 pm" src="https://cloud.githubusercontent.com/assets/17788153/13895798/7bed3348-ed46-11e5-8d8b-4a439fd489d6.png">


mete aquí las condiciones de overlap de fechas para evitar el bucle, igual que haces con el state del registro


Ok. I'll start bringing it into Padyakke next week. I'm also starting the UC San Diego UI/UX program next week, so it might take a week or two to get everything in, scaled, fixed, kerned, and tested.

Best,
James Puckett

-------- Original message --------
From: Dave Crossland <notifications@github.com>
Date: 03/18/2016  12:05 PM  (GMT-07:00)
To: DunwichType/Padyakke_Libre <Padyakke_Libre@noreply.github.com>
Subject: Re: [Padyakke_Libre] Version 1.2 (7e9da73)

Final Latin is now released

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub


No hace falta ese campo ya que lo tienes inicializado al mismo valor que from_date


Note - Needed to change printer.xml path from "src/printers.xml" to "printers.xml" for file to be accessible.


Igual que arriba. No hace falta


Typo "Jaa". It should be "Java"


Todo este código lo tienes repetido arriba.
Elimina


Oh sorry, I am the one to blame


RIP


Esto es perfectamente correcto.
Un mismo partner puede estar más de una vez registrado en el mismo evento, si no hay overlap de fechas.
Quita el bucle


SUCCESS!


out of curiosity how did you figure this out?


it worked?


develop (macumber) - x86_64-Linux-Ubuntu-14.04-clang-3.5: OK (2336 of 2406 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-warnings-yellow.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-97.09%25-yellow.svg)


nvm as i reverted it myself and in the future, you should not push to master unless you tested it out or put it in a pull request for reveiw and everything


i used a goodhour reverting it . lol


i think so


latex-documentation (michael-okeefe) - i386-Windows-7-VisualStudio-12: OK (2131 of 2139 tests passed, 2 test warnings)

 * 10 tests had: EIO diffs.
 * 7 tests had: ESO big diffs.
 * 4 tests had: Table small diffs.
 * 3 tests had: ESO small diffs.
 * 2 tests had: MTR big diffs.
 * 4 tests had: Table big diffs.
 * 1 test had: MTR small diffs.

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.svg) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.63%25-yellow.svg)


yep.


It would be good to have project_new.png. That wrong globe_new.png had a little + in the corner, which stands for 'new' in icons.


Just curious, why `rename` not `last` like the `jnilib` one? Will it cause problem like snappy did?


Code removed from BB-BONE-LCD7-01-00A3.dts

"P9.15",	/* keys: gpio1_16 LEFT */
"P9.23",	/* keys: gpio1_17 RIGHT */
"P9.16",	/* keys: gpio1_19 UP */
"P9.30",	/* keys: gpio3_16 DOWN */
"P9.21",	/* keys: gpio0_3 ENTER */

"gpio1_16",	/* LEFT */
"gpio1_17",	/* RIGHT */
"gpio1_19",	/* UP */
"gpio3_16",	/* DOWN */
"gpio0_3",	/* ENTER */

BONE_P9_15 (PIN_INPUT | MUX_MODE7) /* gpmc_a0.gpio1_16 */
BONE_P9_23 (PIN_INPUT | MUX_MODE7) /* gpmc_a1.gpio1_17 */
BONE_P9_16 (PIN_INPUT | MUX_MODE7) /* gpmc_a3.gpio1_19 */
BONE_P9_30 (PIN_INPUT | MUX_MODE7) /* mcasp0_axr0.gpio3_16 */
BONE_P9_21 (PIN_INPUT | MUX_MODE7) /* spi0_d0.gpio0_3 */

			gpio_keys {
				compatible = "gpio-keys";
				pinctrl-names = "default";
				pinctrl-0 = <&bb_lcd_keymap_pins>;

				#address-cells = <1>;
				#size-cells = <0>;

				button@1 {
					debounce_interval = <50>;
					linux,code = <105>;
					label = "left";
					gpios = <&gpio1 16 0x1>;
					gpio-key,wakeup;
					autorepeat;
				};

				button@2 {
					debounce_interval = <50>;
					linux,code = <106>;
					label = "right";
					gpios = <&gpio1 17 0x1>;
					gpio-key,wakeup;
					autorepeat;
				};

				button@3 {
					debounce_interval = <50>;
					linux,code = <103>;
					label = "up";
					gpios = <&gpio1 19 0x1>;
					gpio-key,wakeup;
					autorepeat;
				};

				button@4 {
					debounce_interval = <50>;
					linux,code = <108>;
					label = "down";
					gpios = <&gpio3 16 0x1>;
					gpio-key,wakeup;
					autorepeat;
				};

				button@5 {
					debounce_interval = <50>;
					linux,code = <28>;
					label = "enter";
					gpios = <&gpio0 3 0x1>;
					gpio-key,wakeup;

				};

			};

Appreciate any help on resolving.


good i got scared for a sec lol


Why `find` twice here?


Hey dude, very nice that you did the initial commit, because otherwise I wouldn't have been able to figure out the stuff that you added afterwards...

Awesome!


Why not `Code() int` ?


Why define all of these?


Please add a new test that checks this explicitly.  We shouldn't be relying on the stdlib implementation to ensure our attribute printing is right.


develop (macumber) - x86_64-Linux-Ubuntu-14.04-cppcheck-1.61: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-warnings-yellow.svg)


Thanks @michaelrice. We'd like to send pull requests for our improvement to your original yavijia.


The new code was done with HHVM's styles, the old code was indented with tabs :(


Why public?  this should be internal since we're exposing `RemoteError` as the interface here?


Should return `RemoteError` not `*MarathonError`


this can still return `error`


Todo esto fuera.
Quita TODOS los controles de fechas y duplicidad del partner porque te estás montando mucho lío y NO ES NECESARIO nada de esto.

Crear registro es simplemente un create (empleado, fecha inicio, fecha fin)
Realiza primero la asignación de fechas, si vienen informadas
Luego el empleado y listo. El sistema hará los onchanges que le tocan y ya está. El registro NO se debe confirmar.
No hay que verificar que solo tiene un registro.
No hay que verificar que no tienen fechas
No hay que calcular fechas.
QUITA TODO


see this the filter has been added, look out for the quick filter definition so as to filter employees


me too , I had to try everything. Nothing worked, not even command line, so I then tried to manually undo it which is why there are a lot of previous commits but it didnt work so i used the github app on my computer. Hooray github app!


This can still return `error`


this helps us filter the event nominations


Also, no need for this to be public either... could be `newRemoteError`


this is the gui for modifying the filter phrase


Mes premiers pas en ajax. :')
En 3 mois, j'aurai fait du node.js, du jquery et de l'ajax alors que je méprise ça. Magique...


clearing the phrase when needed to be flushed


Ha, nice catch.

-[Unknown]


thank you github app haha


Deja sólo esta parte.
Asignación del contacto y creación del registro. Todo el resto fuera.


hello world


Well what a relief! gg m8


Manage local resources include offline website


But you messed up horizontal centering


TeamCity OSS :: Kubernetes Mesos :: 4 - Smoke Tests [Build 19503](https://teamcity.mesosphere.io/viewLog.html?buildId=172418&buildTypeId=Oss_KubernetesMesos_5SmokeTestsDockerMesos&guest=1) outcome was **SUCCESS**
Summary: Tests passed: 1, ignored: 265 Build time: 00:10:07


What the hell kind of username is "YoungMaker"  lmao


You're a tool button


I see. But I wanted to handle this exception from Ruby code.


see: 09864aaed958c735fd2abf634f3263a029985469


Loling @ u


As on my [`feature/remove_requests`](https://github.com/RihanWu/vocabtool/tree/feature/remove_requests) branch, there is no use of `.text` now.


@gggonzalezg esto porqué es?


eeeewwe


What a useless triangle tool, why would anyone want non equilateral triangles


I think we need to reimplement `getAbsoluteFilePath` here also https://github.com/meteor/meteor/blob/release-1.3/tools/isobuild/bundler.js#L1549-L1573) and document it there. Going to confirm that this is the case.


So I did. Its very hard to notice, I didn't catch that.