/**
 * fk--folder key,dk--doc key -->value is key string
 * dt--doc type,ft--folder type -->both have 19 key options: 
 * bom tr amend history help info loeid cust cust0-cust9 custhist
 * folder type only seen as "history" in toc,why ??do we use other ones? -- it only has one child
 * doc type only seen two "tr" and "history" in toc??-- it only has one child 
 * node with "folder type="history"" is the only child of it parent either "<doc type="tr" key="xxx" trnum="xxx"....." or "<doc type="tr"  trnum="xxx""
 * <folder type="history"  could has more then one doc children .e.g. title="History of AMM31-32-00-720-807" in 700/amm
 * 
 * 
 * 
 * folder element has the follwing to identify itself:
 * 	1, key 
 * 	2, type="history",  in this case, folder is the only child of doc element with type ="tr"?????
 * 
 * doc element has the following to identify itself
 * 	1, key
 * 	2, type="tr" trnum="xxxxx"
 * 	3, type="history", in this case, doc isthe only child of a folder element???
 * 
 * 
 * 
 * the return json format likes following: 
 * [
 * { "data" : "A node", "children" , "state" : "open" },
 * { "data" : "Only child", "state" : "closed" },
 *	"Ajax node"
 *	]
 */

public class XMLToJson
{
	private static final Map<String, String> pathMap;
	static
	{
		Map<String, String> aMap = new HashMap<String, String>();
		aMap.put("fk", "folder[@key");
		aMap.put("ft", "folder[@type");
		aMap.put("fth", "folder[@type='history'");
		aMap.put("dk", "doc[@key");
		aMap.put("dt", "doc[@type");
		aMap.put("dth", "doc[@type='history'");
		aMap.put("dtrn", "doc[@trnum");
		pathMap = Collections.unmodifiableMap(aMap);
	}

	Util util = new Util();

	/*
	 * @param url the path to TOC.xml
	 * @param xPathString the short format searched node path
	 * @throws DocumentException
	 * 
	 * sample xPathString : "fk:AMM24_fk:AMM24-FM_dk" 
	 */
	@SuppressWarnings({ "unchecked" })
	public String getJson(URL url, String xPathString) throws Exception
	{
		Document TOCDoc = util.getDocument(url);
		String jsonString = "[";

		Element node = null;
		if (xPathString.equals("/"))
		{

			node = TOCDoc.getRootElement();
		}
		else
		{
			String realXPathString = pathMapping(xPathString);
			System.out.println(realXPathString);
			node = (Element) TOCDoc.selectSingleNode(realXPathString);
		}
		//List<Element>  li = node.elements();
		for (Iterator<Element> i = node.elementIterator(); i.hasNext();)
		{
			Element elem = (Element) i.next();
			String eleName = elem.getName();
			Boolean hasChildren = false;
			if ((elem.elements().size() > 0))
			{
				hasChildren = true;
				//current element has children itself, state shoud be "closed"

			}
			List<Attribute> list = elem.attributes();
			String titleAttrContent = elem.attributeValue("title");
			//Boolean isFileAttr = false;
			String fileAttrContent = elem.attributeValue("file");
			//if  (fileAttrContent.isEmpty() )
			if (eleName == "doc")
			{
				//doc element always has "file" attribute

				for (Attribute attribute : list)
				{
					jsonString = jsonString.concat("{");
					String attrName = attribute.getName();
					//System.out.println("doc arribute Name : " + attrName);
					//each one has to have "data" line, "attr" line "state" line and "children" line
					jsonString = jsonString.concat("'data':'").concat(titleAttrContent).concat("',");
					if (attrName.equals("key"))
					{
						String keyContent = elem.attributeValue("key");
						jsonString = jsonString.concat("'attr':{'id':'").concat(xPathString).concat("_dk:").concat(keyContent).concat("','file':'").concat(fileAttrContent).concat("'}");

						break;
					}
					else if (attrName.equals("trnum"))
					{

						String trnumContent = elem.attributeValue("trnum");
						jsonString = jsonString.concat("'attr':{'id':'").concat(xPathString).concat("_dtrn:").concat(trnumContent).concat("','file':'").concat(fileAttrContent).concat("'}");

						break;
					}
					/*		else if (attrName.equals("type"))//type attribute for doc element won't determite what exactly the element is 
							{
								String typeContent = elem.attributeValue("type");
								//doc element has type "history"
								if (typeContent == "history"){
									jsonString = jsonString.concat("'attr':{'id':'").concat(xPathString).concat("_dth,");
								}else if (typeContent == "?????"){
									//any values for type attribute need to concern???? 
								}

							}
							else if (attrName.equals("file"))
							{

							}*/
				}
				if (hasChildren)
				{
					//state set up as "closed" and no need to set up "children" field
					jsonString = jsonString.concat(",'state':'closed'");

				}
				else
				{
					//no need to put anything
					//jsonString = jsonString.concat("'state':'???'");
				}
				jsonString = jsonString.concat("},");
			}

			else if (eleName == "folder")
			{
				jsonString = jsonString.concat("{");
				for (Attribute attribute : list)
				{
					String attrName = attribute.getName();
					jsonString = jsonString.concat("'data':'").concat(titleAttrContent).concat("',");
					if (attrName.equals("key"))
					{
						String keyContent = elem.attributeValue("key");
						jsonString = jsonString.concat("'attr':{'id':'").concat(xPathString).concat("_fk:").concat(keyContent).concat("'}");
						if (fileAttrContent != null)
						{
							jsonString = jsonString.concat("','file':'").concat(fileAttrContent).concat("'}");
						}

						break;
					}
					else if (attrName.equals("type"))
					{
						String typeContent = elem.attributeValue("type");
						//doc element has type "history"
						if (typeContent == "history")
						{
							jsonString = jsonString.concat("'attr':{'id':'").concat(xPathString).concat("_fth,");

						}
						else if (typeContent == "?????")
						{
							//any values need to concern???? 
						}
						break;

					}

				}
				jsonString = jsonString.concat("},");
			}
			continue;
		}
		//return list;
		jsonString = jsonString.substring(0, jsonString.length() - 1);
		jsonString = jsonString.concat("]");
		return jsonString;

	}

