[Erp5-report] r15220 - /erp5/trunk/products/ERP5Form/ScribusUtils.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Jul 16 10:01:17 CEST 2007


Author: jp
Date: Mon Jul 16 10:01:17 2007
New Revision: 15220

URL: http://svn.erp5.org?rev=15220&view=rev
Log:
Presentation cleanup (white spaces, tabs, method parameters).

Modified:
    erp5/trunk/products/ERP5Form/ScribusUtils.py

Modified: erp5/trunk/products/ERP5Form/ScribusUtils.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Form/ScribusUtils.py?rev=15220&r1=15219&r2=15220&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Form/ScribusUtils.py (original)
+++ erp5/trunk/products/ERP5Form/ScribusUtils.py Mon Jul 16 10:01:17 2007
@@ -211,7 +211,9 @@
       del default_groups[0:]
       for page_iterator in range(global_properties['page']):
         page_number = 'page_%s' % str(page_iterator)
-        default_groups.append(page_number)
+        
+	
+	default_groups.append(page_number)
     # default_groups list completed, need to update the form_groups
     # renaming form default group with list's first item
     form_view_id_object.rename_group('Default',
@@ -563,7 +565,6 @@
 
   def getPDFFile(self, file_descriptor):
     """ Get file content """
-
     return file_descriptor.open()
 
   security.declarePublic('setBackgroundPictures')
@@ -571,9 +572,9 @@
                             pdf_file,
                             object_names,
                             skin_folder,
-	                    desired_height,
-	                    desired_width,
-	                    resolution
+                            desired_height,
+                            desired_width,
+                            resolution
                             ):
     """
     extract background pictures from pdf file and convert them
@@ -609,6 +610,7 @@
     # going to the begining of the input file
     pdf_file.seek(0)
     # saving content
+    # saving content
     temp_pdf.write(pdf_file.read())
     temp_pdf.close()
 
@@ -619,10 +621,10 @@
     # launching second soft to convert from PPM to JPEG
     ScribusUtilstempsJPG = NamedTemporaryFile(mode="w+b")
     ScribusUtilstempsJPGName = NamedTemporaryFile().name
-    
+
     original_result= commands.getstatusoutput('identify %s' % (ScribusUtilstempsPDFName))
     result = commands.getstatusoutput('convert -density %s -resize %sx%s %s %s' % (resolution,desired_width,desired_height,ScribusUtilstempsPPMName + '*', 'jpg:' + ScribusUtilstempsJPGName))
-    
+
     number = ScribusUtilstempsJPGName.find('tmp')
     directory_tmp= ScribusUtilstempsJPGName[:(number+4)]
 
@@ -649,22 +651,22 @@
     final_image = getattr(skin_folder, object_names['page'] + '0')
     size_x = desired_height
     size_y = desired_width
-    
+
     return (size_x, size_y,real_size_x,real_size_y)
 
   security.declarePublic('getPageattributes')
   def getPageattributes (self,
-                    global_properties,
-	            pdf_file
-                    ):
+                         global_properties,
+                         pdf_file
+                        ):
     import commands
     from tempfile import NamedTemporaryFile
     # opening new file on HDD to save PDF content
     ScribusUtilsOriginalTempPDF= NamedTemporaryFile(mode= "w+b")
     ScribusUtilsOriginaltempsPDFName= NamedTemporaryFile().name
-    
+
     # going to the begining of the input file
-    
+
     # saving content
     temp_pdf = open(ScribusUtilsOriginaltempsPDFName,'w')
     # going to the begining of the input file
@@ -679,7 +681,7 @@
     ScribusUtilsOriginaltempsPPMName = NamedTemporaryFile().name
     original_result = commands.getstatusoutput('pdftoppm -r %s %s %s' % (72, ScribusUtilsOriginaltempsPDFName, ScribusUtilsOriginaltempsPPMName))
     original_result= commands.getstatusoutput('identify %s' % (ScribusUtilsOriginaltempsPPMName + '*'))
-	 	  
+
     pg_nbr = len(original_result[1].split('\n'))
     real_size_x = {}
     real_size_y = {}
@@ -694,7 +696,7 @@
       width_groups.append(actual_page_width)
       height_groups.append(actual_page_height)
     return (width_groups,height_groups)
-    
+
   security.declarePublic('setPropertySheetAndDocument')
   def setPropertySheetAndDocument(self,
                        global_properties,
@@ -787,14 +789,14 @@
 
   security.declarePublic('setPageProperties')
   def setPageProperties(self
-          ,properties_css_dict,
-          page_iterator
+          ,properties_css_dict
+          ,page_iterator
           ,page_id
-          ,page_height,
-	  page_width,
-	  original_page_width,
-	  original_page_height,
-	  width_groups,height_groups):
+          ,page_height
+          ,page_width,
+          ,original_page_width
+          ,original_page_height
+          ,width_groups,height_groups):
     """
     recover all CSS data relative to the current page and save these
     information in the output dict
