示例#1
0
import sys
import datetime, calendar, time
import os.path
from svd_util import optz, datetimez
optz.text( 'year')
optz.text( 'hour')
optz.bool( 'ilocal')
optz.bool( 'olocal')
optz.bool( 'fake', '-n' )
optz,args = optz.get()

def delta( dt, what):
    v = getattr( optz, what)
    if v:
        iv = int(v)
        if v[0].isdigit():
            dt = dt.replace( **{ what: iv })
        else:
            if what == 'hour':
                what = 'seconds'
                iv = 3600*iv
            dt = dt + datetime.timedelta( **{ what: iv })
    return dt

for a in args:
    d = os.path.getmtime(a)

    dti = datetimez.timestamp2datetime( d, local= optz.ilocal)
    dt = dti
    dt = delta( dt, 'year')
    dt = delta( dt, 'hour')
示例#2
0
        if res != exp:
            print( '\n %(res)s ?=\n %(exp)s' % locals())
            assert res == exp
    for w,w1 in zip( t0.split(), t1.split() ):
        tst( hyphtext( w, **cfg), w1 )
    tst( hyphtext( t0, **cfg), t1 )
    print( t1)


if __name__ =='__main__':
    from svd_util import optz
    optz.help( u'''
    %prog [options] <infile  >outfile
    %prog [options] думи за пренасяне ...
    '''.rstrip())
    optz.text( 'hyphen',help= u'"тире" за отбелязване на пренасянето (меко/скрито-тире); подразбира се "%default"', default= config.hyphen )
    optz.bool( 'html',  help= u'ползва HTML-меко-тире %(HTML_HYPHEN)r (вместо горното)' % locals() )
    optz.str( 'start',  help= u'започва да променя след този текст' )
    optz.bool( 'htmlpre',   help= u'пропуска съдържанието на <pre>..</pre> групи' )
    optz.int( 'minsize',    help= u'думи под тази дължина не се пренасят; подразбира се %default', default =config.minsize )
    optz.bool( 'utf',   help= u'вх/изх utf8' )
    optz.bool( 'iutf',  help= u'вх  utf8' )
    optz.bool( 'iguess',help= u'вх  познай кодировката' )
    optz.bool( 'outf',  help= u'изх utf8' )
    optz.bool( 'i1251', help= u'вх  cp1251' )
    optz.bool( 'o1251', help= u'изх cp1251' )
    optz.bool( 'cp1251',help= u'вх/изх cp1251' )
    optz.bool( 'test',  help= u'самопроверка' )
    optz.bool( 'demo',  help= u'демо' )
    optz,args = optz.get()
示例#3
0
#XXX HACK shutil.copytree
_makedirs = os.makedirs
def makedirs( *a,**ka):
    if 1:
        ka['exist_ok'] = True
        return _makedirs( *a,**ka)
    else:
        #see svd_util.osextra.makedirs... py<=3.4
        try:
            _makedirs( *a,**ka)#, exist_ok =True)
        except OSError as e:
            if e.errno != errno.EEXIST: raise
os.makedirs = makedirs

from svd_util import optz
optz.text( 'include', '-i', help= 'these-only, regexp.match, applied over whole path' )
optz.text( 'exclude', '-x', help= 'these-skip, regexp.match, applied over whole path, has priority over --include' )
optz,argz = optz.get()

exclude = None
if optz.exclude:
    import re
    print( 'excluding:', optz.exclude)
    exclude = re.compile( optz.exclude)
include = None
if optz.include:
    import re
    print( 'including:', optz.include)
    include = re.compile( optz.include)

src,dst = argz[:2]
示例#4
0
optz.list( 'dirinclude', help= 'include dirpattern  (multiple)')
optz.bool( 'verbose', '-v')
optz.simvolni = True #',  '-L', help= 'обхожда и символни връзки')

ops = {
    os.rename : 'mv move',
    os.link   : 'ln link',
#   os.link   : 'cp copy',
    None:       'print'
}
op2op = {}
for op,names in ops.items():
    for n in names.split():
        op2op[n] = op