	/*
	 * read xpathstring from post request and generate the real xpath for toc
	 */
	public String getXPathString()
	{
		//readPostRequest()
		return null;
	}

	/*
	 * post string looks like : "fk:LOETR_dtrn:TR12-118_fth_dth"
	 * it represents the inner doc elemnet:
	 * <folder key="LOETR" type="loetr" title="List of Effective TRs" file="loetr.html">
	 *		<doc type="tr" trnum="TR12-118" trdate="May 07/2012" title="[TR12-118] TASK AMM12-31-00-660-806 - Inspection and Removal of De-Hydrated Anti-Icing Fluid inside the Flight Control Surfaces" file="TR12-118.pdf" refloc="AMM12-31-00-660-806">
	 * 			<folder type="history" title="History of AMM12-31-00-660-806">
	 *   			<doc title="TASK 12-31-00-660-806 - Inspection and Removal of De-Hydrated Anti-Icing Fluid inside the Flight Control Surfaces" file="AMM12-31-00-660-806.pdf" type="history" refloc="AMM12-31-00-660-806"/>
	 * </folder>
	 * the xpath string should be:
	 * folder[@key="LOETR"]/doc[@trnum="TR12-118"]/folder[@type="history"]/doc[@type="history"]
	 * 
	 * 
	 * the String : "fk:AMM24_fk:AMM24-FM_dk:CTOC-24" 
	 * it represents the inner doc with attribute file="CTOC-24.pdf"
	 * the string : "fk:AMM24_fk:AMM24-00-00_fk:AMM24-00-00-02_dk:AMM24-00-00-700-801" represents
	 * <folder key="AMM24" title="CH 24 - Electrical Power">
	 *		<folder key="AMM24-FM" title="Front Matter">
	 * 			<doc key="CTOC-24" title="Table of Contents" file="CTOC-24.pdf"/>
	 *		</folder>
	 *		<folder key="AMM24-00-00" title="24-00-00 - General">
	 * 			<folder key="AMM24-00-00-02" title="General - Maintenance Practices">
	 *   			<doc key="AMM24-00-00-700-801" title="TASK 24-00-00-700-801 - AC Power, DC Power and Battery Maintenance Practice Recommendations" file="AMM24-00-00-700-801.pdf"/>
	 * 
	 * it can be even optimized as :
	 * "fk:AMM24_fk:00-00_fk:02_dk:AMM24-00-00-700-801"
	 * if the inner key fully include the previous key, omit it, otherwise use full string   
	 * the xpath string should be:
	 * folder[@key="AMM24"]/folder[@key="AMM24-00-00"]/folder[@key="AMM24-00-00-02"]/doc[@key="AMM24-00-00-700-801"]
	 *  
	 * if shortXPath is ?? which means the query based on the root of the document
	 * 
	 * 	 
	 */
	public String pathMapping(String shortXPath) throws Exception
	{
		String tagetString = null;
		if (shortXPath.equals(""))
		{
			tagetString = "//toc";
		}
		else
		{
			tagetString = "//";
		}

		int newStart = 0;
		String segString = "";
		String valueString = "";
		//dth???
		//need mapping all senarios
		//already??
		while (shortXPath.indexOf("_", newStart) > -1)
		{
			int keyValueSepPos = 0;
			String keyString = "";//not necessary key, might be type attribute
			segString = shortXPath.substring(newStart, shortXPath.indexOf("_", newStart));
			newStart = shortXPath.indexOf("_", newStart) + 1;//new start search point
			//System.out.println(newStart);
			if (segString.indexOf(":") > 0)
			{
				keyValueSepPos = segString.indexOf(":");
				keyString = segString.substring(0, keyValueSepPos);
				valueString = segString.substring(keyValueSepPos + 1);
				if (pathMap.get(keyString).length() > 0)
				{
					tagetString = tagetString.concat(pathMap.get(keyString));
				}
				else
				{
					throw new Exception("no mapping found");
				}
				tagetString = tagetString.concat("='").concat(valueString).concat("']/");
			}
		}
		//this is for scenerio either no "_" or sub string after "_"
		segString = shortXPath.substring(newStart);
		System.out.println(segString);
		if (segString.indexOf(":") > 0)
		{
			int lastKeyValueSepPos = segString.indexOf(":");
			String lastKeyString = segString.substring(0, lastKeyValueSepPos);
			String lastValueString = segString.substring(lastKeyValueSepPos + 1);
			if (pathMap.get(lastKeyString).length() > 0)
			{
				tagetString = tagetString.concat(pathMap.get(lastKeyString));
			}
			else
			{
				throw new Exception("no mapping found");
			}
			tagetString = tagetString.concat("='").concat(lastValueString).concat("']");
		}
		return tagetString;

	}

