py/gadict_c5.py
changeset 404 cdfa6dfa9072
parent 403 241ecfe2ca3c
child 405 6208d07b30f0
equal deleted inserted replaced
403:241ecfe2ca3c 404:cdfa6dfa9072
    10     finame = sys.argv[1]
    10     finame = sys.argv[1]
    11 if len(sys.argv) >= 3:
    11 if len(sys.argv) >= 3:
    12     foname = sys.argv[2]
    12     foname = sys.argv[2]
    13 
    13 
    14 fin = io.open(finame, mode='r', buffering=1, encoding="utf-8")
    14 fin = io.open(finame, mode='r', buffering=1, encoding="utf-8")
    15 if foname is None:
       
    16     fout = sys.stdout
       
    17 else:
       
    18     fout = open(foname, "w")
       
    19 
       
    20 
    15 
    21 parser = gadict.Parser()
    16 parser = gadict.Parser()
    22 try:
    17 try:
    23     dom = parser.parse(fin)
    18     dom = parser.parse(fin)
    24 except gadict.ParseException as ex:
    19 except gadict.ParseException as ex:
    28         traceback.print_exc()
    23         traceback.print_exc()
    29     exit(1)
    24     exit(1)
    30 finally:
    25 finally:
    31     fin.close()
    26     fin.close()
    32 
    27 
       
    28 
    33 prelude = dom[0]
    29 prelude = dom[0]
    34 if prelude.name is not None:
    30 
    35     fout.write("_____\n\n00-database-short\n")
    31 with open(foname+".name", "w") as f:        # for dictfmt -s
    36     fout.write(prelude.name)
    32     if prelude.name is not None:
    37     fout.write("\n")
    33         f.write(prelude.name)
    38 if len(prelude.urls) > 0:
    34     f.write("\n")
    39     fout.write("_____\n\n00-database-url\n")
    35 
    40     for url in prelude.urls:
    36 with open(foname+".url", "w") as f:         # for dictfmt -u
    41         fout.write(url)
    37     if len(prelude.urls) > 0:
    42         fout.write("\n")
    38         f.write(prelude.urls[0])
    43 fout.write("_____\n\n00-database-info\n")
    39     f.write("\n")
       
    40 
       
    41 
       
    42 if foname is None:
       
    43     fout = sys.stdout
       
    44 else:
       
    45     fout = open(foname, "w")
       
    46 
    44 if prelude.name is not None:
    47 if prelude.name is not None:
    45     fout.write("Dictionary name: ")
    48     fout.write("Dictionary name: ")
    46     fout.write(prelude.name)
    49     fout.write(prelude.name)
    47     fout.write("\n\n")
    50     fout.write("\n\n")
    48 fout.write("Project URLs: ")
    51 fout.write("Project URLs: ")
    49 fout.write(" , ".join(prelude.urls))
    52 fout.write(" , ".join(prelude.urls))
    50 fout.write("\n\n")
    53 fout.write("\n\n")
    51 fout.write("Project licenses: ")
    54 fout.write("Project licenses: ")
    52 fout.write(", ".join(prelude.licences))
    55 fout.write(", ".join(prelude.licences))
       
    56 fout.write("\n\n")
       
    57 fout.write(prelude.about)
    53 fout.write("\n")
    58 fout.write("\n")
    54 
    59 
    55 for idx in range(1, len(dom)):
    60 for idx in range(1, len(dom)):
    56     article = dom[idx]
    61     article = dom[idx]
    57     fout.write("_____\n\n")
    62     fout.write("_____\n\n")