optz.text( 'op', type= 'choice', choices= ' '.join( sorted( ops.values())).split(),
    help= 'operation: ln/link mv/move cp/copy, default: print')

optz,argz = optz.get()

target = argz.pop( -1)

ops = []

def match1( f, p):
    return fnmatch.fnmatch( f,p)

def match( f, patterns):
    for p in patterns:
        if match1( f, p): return True

def included( a, inc, exc):
示例#5
0
Haikyuu
Лунтик
Терраформирование == Terra Formars

Хвост Феи == Gekijouban Fairy Tail

S\d{1,2}E\d+
''')


if __name__ == '__main__':

    srcs = dict( (d.__name__, d) for d in Iztochnik.__subclasses__())

    from svd_util import optz
    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)
示例#6
0
optz.simvolni = True  #',  '-L', help= 'обхожда и символни връзки')

ops = {
    os.rename: "mv move",
    os.link: "ln link",
    #   os.link   : 'cp copy',
    None: "print",
}
op2op = {}
for op, names in ops.items():
    for n in names.split():
        op2op[n] = op

optz.text(
    "op",
    type="choice",
    choices=" ".join(sorted(ops.values())).split(),
    help="operation: ln/link mv/move cp/copy, default: print",
)

optz, argz = optz.get()

target = argz.pop(-1)

ops = []


def match1(f, p):
    return fnmatch.fnmatch(f, p)


def match(f, patterns):
示例#7
0
                sizemins += o.cron_later_minutes

        print( t.minute, t.hour, t.day, t.month, '*',
                o.cron_user or '',
                o.cron,
                sizemins and '-m '+str(sizemins) or '',
                '--fname', fname,
                '--stream', x.stream,
             )

if __name__ == '__main__':

    from svd_util import optz
    optz.bool( 'html_strict',   help= 'хтмл-парсер: стриктен' )
    optz.bool( 'html_notfixed', help= 'хтмл-парсер: непоправен оригинален' )
    optz.text( 'ienc',          help= 'входно кодиране [автоматично]' )
    optz.text( 'oenc',          help= 'изходно кодиране [%default] (напр. за crontab)', )
    optz.text( 'cron',          help= 'прави crontab, пускайки тази команда (може с аргументи)')
#    optz.text( 'cron_file',     help= 'записва го в този файл, иначе stdout')
    optz.text( 'cron_user',     help= 'потребител за crontab, ако трябва' )
    optz.bool( 'cron_fname_notime',     help= 'без дата/час в резултатното име' )
    optz.int(  'cron_earlier_minutes',  help= 'пуска толкова минути по-рано')
    optz.int(  'cron_later_minutes',    help= 'спира толкова минути по-късно')
    optz.int(  'cron_later_percent',    help= 'спира толкова процента по-късно')
    optz.bool( 'nofilter',      help= 'всичко, без филтри' )
    optz.int(  'days',          help= 'филтър толкова дни от днес [%default]', default=1 )
    optz.append( 'force',       help= 'включва на запис, формат: канал-чч:мм-чч:мм[-име] но може без име', )
#   optz.bool( 'preferdaily',   help= 'при наличие на дневна и всичко, без филтри' )

    choices= list( bnr_kanali.keys())
    optz.append( 'channel',   choices= choices,
示例#8
0
fps = float_framepersecond
offset= min:sec
scale= float_time_scaler
title= instead-of-input-file-name
'''

from cutter import Cutter
from svd_util import optz, struct, eutf

optz.usage( '''%prog cutfile
 cutfile can be - for stdin
''')
optz.bool( 'do_nothing', '-n')
optz.bool( 'verbose', '-v')
optz.bool( 'makedir', '-d')
optz.text( 'path',      help= 'out-path' )
optz.text( 'metafname', help= 'out-metadata-filename' )
optz.text( 'infile',    help= 'input .wav if not in cutfile' )
#optz.text( 'inpath',    help= 'path for input files if relative, default=dirname(cutfile)-or-.' )
#optz.text( 'encoding',  default='utf8', help= 'default=%default' )
optz.text( 'album',     help= 'common title of all inputs' )
optz.text( 'offset',    help= 'mm:ss.s or ssss.s' )
optz.add(  'fps',   type=float, default=1, help= 'frame-per-second float for time-as-frames, default=%default' )
optz.add(  'scale', type=float, default=1, help= 'float coef to scale the times' )