	public static void main(String[] args) throws Exception
	{
		XMLToJson x2j = new XMLToJson();
		String test = "fk:AMM24_fk:AMM24-FM";

		test = "";
		System.out.println(x2j.getJson(new URL("http://localhost:8080/WebNavSpring/q400/amm/toc.xml"), test));
		//System.out.println(x2j.pathMapping(test));

	}
}

easy clean code to convert XML to JSON .

By used in Major Airspace company , 2019-03-15 17:59:54
    @SuppressWarnings("unchecked")
    private void addEndpointsTags(JsonArray tagsArray) throws IOException {
        if (registeredHandlers == null || registeredHandlers.isEmpty()) {
            return;
        }
        TreeSet<String> handlerNamesSorted = new TreeSet<>(registeredHandlers.keySet());
        handlerNamesSorted.forEach(key -> {
            StringBuilder sb = new StringBuilder();
            sb.append("{\"name\":\"");
            sb.append(key);
            sb.append("\",\"request\":{\"name\":\"");
            try {
                ServiceMethodHandler handler = registeredHandlers.get(key);
                Class<? extends Message> requestClass = (Class<? extends Message>)
                        findSubClassParameterType(handler, 0);
                Class<? extends Message> responseClass = (Class<? extends Message>)
                        findSubClassParameterType(handler, 1);
                sb.append(requestClass.getSimpleName());
                sb.append("\",\"type\":\"");
                sb.append(requestClass.getSimpleName());
                sb.append("\",\"values\":[");
                sb.append(getProtobufClassFieldDescriptions(requestClass, new HashSet<>()));
                sb.append("]},\"response\":{\"name\":\"");
                sb.append(responseClass.getSimpleName());
                sb.append("\",\"type\":\"");
                sb.append(responseClass.getSimpleName());
                sb.append("\",\"values\":[");
                sb.append(getProtobufClassFieldDescriptions(responseClass, new HashSet<>()));
                sb.append("]},\"metadata\":{\"stream\":\"false\"}}");
            } catch (Exception e) {
                logger.error("Error inspecting handlers", e);
                return;
            }
            String tag = sb.toString();
            tagsArray.add(new JsonPrimitive("e-" + binaryEncode(tag)));
        });
    }
