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
Beispiel #2
0
    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
Beispiel #3
0
    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:
Beispiel #4
0
 def fix_std_encoding():
     eutf.fix_std_encoding()