import sys, re
from os.path import dirname, join

from svd_util.minsec import sec2minsec, prnsec, minsec2sec

def zaglavie(x): return x and x[0].upper() + x[1:]
示例#9
0
#!/usr/bin/env python
#svd'2k2-7
'better view onto python profiler results'
#XXX BEWARE That 2.4 - 2.5 - 2.6 have diff.file-format
try:
    from svd_util import optz
except:
    import os.path, sys
    p = os.path.realpath( __file__).split('/')
    sys.path.insert( 0, '/'.join( p[:-2]) )
    import optz #hope it lives in ..

optz.help( '%prog [options] [numberlines] infile')

optz.bool( 'hotshot',   help= 'load data as hotshot')
optz.text( 'strip',     help= 'regexp to strip from filenames; replaced with .#')
optz.text( 'rootstrip', default= '.*/(site-packages|python\d\.\d+)/',
    help= 'regexp to strip from filenames; replaced with ##; defaults to %defaults', )
optz.bool( 'withcalls', help= 'include call-stacks')
options,args = optz.get()

import re
import pstats
def func_strip_path(func_name):
    filename, line, name = func_name
    if options.rootstrip:
        filename = re.sub( options.rootstrip, '##', filename)
    if options.strip:
        filename = re.sub( options.strip, '.#', filename)
    return filename, line, name
    return func_name
示例#10
0
#!/usr/bin/env python
from __future__ import print_function

import sys
from svd_util import optz
optz.usage( '%prog [opts] wavfile[s]' )
optz.bool( 'verbose', '-v')
optz.text( 'outfile', '-o', help= 'outfile, "-" for stdout')
optz.int(  'maxsize', '-l', help= 'max size in MBs, per item')
options,args = optz.get()

def prn( *a):
    print( *a, file=sys.stderr)

import wave
o = None
oname = options.outfile
if oname == '-': oname = sys.stdout
sz = options.maxsize
totals = 0.0
oparams = None
for a in args:
    i = wave.open( a, 'r')
    params = (nchannels, sampwidth, framerate, nframes, comptype, compname) = i.getparams()
    iparams = params[:3]+params[4:]
    size = nframes/float(framerate)
    totals += size
    prn( '< %s: %.2f s' % (a, size,) , options.verbose and params or '')
    if oparams:
        assert iparams == oparams, (oparams, iparams)
    oparams = iparams
示例#11
0
iformats = formats
oformats = formats + 'text'.split()
ifmts = fullmap( iformats)
ofmts = fullmap( oformats)

from svd_util import optz
optz.usage( '%prog [options] files')
optz.str( 'input',  default='python', type='choice', choices = list(ifmts), help= f'input format [%default]: {", ".join(iformats)} ; initial letters also work')
optz.str( 'output', default ='html',  type='choice', choices = list(ofmts) + 'text'.split(), help= f'output format [%default]: {", ".join(oformats)} ; initial letters also work')
optz.str( 'subst_in',   help= 'file to put the output substituting some part (what/where depends on output-type, i.e. json_opera)')
optz.bool( 'flat' , help= 'dump')
#optz.bool( 'html',  help= 'out=.html')
#optz.bool( 'adr',   help= 'out=.adr')
#optz.bool( 'netscape',   help= 'out=.html, netscape/firefox/opera export dl/dt style')
optz.text( 'rootiname',  help= 'root = in[ /from/here ]')
optz.text( 'rootoname',  help= 'out[ /to/there ] = root')
optz.text( 'skip',   help= 'path/to/skip')
optz.bool( 'nounique',  help= 'ignore UNIQUEID' )
optz.bool( 'align',     help= '(for out=.adr)')
optz.bool( 'notrash',   help= 'ignore trash (for out=.adr)' )
optz.bool( 'nosort',    help= 'dont sort items' )
options,args = optz.get()

if options.nounique:
    Node.ATTRS.remove( 'UNIQUEID')
#from svd_util.eutf import readlines

options.output = ofmts[ options.output ]
options.input  = ifmts[ options.input ]
示例#12
0
left/right column separator = can be just space if names has no spaces
dont-check !:
dir/file  = some/thing!
wont-check roots:
dir/file  = /d/i/r..

specials:
dir/        -> dir/(.*).mp3->dir/the-single.mp3
--singles   -> auto-apply above, for all ./dirs that have single mp3
'''
ext_equivs = 'mp3 wma ogg'.split()
import sys
def printerr(*a,**k): print( file= sys.stderr, *a,**k)
from svd_util import optz
optz.text( 'base', help= 'base url')
optz.text( 'path', help= 'base filepath')
#optz.text( 'root', help=' root filepath, so root+ /base-url is valid filepath')
optz.bool( 'on',   help= 'RewriteEngine on')
optz.bool( 'singles',   help= 'for all ./dirs that have single mp3 inside, route dir/(.*).mp3->dir/the-single.mp3')
optz,args = optz.get()

#RewriteEngine on
if optz.on:   print( 'RewriteEngine on')
if optz.base: print( 'RewriteBase', optz.base)

path = optz.path or ''

from os.path import splitext, exists, isdir, join, dirname, basename
from glob import glob
示例#13
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import print_function

import os
join = os.path.join

from svd_util import optz
optz.help( 'apply moves-around-dirs/deletes from template/ into .')
optz.bool( 'real', '-y', )
optz.text( 'exclude', '-x', help= 'regexp',)
optz.list( 'ignore' , '-i', help= 'file/dir-names', default= [])
optz.bool( 'alsodirs' , help= 'check moving of dirs too')
optz.bool( 'dup2ignore' , help= 'ignore duplicates')
optz.text( 'deldir' , default='del', help= 'folder to move deleted items into [%default]')
optz,args = optz.get()
none = not optz.real

template = args[0].rstrip('/')

from collections import defaultdict
tree = {}
paths = set()

try: os.mkdir( 'del')
except Exception as e: print( e)

#optz.exclude = [ a.rstrip('/') for a in optz.exclude ]
exclude = None
if optz.exclude:
    import re
示例#14
0
    return root


def key4tree(x): return x.NAME #getattr( x, 'URL', '')
def key4flat(x): return x.URL, x.NAME


from svd_util import optz
optz.usage( '%prog [options] files')
optz.bool( 'o2py' )
optz.bool( 'py2o' )
optz.bool( 'ipy' )
optz.bool( 'align' )
optz.bool( 'flat' )
optz.bool( 'html', )
optz.text( 'root', )
optz.bool( 'nounique', help= 'ignore UNIQUEID' )
optz.bool( 'notrash',  help= 'ignore trash' )
options,args = optz.get()

if options.nounique:
    ATTRS.remove( 'UNIQUEID')
#from svd_util.eutf import readlines

#inp = codecs.getreader('utf-8')
for a in args:
    #r = '\n'.join( readlines( open( a )))
    r = open( a, encoding='utf-8').read().strip()

    if options.ipy or options.py2o:
        root = eval( r, dict(dict=Node) )
示例#15
0
#see http://hints.macworld.com/article.php?story=20080623213342356

from os.path import join
import os.path as ospath
import os, stat, shutil

from svd_util import optz, osextra
optz.list( 'exclude',    help= 'exclude filepattern (multiple)')
optz.list( 'include',    help= 'include filepattern (multiple)')
optz.list( 'direxclude', help= 'exclude dirpattern  (multiple)')
optz.list( 'dirinclude', help= 'include dirpattern  (multiple)')
optz.bool( 'dont',      '-n', help= 'dont actualy do anything')
optz.bool( 'verbose',   '-v', help= 'verbose')
optz.bool( 'linkusage', help= 'symlink used or unused links to archive/_used/ or _unused')
optz.text( 'orgarchive', help= 'path to the original hidden archive .HPF...')
optz.text( 'archive', help= 'archive-dir-name -instead of that hidden .HPF... [%DEFAULT]', default= '_archiv')
optz,argz = optz.get()

target  = argz.pop( -1)
archive = optz.archive

def match1( f, p):
    return fnmatch.fnmatch( f,p)
def match( f, patterns):
    for p in patterns:
        if match1( f, p): return True
def included( a, inc, exc):
    if inc and not match( a, inc): return
    if exc and match( a, exc): return
    return a
示例#16
0
#!/usr/bin/env python
# sdobrev 2012
'generate a (wiki) page from first __doc__ line/para of input python files (e.g. for github)'

try:
    from svd_util import optz
except:
    import os.path, sys
    p = os.path.realpath( __file__).split('/')
    sys.path.insert( 0, '/'.join( p[:-2]) )
    import optz #hope it lives in ..

import sys, os
optz.text( 'base',      help= 'base prefix for all links',)
optz.bool( 'wikilink',  help= 'show as [[name|link]]' )
optz.bool( 'mdlink',    help= 'show as [name](link)' )
optz.bool( 'para',      help= 'get whole first paragraph' )
optz.text( 'unprefix',  help= 'strip this prefix from input file names' )

optz,args = optz.get()
quotes = '"\''
items = {}
for f in args:
    opened = False
    for a in open(f):
        a = a.strip()
        if not a:
            if opened: break
            continue
        if not opened:
            if a[0]=='#': continue
示例#17
0
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from __future__ import print_function
from svd_util import optz
import os,sys

optz.bool( 'fake')
optz.text( 'input',  '-i', help= 'input encoding', default= 'utf8')
optz.text( 'output', '-o', help= 'output encoding')
optz,argz = optz.get()
#if opt('-icp1251', '-i=cp1251'): ienc = 'cp1251'
#if opt('-icp866', '-i=cp866'): ienc = 'cp866'
#if opt('-outf8', '-o=utf8'): oenc = 'utf8'

for x in argz:
    dir,x = os.path.split( x)
    fn = x.decode( optz.ienc)
    print( x, fn)
    if optz.fake: continue
    if optz.oenc: fn = fn.encode( optz.oenc)
    os.rename( *(os.path.join( dir,f) for f in (x, fn)))

# vim:ts=4:sw=4:expandtab
示例#18
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import ezodf
from ezodf.text import Paragraph, Heading, Span, ListItem, List, CN
from sla import sla, DictAttr, State
import lxml.etree
import sys

from svd_util import optz
optz.text( 'template')
optz,args = optz.get()

odt = ezodf.newdoc( doctype='odt', filename= args[0], template= optz.template )
body = odt.body
pic = body.find( CN("draw:frame"))
body.clear()
if pic: body.append( pic)

def Heading2(): return Heading( outline_level=2)
def Heading3(): return Heading( outline_level=3)

styles = {
   'h1': Heading,
   'h3': Heading2,
   'p' : Paragraph,
   'dd list-entry': ListItem,
   'dt list-hdr':   Heading3,
   'dt list-hdr0':  Heading3,
   'dl':  List,
   'ul':  List,
   'mail':  None,
示例#19
0
#!/usr/bin/env python
#sdobrev 2007-

from svd_util import optz
optz.help( '''default use is filter: %prog [options] input_encoding output_encoding <input >output
    output_encoding default is utf8 ;
    use "utf2" as special input_encoding to double decode utf8
