The only thing in helpers.py that needed vars.py was the log stuff.
So put it in its own file. Now it's safer to import and use helpers even if you can't safely touch vars.
This commit is contained in:
parent
1abaf77d35
commit
e18fa85d58
12 changed files with 72 additions and 69 deletions
|
|
@ -1,6 +1,7 @@
|
|||
import sys, os, errno, stat
|
||||
import vars, jwack, state
|
||||
from helpers import log, log_, debug, debug2, err, warn, unlink, close_on_exec
|
||||
from helpers import unlink, close_on_exec
|
||||
from log import log, log_, debug, debug2, err, warn
|
||||
|
||||
|
||||
def _possible_do_files(t):
|
||||
|
|
|
|||
50
helpers.py
50
helpers.py
|
|
@ -1,5 +1,5 @@
|
|||
import sys, os, errno, fcntl
|
||||
import vars
|
||||
import os, errno, fcntl
|
||||
from atoi import atoi
|
||||
|
||||
|
||||
def unlink(f):
|
||||
|
|
@ -15,52 +15,6 @@ def unlink(f):
|
|||
pass # it doesn't exist, that's what you asked for
|
||||
|
||||
|
||||
def log_(s):
|
||||
sys.stdout.flush()
|
||||
if vars.DEBUG_PIDS:
|
||||
sys.stderr.write('%d %s' % (os.getpid(), s))
|
||||
else:
|
||||
sys.stderr.write(s)
|
||||
sys.stderr.flush()
|
||||
|
||||
|
||||
def _clog(s):
|
||||
log_('\x1b[32mredo %s\x1b[1m%s\x1b[m' % (vars.DEPTH, s))
|
||||
def _bwlog(s):
|
||||
log_('redo %s%s' % (vars.DEPTH, s))
|
||||
|
||||
def _cerr(s):
|
||||
log_('\x1b[31mredo: %s\x1b[1m%s\x1b[m' % (vars.DEPTH, s))
|
||||
def _bwerr(s):
|
||||
log_('redo: %s%s' % (vars.DEPTH, s))
|
||||
|
||||
def _cwarn(s):
|
||||
log_('\x1b[33mredo: %s\x1b[1m%s\x1b[m' % (vars.DEPTH, s))
|
||||
def _bwwarn(s):
|
||||
log_('redo: %s%s' % (vars.DEPTH, s))
|
||||
|
||||
|
||||
if os.isatty(2):
|
||||
log = _clog
|
||||
err = _cerr
|
||||
warn = _cwarn
|
||||
else:
|
||||
log = _bwlog
|
||||
err = _bwerr
|
||||
warn = _bwwarn
|
||||
|
||||
|
||||
def debug(s):
|
||||
if vars.DEBUG >= 1:
|
||||
log_('redo: %s%s' % (vars.DEPTH, s))
|
||||
def debug2(s):
|
||||
if vars.DEBUG >= 2:
|
||||
log_('redo: %s%s' % (vars.DEPTH, s))
|
||||
def debug3(s):
|
||||
if vars.DEBUG >= 3:
|
||||
log_('redo: %s%s' % (vars.DEPTH, s))
|
||||
|
||||
|
||||
def close_on_exec(fd, yes):
|
||||
fl = fcntl.fcntl(fd, fcntl.F_GETFD)
|
||||
fl &= ~fcntl.FD_CLOEXEC
|
||||
|
|
|
|||
7
jwack.py
7
jwack.py
|
|
@ -2,7 +2,7 @@
|
|||
# beware the jobberwack
|
||||
#
|
||||
import sys, os, errno, select, fcntl, signal
|
||||
import atoi
|
||||
from helpers import atoi, close_on_exec
|
||||
|
||||
_toplevel = 0
|
||||
_mytokens = 1
|
||||
|
|
@ -83,8 +83,8 @@ def setup(maxjobs):
|
|||
s = flags[ofs+len(FIND):]
|
||||
(arg,junk) = s.split(' ', 1)
|
||||
(a,b) = arg.split(',', 1)
|
||||
a = atoi.atoi(a)
|
||||
b = atoi.atoi(b)
|
||||
a = atoi(a)
|
||||
b = atoi(b)
|
||||
if a <= 0 or b <= 0:
|
||||
raise ValueError('invalid --jobserver-fds: %r' % arg)
|
||||
try:
|
||||
|
|
@ -242,7 +242,6 @@ def start_job(reason, jobfunc, donefunc):
|
|||
finally:
|
||||
_debug('exit: %d\n' % rv)
|
||||
os._exit(rv)
|
||||
from helpers import close_on_exec
|
||||
close_on_exec(r, True)
|
||||
os.close(w)
|
||||
pd = Job(reason, pid, donefunc)
|
||||
|
|
|
|||
49
log.py
Normal file
49
log.py
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
import sys, os
|
||||
import vars
|
||||
|
||||
def log_(s):
|
||||
sys.stdout.flush()
|
||||
if vars.DEBUG_PIDS:
|
||||
sys.stderr.write('%d %s' % (os.getpid(), s))
|
||||
else:
|
||||
sys.stderr.write(s)
|
||||
sys.stderr.flush()
|
||||
|
||||
|
||||
def _clog(s):
|
||||
log_('\x1b[32mredo %s\x1b[1m%s\x1b[m' % (vars.DEPTH, s))
|
||||
def _bwlog(s):
|
||||
log_('redo %s%s' % (vars.DEPTH, s))
|
||||
|
||||
def _cerr(s):
|
||||
log_('\x1b[31mredo: %s\x1b[1m%s\x1b[m' % (vars.DEPTH, s))
|
||||
def _bwerr(s):
|
||||
log_('redo: %s%s' % (vars.DEPTH, s))
|
||||
|
||||
def _cwarn(s):
|
||||
log_('\x1b[33mredo: %s\x1b[1m%s\x1b[m' % (vars.DEPTH, s))
|
||||
def _bwwarn(s):
|
||||
log_('redo: %s%s' % (vars.DEPTH, s))
|
||||
|
||||
|
||||
if os.isatty(2):
|
||||
log = _clog
|
||||
err = _cerr
|
||||
warn = _cwarn
|
||||
else:
|
||||
log = _bwlog
|
||||
err = _bwerr
|
||||
warn = _bwwarn
|
||||
|
||||
|
||||
def debug(s):
|
||||
if vars.DEBUG >= 1:
|
||||
log_('redo: %s%s' % (vars.DEPTH, s))
|
||||
def debug2(s):
|
||||
if vars.DEBUG >= 2:
|
||||
log_('redo: %s%s' % (vars.DEPTH, s))
|
||||
def debug3(s):
|
||||
if vars.DEBUG >= 3:
|
||||
log_('redo: %s%s' % (vars.DEPTH, s))
|
||||
|
||||
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/python
|
||||
import sys, os
|
||||
import vars, state
|
||||
from helpers import err
|
||||
from log import err
|
||||
|
||||
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
#!/usr/bin/python
|
||||
import sys, os, errno, stat
|
||||
import vars, state, builder, jwack
|
||||
from helpers import debug, debug2, err, unlink
|
||||
from helpers import unlink
|
||||
from log import debug, debug2, err
|
||||
|
||||
def _nice(t):
|
||||
return state.relpath(os.path.join(vars.BASE, t), vars.STARTDIR)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/python
|
||||
import sys, os
|
||||
import vars, state
|
||||
from helpers import err
|
||||
from log import err
|
||||
|
||||
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/python
|
||||
import sys, os
|
||||
import state
|
||||
from helpers import err
|
||||
from log import err
|
||||
|
||||
if len(sys.argv[1:]) < 2:
|
||||
err('%s: at least 2 arguments expected.\n' % sys.argv[0])
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/python
|
||||
import sys, os
|
||||
import vars, state
|
||||
from helpers import err, debug2
|
||||
from log import err, debug2
|
||||
|
||||
if len(sys.argv) > 1:
|
||||
err('%s: no arguments expected.\n' % sys.argv[0])
|
||||
|
|
|
|||
9
redo.py
9
redo.py
|
|
@ -1,6 +1,7 @@
|
|||
#!/usr/bin/python
|
||||
import sys, os
|
||||
import options, jwack, atoi
|
||||
import options
|
||||
from helpers import atoi
|
||||
|
||||
optspec = """
|
||||
redo [targets...]
|
||||
|
|
@ -57,15 +58,15 @@ if is_root:
|
|||
os.environ['REDO'] = os.path.abspath(sys.argv[0])
|
||||
|
||||
|
||||
import vars, state, builder
|
||||
from helpers import err
|
||||
import vars, state, builder, jwack
|
||||
from log import err
|
||||
|
||||
|
||||
if is_root:
|
||||
state.init()
|
||||
|
||||
try:
|
||||
j = atoi.atoi(opt.jobs or 1)
|
||||
j = atoi(opt.jobs or 1)
|
||||
if j < 1 or j > 1000:
|
||||
err('invalid --jobs value: %r\n' % opt.jobs)
|
||||
jwack.setup(j)
|
||||
|
|
|
|||
6
state.py
6
state.py
|
|
@ -1,7 +1,7 @@
|
|||
import sys, os, errno, glob, stat, fcntl, sqlite3
|
||||
import vars
|
||||
from helpers import unlink, err, debug2, debug3, close_on_exec
|
||||
import helpers
|
||||
from helpers import unlink, close_on_exec
|
||||
from log import err, debug2, debug3
|
||||
|
||||
SCHEMA_VER=1
|
||||
TIMEOUT=60
|
||||
|
|
@ -97,7 +97,6 @@ def _write(q, l):
|
|||
return
|
||||
global _wrote
|
||||
_wrote += 1
|
||||
#helpers.log_('W: %r %r\n' % (q,l))
|
||||
db().execute(q, l)
|
||||
|
||||
|
||||
|
|
@ -106,7 +105,6 @@ def commit():
|
|||
return
|
||||
global _wrote
|
||||
if _wrote:
|
||||
#helpers.log_("COMMIT (%d)\n" % _wrote)
|
||||
db().commit()
|
||||
_wrote = 0
|
||||
|
||||
|
|
|
|||
6
vars.py
6
vars.py
|
|
@ -1,5 +1,5 @@
|
|||
import os
|
||||
import atoi
|
||||
from atoi import atoi
|
||||
|
||||
if not os.environ.get('REDO'):
|
||||
import sys
|
||||
|
|
@ -10,7 +10,7 @@ if not os.environ.get('REDO'):
|
|||
PWD = os.environ.get('REDO_PWD', '')
|
||||
TARGET = os.environ.get('REDO_TARGET', '')
|
||||
DEPTH = os.environ.get('REDO_DEPTH', '')
|
||||
DEBUG = atoi.atoi(os.environ.get('REDO_DEBUG', ''))
|
||||
DEBUG = atoi(os.environ.get('REDO_DEBUG', ''))
|
||||
DEBUG_LOCKS = os.environ.get('REDO_DEBUG_LOCKS', '') and 1 or 0
|
||||
DEBUG_PIDS = os.environ.get('REDO_DEBUG_PIDS', '') and 1 or 0
|
||||
VERBOSE = os.environ.get('REDO_VERBOSE', '') and 1 or 0
|
||||
|
|
@ -18,7 +18,7 @@ XTRACE = os.environ.get('REDO_XTRACE', '') and 1 or 0
|
|||
KEEP_GOING = os.environ.get('REDO_KEEP_GOING', '') and 1 or 0
|
||||
SHUFFLE = os.environ.get('REDO_SHUFFLE', '') and 1 or 0
|
||||
STARTDIR = os.environ['REDO_STARTDIR']
|
||||
RUNID = atoi.atoi(os.environ.get('REDO_RUNID')) or None
|
||||
RUNID = atoi(os.environ.get('REDO_RUNID')) or None
|
||||
BASE = os.environ['REDO_BASE']
|
||||
while BASE and BASE.endswith('/'):
|
||||
BASE = BASE[:-1]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue