aboutsummaryrefslogblamecommitdiff
path: root/Tools/px4params/dokuwikiout.py
blob: 705b0bb5fb9102f76fb4bdab831348fb3598eb2d (plain) (tree)
1
2
3
4
5
6
7
8
9
                                   
             
 


                                                                                                                                                                        

                                                          
                                                           
                                                                                   


                                                        
                                                    






                                                            
                                       
                                                
                     

                                  
                                       
                                                
                     

                                  
                                       
                                                
                     

                                  
                                         

                                                            
                     


                                  
                          


                             
                                                      
                                
from xml.sax.saxutils import escape
import codecs

class DokuWikiTablesOutput():
    def __init__(self, groups):
        result = "====== Parameter Reference ======\nThis list is auto-generated every few minutes and contains the most recent parameter names and default values.\n\n"
        for group in groups:
            result += "==== %s ====\n\n" % group.GetName()
            result += "|< 100% 20% 20% 10% 10% 10% 30%>|\n"
            result += "^ Name ^ Description ^  Min ^  Max ^  Default ^ Comment ^\n"
            for param in group.GetParams():
                code = param.GetFieldValue("code")
                name = param.GetFieldValue("short_desc")
                min_val = param.GetFieldValue("min")
                max_val = param.GetFieldValue("max")
                def_val = param.GetFieldValue("default")
                long_desc = param.GetFieldValue("long_desc")

                name = name.replace("\n", " ")
                result += "| %s | %s |" % (code, name)

                if min_val is not None:
                    result += "  %s |" % min_val
                else:
                    result += " |"

                if max_val is not None:
                    result += "  %s |" % max_val
                else:
                    result += " |"

                if def_val is not None:
                    result += "  %s |" % def_val
                else:
                    result += " |"

                if long_desc is not None:
                    long_desc = long_desc.replace("\n", " ")
                    result += " %s |" % long_desc
                else:
                    result += " |"

                result += "\n"
            result += "\n"
        self.output = result;

    def Save(self, filename):
        with codecs.open(filename, 'w', 'utf-8') as f:
            f.write(self.output)