py/gadict_c5.py
changeset 537 a70ab6a33bfa
parent 532 fc91cce0dff8
child 554 59714b9033bc
equal deleted inserted replaced
536:c9f0064d8661 537:a70ab6a33bfa
    62 FOUT.write(", ".join(PRELUDE.licences))
    62 FOUT.write(", ".join(PRELUDE.licences))
    63 FOUT.write("\n\n")
    63 FOUT.write("\n\n")
    64 FOUT.write(PRELUDE.about)
    64 FOUT.write(PRELUDE.about)
    65 FOUT.write("\n")
    65 FOUT.write("\n")
    66 
    66 
       
    67 
       
    68 def attr_key(item):
       
    69     (word, (pron, attrs)) = item
       
    70     if not attrs:
       
    71         return "zzz"
       
    72     best_vattr = None
       
    73     for attr in attrs:
       
    74         if attr in ["v1", "v2", "v3"]:
       
    75             if not best_vattr or (best_vattr and best_vattr > attr):
       
    76                 best_vattr = attr
       
    77     if best_vattr:
       
    78         return best_vattr
       
    79     for attr in attrs:                      # single/plural
       
    80         if attr in ["s"]:
       
    81             return attr
       
    82     for attr in attrs:                      # comparative/superlative
       
    83         if attr in ["comp"]:
       
    84             return attr
       
    85     for attr in attrs:                      # Am/Br/Au
       
    86         if attr in ["Am"]:
       
    87             return attr
       
    88     return "zzz"
       
    89 
       
    90 
    67 for idx in range(1, len(DOM)):
    91 for idx in range(1, len(DOM)):
    68     article = DOM[idx]
    92     article = DOM[idx]
    69     FOUT.write("_____\n\n")
    93     FOUT.write("_____\n\n")
    70     title = "; ".join(article[0].keys())
    94     title = "; ".join(article[0].keys())
    71     FOUT.write(title)
    95     FOUT.write(title)
    72     FOUT.write("\n\n")
    96     FOUT.write("\n\n")
    73     for (word, (pron, attrs)) in article[0].items():
    97     defs = article[0].items()
       
    98     defs = sorted(defs, key = attr_key)
       
    99     for (word, (pron, attrs)) in defs:
    74         FOUT.write("  ")
   100         FOUT.write("  ")
    75         FOUT.write(word)
   101         FOUT.write(word)
    76         if pron is not None:
   102         if pron is not None:
    77             FOUT.write(" [")
   103             FOUT.write(" [")
    78             FOUT.write(pron)
   104             FOUT.write(pron)