Exemple #1
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:
Exemple #2
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]
Exemple #3
0
    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()
Exemple #4
0
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
Exemple #5
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