/**
 * 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
 filterForProvincia() {
    console.log('ciao');
 }

The last line of code of a parting Developer

By Anonymous, 2019-07-23 11:31:51
$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
product = None
for key in dictionary.keys():
	if product is None:
		product = dictionary[key]
	else:
		product = itertools.product(product, dictionary[key])

product = "{0}".format(list(product))
product = re.sub(r"\), \(+", "], [", product)
product = re.sub(r"\(+", "[", product)
product = product.replace(")]", "]]").replace(")", "")
product = ast.literal_eval(product)

Ok, I have a weird array of objects as output of itertools and I need an array of strings... 1 - Convert the array to string 2 - Clean it up with regex and replace 3 - Convert the string to array 4 - Problem solved

By AnonimaPitoni, 2018-09-06 00:27:34
Native XML structure:

<?xml version="1.0" encoding="utf-8" ?>
<tree>
    <node name="root">
        <node name="TELEVISIONS">
            <node name="TUBE"/>
            <node name="LCD"/>
            <node name="PLASMA"/>
        </node>
        <node name="PORTABLE ELECTRONICS">
            <node name="MP3 PLAYERS">
                <node name="FLASH"/>
            </node>
            <node name="CD PLAYERS"/>
            <node name="2 WAY RADIOS"/>
        </node>
    </node>
</tree>

Flattened XML structure (example 1):

<tree>
  <node key="0">root</node>
  <node key="1" parent="0">TELEVISIONS</node>
  <node key="2" parent="1">TUBE</node>
  <node key="3" parent="1">LCD</node>
  <node key="4" parent="1">PLASMA</node>
  <node key="5" parent="0">PORTABLE ELECTRONICS</node>
  <node key="6" parent="5">MP3 PLAYERS</node>
  <node key="7" parent="6">FLASH</node>
  <node key="8" parent="5">CD PLAYERS</node>
  <node key="9" parent="5">2 WAY RADIOS</node>
</tree>

Flattened XML structure (example 2):

<tree>
    <node>
        <name>root</name>
        <depth>0</depth>
    </node>
    <node>
        <name>TELEVISIONS</name>
        <depth>1</depth>
    </node>
    <node>
        <name>TUBE</name>
        <depth>2</depth>
    </node>
    <node>
        <name>LCD</name>
        <depth>2</depth>
    </node>
    <node>
        <name>PLASMA</name>
        <depth>2</depth>
    </node>
    <node>
        <name>PORTABLE ELECTRONICS</name>
        <depth>1</depth>
    </node>
    <node>
        <name>MP3 PLAYERS</name>
        <depth>2</depth>
    </node>
    <node>
        <name>FLASH</name>
        <depth>3</depth>
    </node>
    <node>
        <name>CD PLAYERS</name>
        <depth>2</depth>
    </node>
    <node>
        <name>2 WAY RADIOS</name>
        <depth>2</depth>
    </node>
</tree>
By Anonymous, 2015-11-19 12:32:25

var move=0;
var kier=0;
var pic=0;
var rol=0;

var rol2=171;
var rol3=343;
var rol4=514;
var rol2_cel=171;
var rol3_cel=343;
var rol4_cel=514;

function onpic(p) {
  pic=p;
}

function offpic(p) {
  if( pic==p ) pic=0;
}

 function next() { if(move<40) move = 40; kier=0; }
 function prev() { if(move<40) move = 60; kier=1; }
 function set() {
  document.getElementById('ba1').style.left=0;
  document.getElementById('ba2').style.left=rol2;
  document.getElementById('ba3').style.left=rol3;
  document.getElementById('ba4').style.left=rol4;
}


function SetOpacity(object,opacityPct)
{
  // IE.
  object.style.filter = 'alpha(opacity=' + opacityPct + ')';
  // Old mozilla and firefox
  object.style.MozOpacity = opacityPct/100;
  // Everything else.
  object.style.opacity = opacityPct/100;
}


var randtim=new Array(110,103,130,125,108,118,112,122,101,100);
var showtimer=0;
var showpic=1;

 
 function Animuj() {
   if( pic==0 ) {
     rol2_cel=171;
     rol3_cel=343;
     rol4_cel=514;
   } else if( pic==1 ) {
     rol2_cel=342;
     rol3_cel=457;
     rol4_cel=571;
   } else if( pic==2 ) {
     rol2_cel=115;
     rol3_cel=457;
     rol4_cel=571;
   } else if( pic==3 ) {
     rol2_cel=114;
     rol3_cel=229;
     rol4_cel=571;
   } else if( pic==4 ) {
     rol2_cel=114;
     rol3_cel=228;
     rol4_cel=344;
   }
   var a = (rol2-rol2_cel)/10; if(( a< -0.1 )&&( a> -1 )) a = -1; if(( a>0.1 )&&( a<1 )) a = 1;
   if( rol2!=rol2_cel ) rol2-= a;
   var a = (rol3-rol3_cel)/10; if(( a< -0.1 )&&( a> -1 )) a = -1; if(( a>0.1 )&&( a<1 )) a = 1;
   if( rol3!=rol3_cel ) rol3-= a;
   var a = (rol4-rol4_cel)/10; if(( a< -0.1 )&&( a> -1 )) a = -1; if(( a>0.1 )&&( a<1 )) a = 1;
   if( rol4!=rol4_cel ) rol4-= a;
   set();
    document.getElementById('ba2').style.left=rol2;



 showtimer+=1;
 if(showtimer>100) {
  for( st=0; st<9; ++st ) {
   if(showtimer==randtim[st]) { SetOpacity(document.getElementById("ps"+st), 0); document.getElementById("ps"+st).style.backgroundImage="url('cs/log"+showpic+".jpg')"; }
   if(showtimer==(randtim[st]+1)) SetOpacity(document.getElementById("ps"+st),20); 
   if(showtimer==(randtim[st]+2)) SetOpacity(document.getElementById("ps"+st),40); 
   if(showtimer==(randtim[st]+3)) SetOpacity(document.getElementById("ps"+st),60); 
   if(showtimer==(randtim[st]+4)) SetOpacity(document.getElementById("ps"+st),80); 
   if(showtimer==(randtim[st]+5)) { document.getElementById("pn"+st).style.backgroundImage="url('cs/log"+showpic+".jpg')"; SetOpacity(document.getElementById("ps"+st),0); }
  }
  if(showtimer>150) {
   showtimer=0;
   for( st=0; st<9; ++st ) randtim[st]=Math.floor(Math.random()*26)+100;
   showpic+=1; if(showpic>2) showpic=0;
  }
 }


 }

 window.setInterval("Animuj()", 50);

This is how public money is spent in poland

By Anonymous, 2019-05-29 18:35:09
function isEmpty(value) {
    if (value === '') {
        return false;
    } else if (value === 0) {
        return false;
    } else if (value === null) {
        return false;
    } else if (value === undefined) {
        return false;
    } else {
        return true;
    }
    return true;
}

javascript empty value check

By mr.js, 2017-12-13 11:43:20

class Timer extends React.Component{
    state ={
        time: 10
    };
    setInvt = () =>{
        let t = this.state.time
        if(t<=1){
            clearInterval(this.invertal)
        }
        this.setState({time: t-1})
    }
    componentDidMount(){
        this.invertal = setInterval(this.setInvt, 1000)
    }

    render(){
        return (<label>{this.state.time}</label>)
    }
}

export {Timer}
By Anonymous, 2021-07-30 21:13:46
int w = 100;

for (nil; w!=0; nil) {

    w -= 1;

    //so some shit
}

this code was found in chinese contract work

By JeanetteMueller, 2021-03-08 11:58:39
 const configs = {
    employeeObject: {
      // tab 0
      firstName: "",
      middleName: "",
      nickname: "",
      lastName: "",
      gender: "",
      race: "",
      title: "",
      dob: "",
      employeeIDNo: "",
      // tab 1
      userName: "",
      permissionRole: 0,
      employeeNo: "",
      phoneExt: "",
      startDate: "",
      company: "",
      division: "",
      jobDescription: "",
      businessUnit: "",
      regionId: "",
      participantStatus: "",
      costCentre: "",
      personType: "",
      comments: "",
      // tab 2
      phone1: "",
      phone2: "",
      phone3: "",
      address1: "",
      address2: "",
      address3: "",
      address4: "",
      postalCode: "",
      email: "",
    },

Why add another object with a title when you can just add a comment saying... well... nothing really...

By Mr Verster, 2022-04-08 14:19:12
// Method put on each input component to unregister
  // itself from the form
  detachFromForm: function detachFromForm(component) {
    var componentPos = this.inputs.indexOf(component);

    if (componentPos !== -1) {
      this.inputs = this.inputs.slice(0, componentPos).concat(this.inputs.slice(componentPos + 1));
    }

    this.validateForm();
  },

oh boy

By Anonymous, 2017-12-21 10:48:00
class {
    public State state;
    //enums cant take double values...
    public struct State
    {
        public const float IDLE = 0f;
        public const float WALKING = 0.5f;
        public const float RUNNING = 1f;
    }
    protected void Stop()
    {
        SetSpeed(State.IDLE);
    }
    protected void SetSpeed(float f)
    {
        agent.speed = f;
        if (agent.speed > 1f && agent.speed < 5f)
        {
            f = State.WALKING;
            agent.Resume();
        }
        else if (agent.speed > 5f)
        {
            f = State.RUNNING;
            agent.Resume();
        }
        else
        {
            f = State.IDLE;
            agent.Stop();
        }
    }
}

Who needs static float when you can have a constant in a nested struct, as a bonus State state has 0 references in the project

By SwagridOfficial, 2018-01-05 13:39:24
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
if(!defined('WPINC')) // MUST have WordPress.
	exit ('Do not access this file directly.');
	
	if(!class_exists('pluginName_options_page_class'))
{
	/**
	 * Menu page blah
	 *
	 * @package blah
	 * @since 140617
	 */
	class pluginName_options_page_class
	{
		public function __construct()
		{
			echo '<div class="wrap menu-page">'."\n";

			echo '<div class="wp-header-end"></div>'."\n";

			echo '<div class="menu-page-toolbox">'."\n";
			pluginName_some_other_class::display();
			echo '</div>'."\n";

			echo '<h2>Options</h2>'."\n";

			echo '<table class="menu-page-table">'."\n";
			echo '<tbody class="menu-page-table-tbody">'."\n";
			echo '<tr class="menu-page-table-tr">'."\n";
			echo '<td class="menu-page-table-l">'."\n";

			echo '<form method="post" name="plugin_options_form" id="plugin--options-form" autocomplete="off">'."\n";
			echo '<input type="hidden" name="plugin_options_save" id="plugin--options-save" value="'.esc_attr(wp_create_nonce('plugin--options-save')).'" />'."\n";

			echo '<div class="menu-page-group" title="Account Details">'."\n";
			
			/* includes things like this gem */
			echo (!is_multisite() || !pluginName_utils_conds::is_multisite_farm() || is_main_site()) ? '<p>[ Really Long message about something ]</p>'."\n" : '';

			/* ... continues until end ... */

			echo '</div>'."\n";
		}
	}
}

new pluginName_options_page_class ();

The entire file is a single class with a constructor. The constructor is ~ 1150 lines of echo statements with a few PHP conditionals thrown in. There are no other methods. The class is instantiated as soon as it is defined. Clever...

By Anonymous, 2020-11-10 06:08:16
int true = 0;
while (true)
{
    //do something
}

true = false

By noz1995, 2017-12-15 16:08:59