''' .strip())
optz.bool( 'reverse', help= 'reverses each line' )
optz.text( 'input',   '-i', default= '-', help= 'input  filename, -/empty means stdin, default: stdin')
optz.text( 'output',  '-o', default= '-', help= 'output filename, = means overwrite input, -/empty means stdout, default: stdout')
#optz.bool( 'overwrite')
#optz.bool( 'unicodeio', help= 'i/o is utf, but encode2input+decode2output')
optz, argz = optz.get()

import codecs
import sys
import os

stdin = sys.stdin
stdout= sys.stdout
_v3 = sys.version_info[0]>=3
if _v3:
    stdin= stdin.buffer
    stdout=stdout.buffer

e_from = argz[0]
e_to = (argz[1:] or ['utf8'])[0]

utf2 = e_from == 'utf2'
if utf2: e_from = 'utf8'
示例#20
0
#!/usr/bin/env python3
# -*- coding: utf8 -*-
from svd_util import optz
optz.usage( '%prog [optz] ot-dir < ren-script-stdin')
#optz.optany( 'ot')
optz.text(  'link_kym',  help= 'направи ново дърво от връзки с този корен')
optz.bool( 'rename',     help= 'преименувай на място')
optz.bool( 'rename_alt', help= 'преименувай на място и остави символна връзка към старото име.alt')
optz.list( 'opis', help= 'подменя имена в опис ; може няколко пъти')
optz.bool( 'link_zagolemi_pootdelno', help= 'връзки: раздели заголеми/ на /moze /neizv ..')
optz.bool( 'nothing', '-n')
oparser = optz.oparser
optz,args = optz.get()

import os, sys, stat
from os.path import join, exists, dirname, basename, splitext

allfiles = {}
def link( ot, ikym, *pfxs):
    print( ot, ikym)
    ot = join( dir_ot, ot)
    assert exists( ot)
    if not optz.link_zagolemi_pootdelno and sum('zagolemi' in p for p in pfxs):
        pfxs = ['zagolemi']
    for pfx in pfxs:
        kym = join( optz.link_kym, pfx, ikym)
        ss = list( os.stat( ot) )   ## dict( size= ss[ stat.ST_SIZE], ..
        for ix in stat.ST_CTIME, stat.ST_NLINK:
            ss[ix] = None
        if kym in allfiles:
            old = allfiles[kym]
示例#21
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

from svd_util import optz
optz.usage( '%prog [options] < metatoc-script-stdin')
optz.text( 'outpath2opispath', help= 'какво да се добави към outpath за да се стигне до .../opis')
optz.bool( 'opis', help= 'състави опис')
optz.bool( 'toc',  help= 'състави .toc за CDTEXT')
optz.bool( 'cyr2lat',   help= 'ако cd-toc приема само латиница')
opts,args = optz.get()

import sys
import os.path
from svd_util import struct, py3
dictOrder = py3.dictOrder
DictAttr = struct.DictAttr

#allitems = []
#paths = dictOrder()
albumi = dictOrder()

def add( *items, **ka):
    #global allitems
    for i in items:
        i = DictAttr( i)
        #allitems.append( i)
        path = i.path
        opis = os.path.join( path, opts.outpath2opispath or '', 'opis')
        i.opis = opis
        ialbum = i.album or i.title
        try:
示例#22
0
        if save:
            open(url.replace("/", "__"), "wb").write(d)

    # remove hanging open <
    d = re.sub(b"<([^>]*?<)", rb"\1", d)
    # if d!=d1: print( 2222222)

    if ienc:
        d = d.decode(ienc)
    return d


from svd_util.struct import DictAttr
from svd_util import optz

optz.text("url", default="http://pozvanete.bg/imoti-prodava-offline&maxAds=100?page={npage}")
optz.int("pages", default=11)
optz.list("includes_info")
optz.list("excludes_name")
optz.bool("load")
optz.bool("save")
optz.bool("cache")
optz.bool("io", help="load+save")
optz.text("fload", default="danni.pozv", help="[%default]")
optz.text("fsave", default="danni.pozv", help="[%default]")
optz.bool("allprn", help="покажи всички въобще, а не само новите")
optz.bool("curprn", help="покажи всички сега-прочетени, а не само новите")
optz.text("merge", help="смеси тези данни")
optz.bool("podrobno", "-v", help="видимост!")
optz.bool("prezapis", help="презаписва дори и да няма нужда")
optz.bool("debug", help="само гледа входа")
示例#23
0
    None:       'print',
}
op2op = {}
for op,names in ops.items():
    for n in names.split():
        op2op[n] = op

import subprocess
def extern( s,t):
    subprocess.call( [optz.op, s, t ] )

def getop( optz):
    return op2op.get( optz.op, extern)

optz.text( 'op', #type= 'choice', #choices= ' '.join( sorted( ops.values())).split(),
    default= 'print',
    help= 'operation: ln/link mv/move cp/copy print, anyother - exec it; default: print')

optz,argz = optz.get()

target = argz.pop( -1)

def match1( f, p):
    return fnmatch.fnmatch( f,p)

def match( f, patterns):
    for p in patterns:
        if match1( f, p): return True

def included( a, inc, exc):
    #print( 444444, a, inc, exc)
示例#24
0
#!/usr/bin/env python2

import sys
import re
import subprocess, os

from svd_util import optz

optz.bool("dryrun", "-n")
optz.bool("verbose", "-v")
optz.bool("autoon")
optz.bool("nomenu")
optz.bool("noscan")
optz.bool("crypto", "-c")
optz.text("iface", default="wlan0")  # ath0
optz.text("essid")
optz, args = optz.get()

o_n = optz.dryrun
o_v = optz.verbose
o_menu = not optz.nomenu
o_scan = not optz.noscan
with_crypt = optz.crypto  # opt('-c', '--crypt', '--crypto')

iface = optz.iface or "ath0"

res = dict(
    addr=re.compile("Cell.*? - Address: ([0-9A-F:]+)"),
    essid=re.compile('ESSID:"([^"]*)"'),
    quality=re.compile("Quality[=:](\d+)/(\d+)"),
    crypto=re.compile("Encryption key:(on|off)"),
示例#25
0
import prikazki
import opisvane
from svd_util import eutf, optz, lat2cyr
from glob import glob
import datetime #import datetime, timedelta
from svd_util.struct import DictAttr, attr2item

info = prikazki.info

gg = {}
optz.bool( 'simvolni', '-L',    help= 'обхожда и символни връзки', **gg)
optz.bool( 'davai',         help= 'извършва промените', **gg)
optz.bool( 'prezapis',      help= 'презаписва всички файлове (иначе само ако са различни)')

optz.text( 'html_enc',      help= 'кодировка на html [%default]', default='utf8', **gg)  #cp1251
optz.text( 'html_spisyk',   help= 'прави общ списък html-страница', **gg)
optz.text( 'html_novi',     help= 'прави списък новости отделен (иначе част от общия списък)', **gg)
optz.text( 'html_izbrani',  help= 'прави списък на само хубавите - извадка от общия списък', **gg)
optz.bool( 'obshto_otgore',         help= 'слага Общо: отгоре (иначе отдолу)', **gg)
optz.bool( 'obshto_broi_zapisi',    help= 'брои файловете със записи, а не папките', **gg)
optz.text( 'podredba',              help= 'подрежда по изброените полета [%default]',
            default= 'humor,ime_sglobeno,pored',
                **gg)
optz.bool( 'otkoga_e_mintime',      help= 'слага липсващо откога=най-ранното време на папката', **gg)
optz.int(  'kolko_dni_e_novo',   default=35, help= 'толкова дни нещо се счита за ново [%default]', **gg)
optz.int(  'kolko_sa_novi',      default=0,  help= 'толкова последни неща се считат за нови [%default]', **gg)

options,args = optz.get()
prikazki.info.options = options
示例#26
0
чете опис, съдържащ ред:
#http://78.83.22.128/_nradio/2014/-видове/деца-рт/bezpodobni/hb-0419-0715+Рт_за_деца+Грозният_принц_Куша--индийска/

- взема ПЪТ и ИМЕ (от след _nradio/)
- извлича ЧАСТ# от описа

преименува описа в ИМЕ-ЧАСТ.opis на място,
и го слага също и в (papka+)ПЪТ (създавайки лисващите нива)
'''

import os, subprocess
from svd_util import optz
from svd_util import lat2cyr
from svd_util import osextra
optz.bool( 'nedei', '-n')
optz.text( 'papka', '-p', help= 'начална коренна папка')
optz.text( 'cmd', help= 'изпълни вместо преименоване тази команда с 2 аргумента')
optz.help( __doc__)
#rec2dir
def c2l( x): return lat2cyr.zvuchene.cyr2lat( x).lower()
join = os.path.join

optz,argz = optz.get()
for a in argz:
    o = open(a).readlines()
    http = [ l.strip('#') for l in o if 'http://' in l and '/_nradio' in l]
    if not http:
        print( '??? http-къде', a)
        continue
    chast= [ l.split(':',1)[-1] for l in o if l.startswith( '#част:') ]
    chast = chast and chast[0].strip() or ''