#!/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:
#!/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]
fmts = list( oo) for i in range(1,5): for f in fmts: k = f[:i] if k in oo: assert oo[k] == f, (f,oo[k]) else: oo[k] = f #oo.update( (f[:i],f) for f in fmts) return oo 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()
fromtime - totime - totime - +deltatime nopause 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
#!/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