By Brian, 2019-08-13 15:13:37
http://localhost:52108/Trade/Details/1953452?class=pull-left
By Anonymous, 2018-01-05 10:23:21
    $partnerChargesRegular = $row['charges'];
    $partnerChargesIrregular = $row['charges'];
    if (!isset($partnerChargesIrregular) || $partnerChargesIrregular == "") {
      $partnerChargesIrregular = $partnerChargesRegular;
    }

Look. We take A from X and B from X. Then, you make a check, and if it is true you assing A to B. BUT A AND B ARE TAKEN FROM THE SAME X PLACE!!! HOW CAN THEY DIFFER?!?!!!?!?!?!?!!

By My boss, 2018-02-20 10:06:53
function focused(evt, errors) {
	let form = evt.target

	const output = errors.map((error)=> {

		// Find first component with error on form and set focus to it

		let focusedInput = (Object.keys(error) == "phonebookId") ? Object.keys(error) :
			(Object.keys(error) == "phonebook_str") ? Object.keys(error) :
				(Object.keys(error) == "message") ? Object.keys(error) :
					(Object.keys(error) == "image") ? Object.keys(error) :
						(Object.keys(error) == "buttonLink") ? Object.keys(error) :
							(Object.keys(error) == "messageSms") ? Object.keys(error) : false
		return focusedInput.shift()
	})

	const selector = output.shift()
	form.querySelector('[id="' + selector + '"]').focus()

	return selector

Shitcode

By Anonymous, 2021-05-28 01:16:05
public event EventHandler<Cles_graph_doivent_etre_redessines> les_graph_doivent_etre_redessines;
public void remove_event()
{
    if (this.les_graph_doivent_etre_redessines != null)
    {
        foreach (EventHandler<Cles_graph_doivent_etre_redessines> F_les_graph_doivent_etre_redessines in this.les_graph_doivent_etre_redessines.GetInvocationList())
        {
            this.les_graph_doivent_etre_redessines -= F_les_graph_doivent_etre_redessines;
        }
    }
}
By Anonymous, 2015-09-14 05:52:20
var lightBox_ReplaceSelectsWithSpans = function()
{
	var selects = document.getElementsByTagName('select');
	for (var i = 0; i < selects.length; i++) {
		var select = selects[i];
		if (select.clientWidth == 0 || select.clientHeight == 0 || 
			select.nextSibling == null || select.nextSibling.className == 'selectReplacement') {
			continue;
		}
			
		var span = document.createElement('span');
		// this would be "- 3", but for that appears to shift the block that contains the span 
		//   one pixel down; instead we tolerate the span being 1px shorter than the select
		span.style.height = (select.clientHeight - 4) + 'px';
		span.style.width = (select.clientWidth - 6) + 'px';
		span.style.display = 'inline-block';
		span.style.border = '1px solid rgb(200, 210, 230)';
		span.style.padding = '1px 0 0 4px';
		span.style.fontFamily = 'Arial';
		span.style.fontSize = 'smaller';
		span.style.position = 'relative';
		span.style.top = '1px';
		span.className = 'selectReplacement';
		
		span.innerHTML = select.options[select.selectedIndex].innerHTML ;//+ 
			//'<img src="custom_drop.gif" alt="drop down" style="position: absolute; right: 1px; top: 1px;" />';
		
		select.cachedDisplay = select.style.display;
		select.style.display = 'none';
		select.parentNode.insertBefore(span, select.nextSibling);
	}
};
By Anonymous, 2023-03-29 16:59:15
import cv2
import numpy as np

cap = cv2.VideoCapture(0)

while (1):

    _, frame = cap.read()

    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

    lower_green = np.array([40, 50, 50])
    upper_green = np.array([80, 102, 200])

    # Threshold the HSV image to get only green colors
    mask = cv2.inRange(hsv, lower_green, upper_green)

    total_pixels = mask.shape[0] * mask.shape[1]
    print "Number of pixels: %", total_pixels

    pixel_counter = 0
    x_counter = 0
    y_counter = 0
    for y in xrange(640):
        for x in xrange(480):
            pixel = mask[x, y]
            if pixel == 255:
                pixel_counter += 1
                x_counter += x
                y_counter += y
    x_center = x_counter / pixel_counter
    y_center = y_counter / pixel_counter
    print x_center, y_center

    cv2.line(frame, (x_center+15, y_center), (x_center+2, y_center), (235, 218, 100), 1)
    cv2.line(frame, (x_center-15, y_center), (x_center-2, y_center), (235, 218, 100), 1)
    cv2.line(frame, (x_center, y_center+15), (x_center, y_center+2), (235, 218, 100), 1)
    cv2.line(frame, (x_center, y_center-15), (x_center, y_center-2), (235, 218, 100), 1)

    cv2.circle(frame, (x_center, y_center), 4, (235, 218, 100), 2)

    cv2.imshow('frame', frame)

    k = cv2.waitKey(5) & 0xFF
    if k == 27:
        break

cv2.destroyAllWindows()

track the green color

By Vik.victory, 2017-06-23 19:11:14
<?php

$payload = '{ "products": [';
foreach ($products as $product) {
    $payload .= $product->toJson() . ',';
}
$payload = substr($payload, 0, \strlen($payload) - 1);
$payload .= ']}';
By sijolas, 2019-03-15 14:47:06
char *  dataFunc(){
    TCHAR tc[256];
    LONG tc_len = sizeof(tc);
    
    getData((LPBYTE)&tc, &tc_len);
    
    char * data = new char[tc_len];
    for(int i = 0;i < tc_len;i++)
        data[i] = tc[i];
    
    return data;
}
By Hook2, 2021-06-27 15:41:51
    public static class DecimalHelpers
    {
        /// <summary>
        /// Format a decimal XX.XX to XX,XX%.
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static string FormatToStringPercentageValue(this decimal value)
        {
            return value.ToString().Replace(".", ",").FormatToPercentageValue();
        }
    }
    
    public static class StringHelpers
    {
        /// <summary>
        /// Add % at the end of the string.
        /// </summary>
        /// <param name="value"></param>
        /// <returns></returns>
        public static string FormatToPercentageValue(this string value)
        {
            return string.Concat(value, "%");
        }
    }
By Anonymous, 2017-12-12 10:58:38
spring.datasource.password=#{@secretsManager.getJsonField('${DSP_DB_SECRET:}', 'password', @secretsManager.getString('${DSP_DB_PASSWORD_SECRET:}', '${DSP_DB_PASSWORD:}'))}

String boot, 3 env variables written as string containing code executable code which cannot be verified by compiler. Welcome to Java

By 7bits, 2022-02-01 19:17:55
{k: v for d in [{ key: { 0: x[0], } for key in x["name"] } for x in items] for k, v in d.items()}
By nooooooo, 2018-01-02 14:54:31
$orderDateTS = strtotime($data['ordertime']);
$nowTS = strtotime('now');
$diff = $nowTS - $orderDateTS;
$diff = $diff / 86400;
$dayDiff = floor($diff);

found in a shopware plugin

By Anon, 2020-04-03 14:16:07
class vggNet(nn.Module):
    def __init__(self, pretrained=True):
        super(vggNet, self).__init__()
        self.net = models.vgg16(pretrained=True).features.eval()

    def forward(self, x):


        out = []
        for i in range(len(self.net)):
            #x = self.net[i](x)
            x = self.net[i](x)
            #if i in [3, 8, 15, 22, 29]:
            #if i in [15]: #提取1,1/2,1/4的特征图
            if i in [8,15,22]: #提取1,1/2,1/4,1/8,1/16
                # print(self.net[i])
                out.append(x)
        return out

Some creepy feature extraction code I found attached to a research paper.

Features:

  • the "pretrained" parameter it's not actually used.
  • Just works (not so sure about that) with a vgg16, what if I want to use any other model?
  • They provided a spare copy of line 12, in case you lose one.
  • You can select a custom combination of layers by uncommenting the right if statement. A chinese explanation follows. Sometimes.
  • Why use pytorch hooks when you can write a 20+ lines class each time you need it?
By Baichuan Huang, 2021-05-21 19:21:58