@@ -852,35 +854,34 @@
             ,properties_css_dict
             ,field
             ,page_width
-            ,page_height,
-            page_iterator
+            ,page_height
+            ,page_iterator
             ,page_gap
             ,keep_page,
-	  original_page_width,
-	  original_page_height,properties_page,actual_width,actual_height):
+            ,original_page_width
+            ,original_page_height
+            ,properties_page,actual_width,actual_height):
     """
     recover all CSS data relative to the current page_object (field)
     and save these informations in the output dict
     """
     (field_name, properties_field) = field
     print "   => %s : %s" % (field_name,properties_field['rendering'])
-    	    
+
     # updating field properties if necessary
     if keep_page == 1:
       # document format is 1.3.* and define object position from the top-left
       # corner of the first page, whereas the field position is expected to
       # be found from the current's page top left corner.
       # that's why Y position must be updated
-      
+
       scaling_factor1= (page_width)/(properties_page['actual_width'])		
       scaling_factor2= (page_height)/(properties_page['actual_height'])
-      
+
       properties_field['position_y'] = \
          str(float(properties_field['position_y']) - \
          (actual_height + page_gap)* page_iterator)
-      
-
-			 
+
     # Processing object for CSS data
     # declaring dict containing all css data
     # _stand for general display
@@ -906,16 +907,16 @@
     # rendering on Mozilla and Konqueror)
     # do not match for TextArea (as it is a multiline object)
     if properties_field['type'] != 'TextAreaField':
-      if float(properties_field['size_y']) > 8.0:	    
+      if float(properties_field['size_y']) > 8.0:
         properties_css_object_stand['font-size'] = \
           str((scaling_factor2 *float(properties_field['size_y']))-5.5 ) + 'px'
         properties_css_object_error['font-size'] = \
           str((scaling_factor2 *float(properties_field['size_y']))-5.5) + 'px'
       else:
-	properties_css_object_stand['font-size'] = \
+        properties_css_object_stand['font-size'] = \
           str((scaling_factor2 *float(properties_field['size_y']))-3.5 ) + 'px'
         properties_css_object_error['font-size'] = \
-          str((scaling_factor2 *float(properties_field['size_y']))-3.5) + 'px'    
+          str((scaling_factor2 *float(properties_field['size_y']))-3.5) + 'px'
     else:
       properties_css_object_stand['font-size'] = \
         str(12) + 'px'
@@ -939,9 +940,9 @@
       properties_css_object_error['background'] = 'rgb(128,128,255)'
     elif properties_field['type'] != 'TextAreaField':
       properties_css_object_stand['background'] = '#F5F5DC'
-      properties_css_object_error['background'] = 'rgb(255,64,64)'      
+      properties_css_object_error['background'] = 'rgb(255,64,64)' # Previously #B9D9D4 - should become a parameter
     else:
-      properties_css_object_stand['background'] = '#F5F5DC'
+      properties_css_object_stand['background'] = '#F5F5DC' # Previously #B9D9D4 - should become a parameter
       properties_css_object_error['background'] = 'rgb(255,64,64)'
 
     # add completed properties (in our case only the class rendering the text
@@ -1124,13 +1125,10 @@
         print "    class=%s" % class_name
         for prop_id in properties_css_dict['standard'][class_name].keys():
           print "      prop:%s=%s" % (prop_id,properties_css_dict['standard'][class_name][prop_id])
-	
-      
+
+
     return properties_css_dict
 
