if cond: tt = re.sub( '\$\d', '.*', target ) yield ''' RewriteCond %%{REQUEST_URI} !^%(tt)s'''.strip() % locals() yield rule1( target, pfxs+lat) if cyr: yield ' '.join( ['#', cyr, pfxs] + encs) for e in encs: rcyr = cyr_is_reg and cyr or reg( cyr, enc=e)#, do_optz_partial =False) yield rule1( target, pfxs+rcyr) yield '' if __name__ == '__main__': import sys try: spc = sys.argv.remove( '--spc') or ' ' except: spc='' from svd_util import eutf eutf.fix_std_encoding() for a in sys.argv[1:]: a = a.decode( eutf.e_utf_stdout() and 'utf8' or 'cp1251') #print a for enc in ('utf8', 'cp1251'): print( enc, a) print( reg( a, enc, spc)) #rules-usage #for a in rule( '/detski/lego', 'lego', 'лего', pfxs= ['', 'detski'] ): print a # vim:ts=4:sw=4:expandtab
optz.append( 'weekly', help= 'входно седмично разписание: URL или файл; може няколко пъти' ) optz.append( 'daily', help= 'входно дневно разписание: URL или файл; може няколко пъти' ) optz.append( 'stream', help= 'източник за запис; може няколко пъти - към всяко разписание' ) optz.append( 'filter', help= 'допълнителен филтър съдържа-се-в-заглавието; може няколко' ) optz.text( 'save_plan', help= 'запис на резултатния списък в ТОВА.datetime' ) optz.text( 'save_input', help= 'запис на входящите данни в ТОВА.wd.kanal.datetime' ) optz.bool( 'save_text', help= 'запис на текста отделно ако не се събира в името в име.text' ) optz.bool( 'yesterday', help= 'днеска е вчера' ) optz.bool( 'today_daily', help= 'извлича датата от името на файла с дневното разписание' ) optz.str( 'channel_daily', help= 'за кой канал е файла с дневното разписание' ) optz.str( 'nalichni_opisi', help= 'файлов-шаблон за достъп до наличните описи' ) o,args = optz.get() if o.oenc: from svd_util.eutf import fix_std_encoding, filew fix_std_encoding( ENC= o.oenc) #print( '#', sys.stdout.encoding) def fopen( fn): if o.oenc: f = filew( o.oenc, fn) else: f = open( fn, 'w') return f for f in (o.filter or ()): INTITLES.append( f.lower().strip() ) import itertools kanali = [] kanali += [ da( bnr_kanali.get( o.channel_daily) or
optz.text( 'ienc', help= 'входно кодиране; подразбиране - автоматично' ) optz.text( 'oenc', help= 'изходно кодиране', ) optz.int( 'stranici', help= 'колко страници; подразбиране - според източника', default=0 ) optz.list( 'iztochnik', type= 'choice', choices= sorted( srcs), help= 'източник (%s), може няколко пъти; подразбиране - всички' % ' '.join( sorted( srcs)) ) optz.text( 'skriti', help= 'файл с филтрите') optz.bool( 'podrobno', help= 'показва извлечените имена') optz.bool( 'trij', help= 'изтрива филтрираните елементи вместо само да ги скрива/свива') optz,argz = optz.get() if optz.ienc=='auto': optz.ienc=None if optz.oenc: from svd_util.eutf import fix_std_encoding, filew fix_std_encoding( ENC= optz.oenc) def fopen( fn): if optz.oenc: f = filew( optz.oenc, fn) else: f = open( fn, 'w') return f Iztochnik.iztrij = optz.trij if optz.skriti: skriti = re_skriti( open( optz.skriti).read()) if optz.stranici: Iztochnik.stranici = optz.stranici if optz.podrobno: Iztochnik.podrobno = optz.podrobno for i in optz.iztochnik:# or srcs.keys(): prn( i) izt = srcs[i]( skriti) #if argz: url = argz[0] #try:
def fix_std_encoding(): eutf.fix_std_encoding()