<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=LR_item_data.py</id>
	<title>LR item data.py - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=LR_item_data.py"/>
	<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=LR_item_data.py&amp;action=history"/>
	<updated>2026-05-20T21:40:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://performiq.com/kb/index.php?title=LR_item_data.py&amp;diff=3102&amp;oldid=prev</id>
		<title>PeterHarding at 06:11, 19 July 2009</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=LR_item_data.py&amp;diff=3102&amp;oldid=prev"/>
		<updated>2009-07-19T06:11:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:11, 19 July 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l187&quot;&gt;Line 187:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 187:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Python]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Python]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:LoadRunner]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:LoadRunner]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Examples]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=LR_item_data.py&amp;diff=2282&amp;oldid=prev</id>
		<title>PeterHarding at 07:33, 4 June 2008</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=LR_item_data.py&amp;diff=2282&amp;oldid=prev"/>
		<updated>2008-06-04T07:33:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:33, 4 June 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/usr/bin/env python&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#!/usr/bin/env python&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#--------------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-----&lt;/ins&gt;--------------------------------------------------------------------------&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import os&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import os&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
	<entry>
		<id>https://performiq.com/kb/index.php?title=LR_item_data.py&amp;diff=2281&amp;oldid=prev</id>
		<title>PeterHarding: New page: &lt;pre&gt; #!/usr/bin/env python #--------------------------------------------------------------------------  import os import re import sys import getopt  #------------------------------------...</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=LR_item_data.py&amp;diff=2281&amp;oldid=prev"/>
		<updated>2008-06-04T07:33:34Z</updated>

		<summary type="html">&lt;p&gt;New page: &amp;lt;pre&amp;gt; #!/usr/bin/env python #--------------------------------------------------------------------------  import os import re import sys import getopt  #------------------------------------...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
#--------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
import os&lt;br /&gt;
import re&lt;br /&gt;
import sys&lt;br /&gt;
import getopt&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
from datetime import datetime&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
Clean up LoadRuner script data blocks&lt;br /&gt;
&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
debug_level = 0&lt;br /&gt;
verbose_flg = False&lt;br /&gt;
&lt;br /&gt;
src_file    = None&lt;br /&gt;
tmp_file    = None&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def replace(action):&lt;br /&gt;
   bak_file = &amp;#039;bak/%s_%s.c&amp;#039; % (action, datetime.now().strftime(&amp;#039;%Y%m%d%H%M%S&amp;#039;))&lt;br /&gt;
