Subversion Repositories HelenOS-historic

Rev

Rev 559 | Rev 561 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 559 Rev 560
Line 307... Line 307...
307
            args = res.group(2).strip().split(' ')
307
            args = res.group(2).strip().split(' ')
308
            cmd = args[0].lower()
308
            cmd = args[0].lower()
309
            args = args[1:]
309
            args = args[1:]
310
            if cmd == 'saveas':
310
            if cmd == 'saveas':
311
                outf.write('%s = %s\n' % (args[1],defaults[args[0]]))
311
                outf.write('%s = %s\n' % (args[1],defaults[args[0]]))
-
 
312
            elif cmd == 'shellcmd':
-
 
313
                varname = args[0]
312
               
314
                args = args[1:]
-
 
315
                for i,arg in enumerate(args):
-
 
316
                    if arg.startswith('$'):
-
 
317
                        args[i] = defaults[arg[1:]]
-
 
318
 
-
 
319
                subc = os.popen(' '.join(args),'r')
-
 
320
                data = subc.read().strip()
-
 
321
                if subc.close():
-
 
322
                    raise RuntimeError('Error running: %s' % ' '.join(args))
-
 
323
                outf.write('%s = %s\n' % (varname,data))
313
            continue
324
            continue
314
           
325
           
315
        if line.startswith('!'):
326
        if line.startswith('!'):
316
            # Ask a question
327
            # Ask a question
317
            res = re.search(r'!\s*(?:\[(.*?)\])?\s*([^\s]+)\s*\((.*)\)\s*$', line)
328
            res = re.search(r'!\s*(?:\[(.*?)\])?\s*([^\s]+)\s*\((.*)\)\s*$', line)