commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

r5767 - in trunk/gnue-reports: src/adapters/filters/Labels/labels utils


From: dneighbo
Subject: r5767 - in trunk/gnue-reports: src/adapters/filters/Labels/labels utils
Date: Wed, 28 Apr 2004 13:28:22 -0500 (CDT)

Author: dneighbo
Date: 2004-04-28 13:28:20 -0500 (Wed, 28 Apr 2004)
New Revision: 5767

Added:
   trunk/gnue-reports/utils/create-label-list.py
Modified:
   trunk/gnue-reports/src/adapters/filters/Labels/labels/LabelSpecs.py
Log:
LabelSpecs.py modified to have parameter that does NOT map alias to 
measurements.  This parameter is defaulted to map to not break existing 
code.

create-label-list.py has been added to create docbook article of 
available supported labels for a label-def.dat file.



Modified: trunk/gnue-reports/src/adapters/filters/Labels/labels/LabelSpecs.py
===================================================================
--- trunk/gnue-reports/src/adapters/filters/Labels/labels/LabelSpecs.py 
2004-04-27 12:49:37 UTC (rev 5766)
+++ trunk/gnue-reports/src/adapters/filters/Labels/labels/LabelSpecs.py 
2004-04-28 18:28:20 UTC (rev 5767)
@@ -51,11 +51,14 @@
 
     def startElement(self, name, attrs):
         if name == "labeldef":
-          self._measurements = attrs._attrs
-
-          self._labelSpecs[string.upper(attrs['name'])] = self._measurements
+          if _mapAlias == 1:
+            self._measurements = attrs._attrs
+            self._labelSpecs[string.upper(attrs['name'])] = self._measurements
         elif name == "alias":
-          self._labelSpecs[string.upper(attrs['brand'] + ' ' + attrs['part'])] 
= self._measurements
+           if _mapAlias == 1:
+             self._labelSpecs[string.upper(attrs['brand'] + ' ' + 
attrs['part'])] = self._measurements
+           else:
+             self._labelSpecs[string.upper(attrs['brand'] + ' ' + 
attrs['part'])] = attrs._attrs
 
         self._text = ""
 
@@ -72,8 +75,10 @@
 #
 # Load all label defs
 #
-def initLabelDefs(file):
+def initLabelDefs(file, mapAlias = 1):
   global _loaded
+  global _mapAlias
+  _mapAlias = mapAlias
   if not _loaded:
     parser = make_parser()
     parser.setContentHandler(MyHandler())
@@ -85,7 +90,7 @@
 #
 def getByName(name):
 
-  return _labelSpecs[name.upper()]
+  return _labelSpecs[name]
 
 
 #

Added: trunk/gnue-reports/utils/create-label-list.py
===================================================================
--- trunk/gnue-reports/utils/create-label-list.py       2004-04-27 12:49:37 UTC 
(rev 5766)
+++ trunk/gnue-reports/utils/create-label-list.py       2004-04-28 18:28:20 UTC 
(rev 5767)
@@ -0,0 +1,132 @@
+#!/usr/bin/env python
+#
+# This file is part of GNU Enterprise.
+#
+# GNU Enterprise is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 2, or (at your option) any later version.
+#
+# GNU Enterprise is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied
+# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with program; see the file COPYING. If not,
+# write to the Free Software Foundation, Inc., 59 Temple Place
+# - Suite 330, Boston, MA 02111-1307, USA.
+#
+# Copyright 2001-2004 Free Software Foundation
+#
+# FILE:
+# create-label-list.py
+#
+# DESCRIPTION:
+#
+# NOTES:
+
+import sys
+from gnue.reports.adapters.filters.Labels.labels import *
+
+class CreateLabelList:
+
+  def run(self):
+
+    LabelDef = {}
+
+    ## Assign Label Data File to parse
+    try:
+      LabelDataFile = sys.argv[1]
+    except:
+      print "You must define a Labels Data File."
+      sys.exit()
+
+    ## Determine if output file is to file or stdout
+    try:
+      LabelListFile = sys.argv[2]
+      try:
+        LabelListOutput = open(LabelListFile, "w")
+      except:
+        print "Cannot open %s for writing." % (LabelListFile)
+    except:
+      print "You must define and output file."
+
+
+    ## Load Data Def File w/o Mapping Alias Names Into Memory
+    LabelDef = LabelSpecs.initLabelDefs(LabelDataFile, 0)
+
+
+    self.WriteHeader(LabelListOutput, LabelDef)
+    self.WriteContent(LabelDef, LabelDataFile, LabelListOutput)
+    self.WriteFooter(LabelListOutput)
+
+    ## Close output file
+    LabelListOutput.close
+
+
+
+
+  def WriteContent(self, LabelInfo, InputFile, OutputFile):
+
+
+    ## Roll through each Alias and gather details
+    for key in LabelInfo.keys():
+      OutputFile.write("<row>\n")
+      AliasInfo = LabelSpecs.getByName(key)
+      for data in AliasInfo.keys():
+        OutputFile.write(("<entry>%s</entry>\n") % 
(AliasInfo[data].encode('ascii','replace')))
+#        OutputFile.write(("  %s : %s\n") % (data.encode('ascii','replace'), 
AliasInfo[data].encode('ascii','replace')))
+      OutputFile.write("</row>\n")
+
+
+
+
+
+
+  def WriteHeader(self, OutputFile, LabelInfo):
+    OutputFile.write("""<!doctype article public "-//OASIS//DTD DocBook 
V4.0//EN">
+
+<article>
+ <articleinfo>
+  <title>
+  Supported Label Filters
+ </title>
+ <subtitle>GNU Enterprise Reports</subtitle>
+ </articleinfo>
+<para>
+<table frame='all'><title>Supported Labels</title>
+<tgroup cols='4' align='left' colsep='1' rowsep='1'>
+<thead>
+<row>
+  <entry>Category</entry>
+  <entry>Brand</entry>
+  <entry>Part #</entry>
+  <entry>Description</entry>
+</row>
+</thead>
+<tfoot>
+<row>
+  <entry></entry>
+  <entry></entry>
+  <entry>Total Labels Supported:</entry>
+""")
+    OutputFile.write(("<entry>%s</entry>") % (len(LabelInfo)))
+    OutputFile.write("""</row>
+</tfoot>
+<tbody>
+""")
+
+
+
+  def WriteFooter(self, OutputFile):
+    OutputFile.write("""</tbody>
+</tgroup>
+</table>
+</para>
+</article>
+""")
+
+
+if __name__ == '__main__':
+  CreateLabelList().run()
\ No newline at end of file


Property changes on: trunk/gnue-reports/utils/create-label-list.py
___________________________________________________________________
Name: svn:executable
   + *





reply via email to

[Prev in Thread] Current Thread [Next in Thread]