-  
- 
-  
   security.declarePublic('setFinalProperties')
   def setFinalProperties(self
                         ,properties_css_dict
@@ -1146,11 +1144,7 @@
     properties_css_page['margin-top'] = "%spx" % str( page_height)
     properties_css_dict['head']['page_end'] = properties_css_page
     return properties_css_dict
-  
-  
-  
-  
-    
+
   security.declarePublic('generateOutputContent')
   def generateOutputContent(self
                      ,properties_css_dict
@@ -1199,10 +1193,7 @@
       form_css_content += output_string + "\n"
     # return final String
     return form_css_content
-    
-    
-    
-    
+
   security.declarePublic('createOutputFile')
   def createOutputFile(self
                       ,form_css_content
@@ -1213,19 +1204,15 @@
     the form_css_content
     """
     factory.addDTMLDocument(form_css_id,"css",form_css_content)
-  
-  
-  
-  
+
+
 class ScribusParser:
   """
   Parses a Scribus file (pda) with PDF-elements inside
   """
-  
   #declare security
   security = ClassSecurityInfo()
-  
-  
+
   security.declarePublic('getObjectTooltipProperty')
   def getObjectTooltipProperty(self, check_key, default_value, object_name, object_dict):
     """
@@ -1253,8 +1240,6 @@
       + ": using " + str(default_value))
       return default_value
 
-
-      
   security.declarePublic('getXmlObjectPropertiesDict')
   def getXmlObjectsPropertiesDict(self, xml_string):
     """
@@ -1262,11 +1247,11 @@
     a full dict of 'PAGE', containing a dict of 'PAGEOBJECT',
     containing a dict of all the relative attributes
     """
-    
+
     # Create DOM tree from the xml string
     print " > create DOM tree"
     dom_tree = minidom.parseString(xml_string)
-    
+
     # creating the root from the input file
     dom_root = dom_tree.documentElement
 
@@ -1286,39 +1271,38 @@
       print " Bad Scribus document format : no 'Version' property "
       return (None,keep_page,0)
     else:  
-	    
+
       version = dom_root.attributes["Version"].value
       if version[:3] == "1.2" :
         # Scribus document format is 1.2
         print " found Scribus document format 1.2"
-        
+
         #making a listing of all the PAGE objects
         print " > making listing of all PAGE objects"
         page_list = dom_root.getElementsByTagName("PAGE")
-        
+
         returned_page_dict = {}
-    
+
         #for each PAGE object, searching for PAGEOBJECT
         for page in page_list:
 
-      
           # getting page number
           # parsing method from the previous ScribusUtils
           page_number = -1
           if 'NUM' in page.attributes.keys():
             page_number = str(page.attributes['NUM'].value)
-        
+
           print "  > PAGE NUM=" + str(page_number)
-      
+
           # making a listing of all PAGEOBJECT in a specified PAGE
           page_object_list = page.getElementsByTagName("PAGEOBJECT")
-      
+
           # initialising global output dictionary containing pages of elements
           returned_page_object_list = []
-      
+
           # for each PAGEOBJECT, building dict with atributes
           for page_object in page_object_list:
-          
+
             # initialising 
             returned_page_object = {}
             field_name = ''
@@ -1334,13 +1318,13 @@
               if node_name == 'ANNAME':
                 if node_value != '':
                   field_name = node_value.replace(' ','_')
-          
+
             if field_name != '' :
               #if 'PAGEOBJECT' has a valid name, then adding it to the global
               #dictionary containing all the 'PAGEOBJECT' of the 'PAGE'
               returned_page_object_list.append(returned_page_object)
               print "    > PAGEOBJECT = " + str(field_name)
-            
+
           #after having scanned all 'PAGEOBJECT' from a 'PAGE', adding the
           #relative informations to the list of 'PAGE' before going to the next one
           #in case the page is not empty
@@ -1413,7 +1397,6 @@
         return (returned_page_dict,keep_page,page_gap)
 
 
-   
   security.declarePublic('getPropertiesConversionDict')
   def getPropertiesConversionDict(self, text_page_dict):
     """
@@ -1422,7 +1405,7 @@
     'PAGEOBJECT' attributes updated with standard attributes
     and special informations contained in the
     'ANTOOLTIP' attribute.
-    
+
     usefull attributes are
     - position & size
     - type & inputformat (for erp5 and html)
@@ -1431,26 +1414,25 @@
     - title information
     - other properties (read_only, multiline, etc.)
     - etc.
-    
+
     for each PAGE, all PAGEOBJECT are sorted according to their creation order
     'nb'
     """
 
     print "\n  => ScribusParser.getPropertiesConversion"
     returned_page_dict = {}
-    
+
     # declaring ScribusParser object to run other functions
     sp = ScribusParser()
-  
-    
+
     for page_number in text_page_dict.keys():
       # iterating through 'PAGE' object of the document
       # id = page_number
       # content = page_content
       page_content = text_page_dict[page_number]
-      
+
       print " => PAGE = %s" % str(page_number)
-      
+
       # declaring special lists used to generate nb for all objects
       # this 'nb' property is usefull to define the object creation order
       # all objects are sorted (has nb / has no nb) and all objects without
@@ -1517,9 +1499,7 @@
             tooltipfield_properties_dict[tooltipfield_id] = \
                         tooltipfield_value
         # end of 'ANTOOLTIP' parsing
-        
-        
-        
+
         # getting usefull attributes from scribus 'PAGEOBJECT
         #and 'ANTOOLTIP'
         #
@@ -1536,7 +1516,6 @@
                                           '0',
                                           object_name,
                                           object_content)
-					  
         object_properties['size_x'] = \
              sp.getObjectTooltipProperty('WIDTH',
                                          '100',
@@ -1547,9 +1526,7 @@
                                            '17',
                                           object_name,
                                           object_content)
-				  
-       
-        
+
         # converting values to integer-compliant to prevent errors
         # when using them for that converting from 'str' -> 'float'
         # -> 'int' -> 'str'
@@ -1563,8 +1540,7 @@
               str(int(float(object_properties['size_x'])))
         object_properties['size_y'] = \
               str(int(float(object_properties['size_y'])))
-	
-       
+
         # getting object title
         # object title can only be user-specified in the 'tooltip' dict
         object_properties['title'] = \
@@ -1572,8 +1548,7 @@
                                           object_name,
                                           object_name,
                                           tooltipfield_properties_dict)
