def main(): s1 = "Hen linell bell nad yw'n bod," s2 = "Hen derfyn nad yw'n darfod." s1 = "Talog, boed law, boed heulwen, - y saif hi" s2 = "Er oes faith, anniben;" # s1 = "Wedi blwng ymosod blin, - encilio:" # s2 = "Wedi'n creithio dianc i'r eithin." s1 = "A'u gweld yn eu dillad gwaith - trwy'r oriau" s2 = "Yn rhwygo o greigiau eu goreugwaith" # s1 = "Mae antur dan y mintys - ac anial" # s2 = "Yw'r creithiau mâl lle bu'r crythau melys." s1 = "Wele rith fel ymyl rhod - o'n cwmpas," s2 = "Campwaith dewin hynod;" s1 = "Rhwydd gamwr, hawdd ei gymell - i'r mynydd" s2 = "a'r mannau anghysbell" cwpled = Cwpled(Llinell(s1), Llinell(s2)) dad = DadansoddwrPennill() cwc = dad.oes_cwpled_cywydd(cwpled) tod = dad.oes_toddaid(cwpled) tob = dad.oes_toddaid(cwpled, byr=True) toh = dad.oes_toddaid(cwpled, hir=True) if cwc[0]: print lliw.cyan('CWC') for ad in cwc[1]: print ad print cwc[2] elif tod[0]: print lliw.cyan('TOD') for ad in tod[1]: print ad print tod[2] elif tob[0]: print lliw.cyan('TOB') for ad in tob[1]: print ad print tob[2] elif toh[0]: print lliw.cyan('TOH') for ad in toh[1]: print ad print toh[2] else: print lliw.cyan('DIM') for ad in tob[1]: print ad print tob[2]
def main(): s1 = "Hen linell bell nad yw'n bod," s2 = "Hen derfyn nad yw'n darfod." s1 = "Talog, boed law, boed heulwen, - y saif hi" s2 = "Er oes faith, anniben;" # s1 = "Wedi blwng ymosod blin, - encilio:" # s2 = "Wedi'n creithio dianc i'r eithin." s1 = "A'u gweld yn eu dillad gwaith - trwy'r oriau" s2 = "Yn rhwygo o greigiau eu goreugwaith" # s1 = "Mae antur dan y mintys - ac anial" # s2 = "Yw'r creithiau mâl lle bu'r crythau melys." s1 = "Wele rith fel ymyl rhod - o'n cwmpas," s2 = "Campwaith dewin hynod;" s1 = "Rhwydd gamwr, hawdd ei gymell - i'r mynydd" s2 = "a'r mannau anghysbell" cwpled = Cwpled( Llinell(s1), Llinell(s2) ) dad = DadansoddwrPennill() cwc = dad.oes_cwpled_cywydd( cwpled ) tod = dad.oes_toddaid( cwpled ) tob = dad.oes_toddaid( cwpled, byr=True ) toh = dad.oes_toddaid( cwpled, hir=True ) if cwc[0]: print lliw.cyan('CWC') for ad in cwc[1]: print ad print cwc[2] elif tod[0]: print lliw.cyan('TOD') for ad in tod[1]: print ad print tod[2] elif tob[0]: print lliw.cyan('TOB') for ad in tob[1]: print ad print tob[2] elif toh[0]: print lliw.cyan('TOH') for ad in toh[1]: print ad print toh[2] else: print lliw.cyan('DIM') for ad in tob[1]: print ad print tob[2]
def run_demo(verbose=True): dad = DadansoddwrPennill() for key in [ 'cwpled_cywydd', 'toddaid_byr', 'toddaid', 'toddaid_hir', 'cywydd', 'englyn', 'cyhydedd_nawban', # 'hir_a_thoddaid' ]: val = penillion[key] for s in val: call(["clear"]) print '========================================' print key.upper() print '========================================' llinynnau = s.split('\n') llinellau = [Llinell(s) for s in llinynnau] pennill = Pennill(llinellau) ateb = dad.oes_mesur(pennill) if ateb: print lliw.cyan(ateb[0]) for adro in ateb[1]: if verbose: print adro else: print lliw.magenta( adro.cynghanedd) + ': ' + adro.llinell.llinyn( ).strip() else: print lliw.magenta('DIM') print '========================================' print try: aros = raw_input(">> bwrwch y dychwelwr i barhau ...") except KeyboardInterrupt: print return continue
def run_demo(verbose=True): dad = DadansoddwrPennill() for key in [ 'cwpled_cywydd', 'toddaid_byr', 'toddaid', 'toddaid_hir', 'cywydd', 'englyn', 'cyhydedd_nawban', # 'hir_a_thoddaid' ]: val = penillion[key] for s in val: call(["clear"]) print '========================================' print key.upper() print '========================================' llinynnau = s.split('\n') llinellau = [ Llinell(s) for s in llinynnau ] pennill = Pennill( llinellau ) ateb = dad.oes_mesur( pennill ) if ateb: print lliw.cyan( ateb[0] ) for adro in ateb[1]: if verbose: print adro else: print lliw.magenta(adro.cynghanedd) + ': ' + adro.llinell.llinyn().strip() else: print lliw.magenta('DIM') print '========================================' print try: aros = raw_input(">> bwrwch y dychwelwr i barhau ...") except KeyboardInterrupt: print return continue
def __unicode__(self): ss = [] ss.append( '------------------------------' ) # ss.append( 'Adroddiad:' ) ss.append( self.llinell.llinyn() ) ss.append( lliw.cyan( self.cynghanedd ) ) # # if self.cynghanedd: # ss.append( 'CNG: ' + self.cynghanedd ) # if self.aceniad: # ss.append( 'ACE: ' + self.aceniad ) # if self.bai: # ss.append( 'BAI: ' + self.bai ) # if self.sylwadau: # ss.append( 'SYL: ' + self.sylwadau ) if self.data: ss.append( self.text_strings() ) ss.append( '------------------------------' ) return '\n'.join(ss)
def main(args=None): # dechrau log.info('peiriant: dechrau') # parser = OptionParser(usage="%prog [-v] [-q] [-d] [llinyn] [-i infile] [-o outfile]", version="%prog: fersiwn 1.0", add_help_option=False) parser = OptionParser(usage="%prog [-v] [-q] [-d] [-p] [-r] [llinyn] [-i infile]", version="%prog: fersiwn 0.1", add_help_option=False) parser.add_option("-d", "--demo", action="store_true", dest="demo", help="showan off") parser.add_option("-p", "--penillion", action="store_true", dest="demo_penillion", help="mwy o showan off") parser.add_option("-v", "--verbose", action="store_true", dest="verbose", help="allbwn amleiriog") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", help="allbwn cryno") parser.add_option("-r", "--rhyddiaith", action="store_true", dest="rhyddiaith", help="mewnbwn rhyddiaith") parser.add_option("-i", "--input", dest="infile", help="ffeil mewnbwn") parser.add_option("-h", "--help", action="help", help="cymorth") parser.set_defaults(verbose=True, demo=False, rhyddiaith=False) (options, args) = parser.parse_args() # dosrannu'r dewisiadau llinyn = '' if not args: args = sys.argv[1:] else: llinyn = args[0] # 1. llinyn unigol neu demos if llinyn: dad = Dadansoddwr() adro = dad.oes_cynghanedd( Llinell( llinyn ) ) if options.verbose: print adro else: print lliw.magenta(adro.cynghanedd) + ': ' + llinyn.strip() return # 2. demos if options.demo: import demo demo.run_demo(verbose=options.verbose) return if options.demo_penillion: import demo_penillion demo_penillion.run_demo(verbose=options.verbose) return # 3. darllen o ffeil if options.infile: # rhyddiaith (hac, ond ok) if options.rhyddiaith: with codecs.open(options.infile, "r", "utf-8") as f: s = f.read() br = s.split('.') br = [b.strip() for b in br] brawddegau = [] for b in br: if len(b) > 0: brawddegau.append( b + u'.') print('----------------------------------------') dad = Dadansoddwr() for b in brawddegau: geiriau = [Gair(s) for s in b.split(' ')] ns = 0 idx_ch = 0 idx_dd = 1 rhestr = [] llinellau = [] while idx_dd < len(geiriau): while idx_dd < len(geiriau) and sum([ g.nifer_sillau() for g in geiriau[idx_ch:idx_dd] ]) < 7: rhestr.append( geiriau[idx_dd] ) idx_dd = idx_dd + 1 while sum([ g.nifer_sillau() for g in geiriau[idx_ch:idx_dd] ]) > 7: rhestr.reverse() rhestr.pop() rhestr.reverse() idx_ch = idx_ch + 1 if geiriau[idx_dd-1].llinyn() not in cy.geiriau_gwan: llinellau.append( Llinell( geiriau[idx_ch:idx_dd] ) ) idx_ch = idx_ch + 1 for llinell in llinellau: adro = dad.oes_cynghanedd( llinell ) if not adro.cynghanedd in ['DIM','SAL']: if options.verbose: print adro else: print lliw.magenta(adro.cynghanedd) + '\t' + adro.llinell.llinyn() print('----------------------------------------') return # cerdd with open(options.infile) as f: rhestr_llinynnau = f.readlines() # creu rhestr llinellau llinellau = [] for s in rhestr_llinynnau: s.strip() if re.search(r'^#', s) or re.search(r'^\s*$', s): continue llinellau.append( Llinell(s) ) # allbwn # if options.verbose: # print('========================================') # for llinell in llinellau: # print llinell.llinyn() # print('========================================') # dadansoddi pob llinell yn unigol (beth am doddeidiau? Mae angen darganfod cysylltnod) dad = Dadansoddwr() adro_llinellau_unigol = [] for llinell in llinellau: adro = dad.oes_cynghanedd( llinell ) adro_llinellau_unigol.append(adro) # profi mesurau dad = DadansoddwrPennill() pennill = Pennill(llinellau) cyw = dad.oes_cywydd( pennill ) eng = dad.oes_englyn( pennill ) cyh = dad.oes_cyhydedd_nawban( pennill ) hat = dad.oes_hir_a_thoddaid( pennill ) dosb = None if cyw[0]: dosb = 'CYW' adro = cyw[1] elif eng[0]: dosb = 'ENG' adro = eng[1] elif cyh[0]: dosb = 'CYH' adro = cyh[1] elif hat[0]: dosb = 'HAT' adro = hat[1] else: dosb = 'DIM' adro = adro_llinellau_unigol # allbwn print('----------------------------------------') if dosb: print lliw.cyan( dosb ) if adro: for ad in adro: if options.verbose: if ad.cynghanedd == 'DIM': print lliw.magenta( ad.cynghanedd ) print ad.llinyn_acenion() print ad.llinell.llinyn() else: print ad else: ss = ad.cynghanedd + ': ' + ad.llinell.llinyn().strip() if ad.cynghanedd == 'DIM': print lliw.magenta( ss ) else: print ss print('----------------------------------------') # diwedd print "hwyl fawr...\n" time_str = time.strftime("%Y.%m.%d.%H.%M.%S") log.info('peiriant: diwedd')
def llinyn_cytseinedd(self, html=False, blanksymbol=' '): if not html: ss_tor = list( self.llinyn_toriadau(blanksymbol=blanksymbol) ) ss_par = list( self.llinyn_cytseiniaid_cyfatebol(blanksymbol=blanksymbol) ) ss_tra = list( self.llinyn_cytseiniaid_traws(blanksymbol=blanksymbol) ) ss_cwt = list( self.llinyn_cytseiniaid_cynffon(blanksymbol=blanksymbol) ) ss_col = list( self.llinyn_acenion_colon(blanksymbol=blanksymbol) ) ss = [] for j in range( len(ss_col) ): if ss_tor[j] != blanksymbol: ss.append( ss_tor[j] ) elif ss_par[j] != blanksymbol: ss.append( lliw.cyan( ss_par[j] ) ) elif ss_tra[j] != blanksymbol: ss.append( lliw.coch( ss_tra[j] ) ) elif ss_cwt[j] != blanksymbol: ss.append( lliw.melyn( ss_cwt[j] ) ) elif ss_col[j] != blanksymbol: ss.append( ss_col[j] ) else: ss.append( blanksymbol ) return ''.join( ss ) else: nodau_cyfatebol = [] if self.data.has_key('parau'): nodau_cyfatebol += [nod for par in self.data['parau'] for nod in par] nodau_traws = [] if self.data.has_key('pengoll_dde'): nodau_traws += self.data['pengoll_dde'] nodau_cwt = [] if self.data.has_key('cwt_chwith'): nodau_cwt += self.data['cwt_chwith'] if self.data.has_key('cwt_dde'): nodau_cwt += self.data['cwt_dde'] geiriau_dethol = [] if self.data.has_key('gorffwysfeydd'): gorffwysfeydd = self.data['gorffwysfeydd'] if len(gorffwysfeydd) < 3: # sain geiriau_dethol.append( gorffwysfeydd[-1] ) else: # sain gadwynog geiriau_dethol.append( gorffwysfeydd[-2] ) geiriau_dethol.append(self.llinell.geiriau[-1]) ss = [] for g in self.llinell.geiriau: nodau_acen = [] if g in geiriau_dethol: ace = g.nodau_acennog() nodau_acen = [ ace[-1] ] if g.pwyslais() == -2: nodau_acen.append( ace[-2] ) s = [] for nod in g.nodau: if nod in nodau_acen: s.append( ':' ) elif nod in nodau_cyfatebol: s.append( '<span class="cytseiniaid_cyfatebol">' + nod.llinyn + '</span>' ) elif nod in nodau_traws: s.append( '<span class="cytseiniaid_traws">' + nod.llinyn + '</span>' ) elif nod in nodau_cwt: s.append( '<span class="cytseiniaid_cwt">' + nod.llinyn + '</span>' ) else: s.append( blanksymbol*len(nod.llinyn) ) ss.append( ''.join(s) ) if g in geiriau_dethol[:-1]: ss.append( '<span class="toriadau">|</span>' ) else: ss.append( blanksymbol ) return ''.join(ss)
def main(args=None): # dechrau log.info('peiriant: dechrau') # parser = OptionParser(usage="%prog [-v] [-q] [-d] [llinyn] [-i infile] [-o outfile]", version="%prog: fersiwn 1.0", add_help_option=False) parser = OptionParser( usage="%prog [-v] [-q] [-d] [-p] [-r] [llinyn] [-i infile]", version="%prog: fersiwn 0.1", add_help_option=False) parser.add_option("-d", "--demo", action="store_true", dest="demo", help="showan off") parser.add_option("-p", "--penillion", action="store_true", dest="demo_penillion", help="mwy o showan off") parser.add_option("-v", "--verbose", action="store_true", dest="verbose", help="allbwn amleiriog") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", help="allbwn cryno") parser.add_option("-r", "--rhyddiaith", action="store_true", dest="rhyddiaith", help="mewnbwn rhyddiaith") parser.add_option("-i", "--input", dest="infile", help="ffeil mewnbwn") parser.add_option("-h", "--help", action="help", help="cymorth") parser.set_defaults(verbose=True, demo=False, rhyddiaith=False) (options, args) = parser.parse_args() # dosrannu'r dewisiadau llinyn = '' if not args: args = sys.argv[1:] else: llinyn = args[0] # 1. llinyn unigol neu demos if llinyn: dad = Dadansoddwr() adro = dad.oes_cynghanedd(Llinell(llinyn)) if options.verbose: print adro else: print lliw.magenta(adro.cynghanedd) + ': ' + llinyn.strip() return # 2. demos if options.demo: import demo demo.run_demo(verbose=options.verbose) return if options.demo_penillion: import demo_penillion demo_penillion.run_demo(verbose=options.verbose) return # 3. darllen o ffeil if options.infile: # rhyddiaith (hac, ond ok) if options.rhyddiaith: with codecs.open(options.infile, "r", "utf-8") as f: s = f.read() br = s.split('.') br = [b.strip() for b in br] brawddegau = [] for b in br: if len(b) > 0: brawddegau.append(b + u'.') print('----------------------------------------') dad = Dadansoddwr() for b in brawddegau: geiriau = [Gair(s) for s in b.split(' ')] ns = 0 idx_ch = 0 idx_dd = 1 rhestr = [] llinellau = [] while idx_dd < len(geiriau): while idx_dd < len(geiriau) and sum( [g.nifer_sillau() for g in geiriau[idx_ch:idx_dd]]) < 7: rhestr.append(geiriau[idx_dd]) idx_dd = idx_dd + 1 while sum( [g.nifer_sillau() for g in geiriau[idx_ch:idx_dd]]) > 7: rhestr.reverse() rhestr.pop() rhestr.reverse() idx_ch = idx_ch + 1 if geiriau[idx_dd - 1].llinyn() not in cy.geiriau_gwan: llinellau.append(Llinell(geiriau[idx_ch:idx_dd])) idx_ch = idx_ch + 1 for llinell in llinellau: adro = dad.oes_cynghanedd(llinell) if not adro.cynghanedd in ['DIM', 'SAL']: if options.verbose: print adro else: print lliw.magenta( adro.cynghanedd) + '\t' + adro.llinell.llinyn( ) print('----------------------------------------') return # cerdd with open(options.infile) as f: rhestr_llinynnau = f.readlines() # creu rhestr llinellau llinellau = [] for s in rhestr_llinynnau: s.strip() if re.search(r'^#', s) or re.search(r'^\s*$', s): continue llinellau.append(Llinell(s)) # allbwn # if options.verbose: # print('========================================') # for llinell in llinellau: # print llinell.llinyn() # print('========================================') # dadansoddi pob llinell yn unigol (beth am doddeidiau? Mae angen darganfod cysylltnod) dad = Dadansoddwr() adro_llinellau_unigol = [] for llinell in llinellau: adro = dad.oes_cynghanedd(llinell) adro_llinellau_unigol.append(adro) # profi mesurau dad = DadansoddwrPennill() pennill = Pennill(llinellau) cyw = dad.oes_cywydd(pennill) eng = dad.oes_englyn(pennill) cyh = dad.oes_cyhydedd_nawban(pennill) hat = dad.oes_hir_a_thoddaid(pennill) dosb = None if cyw[0]: dosb = 'CYW' adro = cyw[1] elif eng[0]: dosb = 'ENG' adro = eng[1] elif cyh[0]: dosb = 'CYH' adro = cyh[1] elif hat[0]: dosb = 'HAT' adro = hat[1] else: dosb = 'DIM' adro = adro_llinellau_unigol # allbwn print('----------------------------------------') if dosb: print lliw.cyan(dosb) if adro: for ad in adro: if options.verbose: if ad.cynghanedd == 'DIM': print lliw.magenta(ad.cynghanedd) print ad.llinyn_acenion() print ad.llinell.llinyn() else: print ad else: ss = ad.cynghanedd + ': ' + ad.llinell.llinyn().strip() if ad.cynghanedd == 'DIM': print lliw.magenta(ss) else: print ss print('----------------------------------------') # diwedd print "hwyl fawr...\n" time_str = time.strftime("%Y.%m.%d.%H.%M.%S") log.info('peiriant: diwedd')