&lt;br /&gt;
   if not os.path.exists(&amp;#039;bak&amp;#039;):&lt;br /&gt;
      os.mkdir(&amp;#039;bak&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
   os.rename(src_file, bak_file)&lt;br /&gt;
   os.rename(tmp_file, src_file)&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def reformat(action):&lt;br /&gt;
   global src_file&lt;br /&gt;
   global tmp_file&lt;br /&gt;
&lt;br /&gt;
   spacer      = None&lt;br /&gt;
   block       = None&lt;br /&gt;
   l_name      = 0&lt;br /&gt;
   l_value     = 0&lt;br /&gt;
&lt;br /&gt;
   in_ITEMDATA = False&lt;br /&gt;
&lt;br /&gt;
   src_file = &amp;#039;%s.c&amp;#039; % action&lt;br /&gt;
   tmp_file = &amp;#039;%s.new&amp;#039; % action&lt;br /&gt;
&lt;br /&gt;
   try:  &lt;br /&gt;
      f_in = open(src_file, &amp;#039;r&amp;#039;) &lt;br /&gt;
   except:&lt;br /&gt;
      sys.exit(1) &lt;br /&gt;
            &lt;br /&gt;
   try:         &lt;br /&gt;
      f_out = open(tmp_file, &amp;#039;w&amp;#039;)&lt;br /&gt;
   except:      &lt;br /&gt;
      sys.exit(1)&lt;br /&gt;
                &lt;br /&gt;
   p   = re.compile(&amp;#039;(  *)(&amp;quot;Name=[^&amp;quot;]*&amp;quot;) *, *(&amp;quot;Value=[^&amp;quot;]*&amp;quot;) *, *ENDITEM,(.*)&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
   for line in f_in.readlines():&lt;br /&gt;
      line = line[:-1]&lt;br /&gt;
      line = line.replace(&amp;#039;\t&amp;#039;, &amp;#039;   &amp;#039;)&lt;br /&gt;
&lt;br /&gt;
      if re.search(&amp;#039;ITEMDATA&amp;#039;, line):&lt;br /&gt;
         block   = []&lt;br /&gt;
         l_name  = 0&lt;br /&gt;
         l_value = 0&lt;br /&gt;
         spacer  = &amp;#039;&amp;#039;&lt;br /&gt;
         if debug_level &amp;gt; 0: print &amp;#039;ITEMDATA Start&amp;#039;&lt;br /&gt;
         in_ITEMDATA = True&lt;br /&gt;
         f_out.write(&amp;quot;%s\n&amp;quot; % line)&lt;br /&gt;
         continue&lt;br /&gt;
&lt;br /&gt;
      if in_ITEMDATA and re.search(&amp;#039;LAST&amp;#039;, line):&lt;br /&gt;
         if debug_level &amp;gt; 0: print &amp;#039;ITEMDATA End =========================================&amp;#039;&lt;br /&gt;
         in_ITEMDATA = False&lt;br /&gt;
         if debug_level &amp;gt; 0: print &amp;#039;len block = %d&amp;#039; % len(block)&lt;br /&gt;
         block_txt = &amp;#039;&amp;#039;&lt;br /&gt;
         for b in block:&lt;br /&gt;
            line = &amp;quot;%s%s,%s%s,%sENDITEM,%s\n&amp;quot; % (&lt;br /&gt;
                spacer,&lt;br /&gt;
                b[1],&lt;br /&gt;
                (&amp;#039; &amp;#039;*(l_name - len(b[1]) + 2)),&lt;br /&gt;
                b[2],&lt;br /&gt;
                (&amp;#039; &amp;#039;*(l_value - len(b[2]) + 2)),&lt;br /&gt;
                b[3])&lt;br /&gt;
            block_txt += line&lt;br /&gt;
         f_out.write(&amp;quot;%s&amp;quot; % block_txt)&lt;br /&gt;
         f_out.write(&amp;quot;%sLAST);\n&amp;quot; % spacer)&lt;br /&gt;
         if debug_level &amp;gt; 0: print &amp;#039;ITEMDATA End =========================================&amp;#039;&lt;br /&gt;
         spacer = None&lt;br /&gt;
         continue&lt;br /&gt;
&lt;br /&gt;
      if in_ITEMDATA:&lt;br /&gt;
         if debug_level &amp;gt; 0: print line&lt;br /&gt;
         m = p.search(line)&lt;br /&gt;
         if m:&lt;br /&gt;
            if debug_level &amp;gt; 0: print &amp;#039;[%s][%s][%s][%s]&amp;#039; % (m.group(1), m.group(2), m.group(3), m.group(4))&lt;br /&gt;
&lt;br /&gt;
            if not spacer:&lt;br /&gt;
               spacer = m.group(1)&lt;br /&gt;
            name   = m.group(2)&lt;br /&gt;
            value  = m.group(3)&lt;br /&gt;
            extra  = m.group(4)&lt;br /&gt;
&lt;br /&gt;
            l = len(name)&lt;br /&gt;
            if l &amp;gt; l_name:&lt;br /&gt;
               l_name = l&lt;br /&gt;
&lt;br /&gt;
            l = len(value)&lt;br /&gt;
            if l &amp;gt; l_value:&lt;br /&gt;
               l_value = l&lt;br /&gt;
&lt;br /&gt;
            block.append((spacer, name, value, extra))&lt;br /&gt;
            continue&lt;br /&gt;
&lt;br /&gt;
      f_out.write(&amp;quot;%s\n&amp;quot; % line)&lt;br /&gt;
&lt;br /&gt;
   f_in.close()&lt;br /&gt;
   f_out.close()&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def usage():&lt;br /&gt;
   USAGE = &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
     Usage:&lt;br /&gt;
&lt;br /&gt;
       $ lr__item_data.py -a Action&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   sys.stderr.write(USAGE)&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
def main(argv):&lt;br /&gt;
   global debug_flg, verbose_flg&lt;br /&gt;
&lt;br /&gt;
   action      = None&lt;br /&gt;
   replace_flg = False&lt;br /&gt;
&lt;br /&gt;
   #----- Process command line arguments ---------------------------------------&lt;br /&gt;
&lt;br /&gt;
   try:&lt;br /&gt;
      opts, args = getopt.getopt(argv, &amp;quot;a:dhf:rs:v&amp;quot;,&lt;br /&gt;
              [&amp;quot;action=&amp;quot;, &amp;quot;debug&amp;quot;, &amp;quot;help&amp;quot;, &amp;quot;file=&amp;quot;, &amp;quot;replace&amp;quot;, &amp;quot;script=&amp;quot;, &amp;quot;verbose&amp;quot;])&lt;br /&gt;
   except getopt.GetoptError:&lt;br /&gt;
      usage()&lt;br /&gt;
      sys.exit(2)&lt;br /&gt;
   else:&lt;br /&gt;
      for opt, arg in opts:&lt;br /&gt;
         if opt in (&amp;quot;-h&amp;quot;, &amp;quot;--help&amp;quot;):&lt;br /&gt;
            usage()&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
         elif opt in (&amp;quot;-a&amp;quot;, &amp;quot;--action&amp;quot;):&lt;br /&gt;
            action = arg&lt;br /&gt;
         elif opt in (&amp;quot;-f&amp;quot;, &amp;quot;--file&amp;quot;):&lt;br /&gt;
            action = arg&lt;br /&gt;
         elif opt in (&amp;quot;-r&amp;quot;, &amp;quot;--replace&amp;quot;):&lt;br /&gt;
            replace_flg = True&lt;br /&gt;
         elif opt in (&amp;quot;-s&amp;quot;, &amp;quot;--script&amp;quot;):&lt;br /&gt;
            action = arg&lt;br /&gt;
         elif opt in (&amp;quot;-v&amp;quot;, &amp;quot;--verbose&amp;quot;):&lt;br /&gt;
            verbose_flg = True&lt;br /&gt;
&lt;br /&gt;
   reformat(action)&lt;br /&gt;
&lt;br /&gt;
   if replace_flg:&lt;br /&gt;
      replace(action)&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
   main(sys.argv[1:])&lt;br /&gt;
&lt;br /&gt;
#-------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Python]]&lt;br /&gt;
[[Category:LoadRunner]]&lt;/div&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
</feed>