-          
-        
+
         # getting object order position for erp5 form
         temp_order = \
             sp.getObjectTooltipProperty('order',
@@ -1581,7 +1556,6 @@
                                         object_name,
                                         tooltipfield_properties_dict)
 
-        
         if temp_order not in  ['left','right']:
           # temp_order invalid
           # trying to get it from its position in original Scribus file
@@ -1591,9 +1565,6 @@
             temp_order = 'left'
         object_properties['order'] =  temp_order
 
-        
-        
-        
         # getting special ANFLAG sub-properties
         temp_ANFLAG = long(sp.getObjectTooltipProperty('ANFLAG',
                                                        0,
@@ -1646,7 +1617,6 @@
         if temp_ANFLAG == long(def_readOnly):
           # 'read only" field
           anflag_properties['readOnly'] = 1
-        
 
         # getting maximum number of caracters the field can hold
         # note : only used for textfields ('StringField', 'IntegerField',
@@ -1665,8 +1635,7 @@
                                             object_name,
                                             object_content)
         print "      => MaxInput = %s" % object_properties['maximum_input']
-        
-        
+
         # getting object type :
         # first checking for user-specified type in 'tooltip' properties
         if tooltipfield_properties_dict.has_key('type'):
@@ -1741,8 +1710,6 @@
           object_properties['data_type'] = 'date'
           object_properties['default_data'] = '1970/01/01'
 
-        
-          
         # getting 'required' property
         # checking for user data in tooltipfield. if nothing found then
         # taking hard-written value in anflag properties
@@ -1751,8 +1718,7 @@
                                         anflag_properties['required'],
                                         object_name,
                                         tooltipfield_properties_dict)
-        
-          
+
         # getting type properties for special types
         object_properties['rendering'] = 'single'
         # Stringfields handle properties
@@ -1785,7 +1751,7 @@
                                             'ymd',
                                             object_name,
                                             tooltipfield_properties_dict)
-          
+
           # checking if field has date_only property
           object_properties['date_only'] = \
                 sp.getObjectTooltipProperty('date_only',
@@ -1809,7 +1775,7 @@
                                             '  ',
                                             object_name,
                                             tooltipfield_properties_dict)
-            
+
         # object is relationstringfield and needs some information
         if str(object_properties['type']) == 'RelationStringField':
           # has been tested successfully
@@ -1834,9 +1800,7 @@
                                             '0',
                                             object_name,
                                             tooltipfield_properties_dict)
-          
-        
-          
+
         # getting creation order from 'tooltip' properties
         # used to create ERP5 objects in a special order
         if tooltipfield_properties_dict.has_key('nb') and \
@@ -1876,12 +1840,11 @@
           LOG("WARNING : " + str(object_name),0,"no 'nb' defined : finding a free slot")
           print "      => no 'nb' property specified : post-processing will try to define one"
           nb_property_nonbkey_list.append(object_name)
-          
+
         # adding current object with its relative properties to the dict
         # before going to the next page_object
         returned_object_dict[object_name] = object_properties
-        
-        
+
       # final processing before returning full page with modified
       # page_object_properties : setting 'nb' property to all objects
       # without user-specified 'nb' property
@@ -1893,7 +1856,7 @@
         # to give them a 'nb' property
         nb_property_nbkey_list.append((object_position,object_name))
         print "    => 'nb' found for %s : %s" % (object_name,object_position)
-      
+
       # now all page_object are referenced in the list, we just need to sort
       # the elements in the good order. for that a new list of objects is needed
       returned_object_list = []
@@ -1905,21 +1868,14 @@
         returned_object_dict[nb_value]['nb'] = nb_ind + 1
         # add the object at the end of the new list
         returned_object_list.append((nb_value,returned_object_dict[nb_value]))
-        
-      
+
       # adding returned list of object to the page dict
       # before going to the next page
       returned_page_dict[page_number] = returned_object_list
-      
-      
-    
+
     # returning final dict containing all the modified data
     print "  => end ScribusParser.getPropertiesConversion"
     return (returned_page_dict)
-
-
-
-
 
   security.declarePublic('initFieldDict')
   def initFieldDict(self):




More information about the Erp5-report mailing list