objdictgen/objdictgen.py
changeset 0 4472ee7c6c3e
child 93 16c8ceea8f18
equal deleted inserted replaced
-1:000000000000 0:4472ee7c6c3e
       
     1 #!/usr/bin/env python
       
     2 # -*- coding: utf-8 -*-
       
     3 
       
     4 #This file is part of CanFestival, a library implementing CanOpen Stack. 
       
     5 #
       
     6 #Copyright (C): Edouard TISSERANT, Francis DUPIN and Laurent BESSARD
       
     7 #
       
     8 #See COPYING file for copyrights details.
       
     9 #
       
    10 #This library is free software; you can redistribute it and/or
       
    11 #modify it under the terms of the GNU Lesser General Public
       
    12 #License as published by the Free Software Foundation; either
       
    13 #version 2.1 of the License, or (at your option) any later version.
       
    14 #
       
    15 #This library is distributed in the hope that it will be useful,
       
    16 #but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    17 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       
    18 #Lesser General Public License for more details.
       
    19 #
       
    20 #You should have received a copy of the GNU Lesser General Public
       
    21 #License along with this library; if not, write to the Free Software
       
    22 #Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
       
    23 
       
    24 import getopt,sys,os
       
    25 from types import *
       
    26 
       
    27 from nodemanager import *
       
    28 
       
    29 def usage():
       
    30     print "\nUsage of objdictgen.py :"
       
    31     print "\n   %s XMLFilePath CFilePath\n"%sys.argv[0]
       
    32 
       
    33 try:
       
    34     opts, args = getopt.getopt(sys.argv[1:], "h", ["help"])
       
    35 except getopt.GetoptError:
       
    36     # print help information and exit:
       
    37     usage()
       
    38     sys.exit(2)
       
    39 
       
    40 for o, a in opts:
       
    41     if o in ("-h", "--help"):
       
    42         usage()
       
    43         sys.exit()
       
    44 
       
    45 fileIn = ""
       
    46 fileOut = ""        
       
    47 if len(args) == 2:
       
    48     fileIn = args[0]
       
    49     fileOut = args[1]
       
    50 else:
       
    51     usage()
       
    52     sys.exit()
       
    53 
       
    54 if __name__ == '__main__':
       
    55     if fileIn != "" and fileOut != "":
       
    56         manager = NodeManager()
       
    57         if os.path.isfile(fileIn):
       
    58             print "Parsing input file"
       
    59             result = manager.ImportCurrentFromFile(fileIn)
       
    60             if type(result) != UnicodeType:
       
    61                 Node = result
       
    62             else:
       
    63                 print result
       
    64                 sys.exit(-1)
       
    65         else:
       
    66             print "%s is not a valid file!"%fileIn
       
    67             sys.exit(-1)
       
    68         print "Writing output file"
       
    69         result = manager.ExportCurrentToFile(fileOut)
       
    70         if type(result) == UnicodeType:
       
    71             print result
       
    72             sys.exit(-1)
       
    73         print "All done"
       
    74