mirror of
https://github.com/asciinema/asciinema.git
synced 2025-12-16 19:58:03 +01:00
Wtf, python evaluates default arguments at the moment of their definition O_o
This commit is contained in:
BIN
bin/asciinema
BIN
bin/asciinema
Binary file not shown.
@@ -8,16 +8,15 @@ from confirmator import Confirmator
|
||||
class RecordCommand(object):
|
||||
|
||||
def __init__(self, api_url, user_token, cmd, title, skip_confirmation,
|
||||
recorder=Recorder(), uploader=Uploader(),
|
||||
confirmator=Confirmator()):
|
||||
recorder=None, uploader=None, confirmator=None):
|
||||
self.api_url = api_url
|
||||
self.user_token = user_token
|
||||
self.cmd = cmd
|
||||
self.title = title
|
||||
self.skip_confirmation = skip_confirmation
|
||||
self.recorder = recorder
|
||||
self.uploader = uploader
|
||||
self.confirmator = confirmator
|
||||
self.recorder = recorder if recorder is not None else Recorder()
|
||||
self.uploader = uploader if uploader is not None else Uploader()
|
||||
self.confirmator = confirmator if confirmator is not None else Confirmator()
|
||||
|
||||
def execute(self):
|
||||
asciicast = self._record_asciicast()
|
||||
|
||||
@@ -8,9 +8,9 @@ DEFAULT_API_URL = 'http://asciinema.org'
|
||||
|
||||
class Config:
|
||||
|
||||
def __init__(self, path=DEFAULT_CONFIG_FILE_PATH, overrides=os.environ):
|
||||
def __init__(self, path=DEFAULT_CONFIG_FILE_PATH, overrides=None):
|
||||
self.path = os.path.expanduser(path)
|
||||
self.overrides = overrides
|
||||
self.overrides = overrides if overrides is not None else os.environ
|
||||
|
||||
self._parse_config_file()
|
||||
|
||||
|
||||
@@ -14,8 +14,9 @@ from stdout import Stdout
|
||||
|
||||
class PtyRecorder(object):
|
||||
|
||||
def record_command(self, command, output=Stdout()):
|
||||
def record_command(self, command, output=None):
|
||||
command = shlex.split(command)
|
||||
output = output if output is not None else Stdout()
|
||||
master_fd = None
|
||||
|
||||
def _set_pty_size():
|
||||
|
||||
@@ -7,9 +7,9 @@ from pty_recorder import PtyRecorder
|
||||
|
||||
class Recorder(object):
|
||||
|
||||
def __init__(self, pty_recorder=PtyRecorder(), env=os.environ):
|
||||
self.pty_recorder = pty_recorder
|
||||
self.env = env
|
||||
def __init__(self, pty_recorder=None, env=None):
|
||||
self.pty_recorder = pty_recorder if pty_recorder is not None else PtyRecorder()
|
||||
self.env = env if env is not None else os.environ
|
||||
|
||||
def record(self, cmd, title):
|
||||
duration, stdout = timer.timeit(self.pty_recorder.record_command,
|
||||
|
||||
@@ -17,9 +17,9 @@ class StdoutTiming(object):
|
||||
|
||||
class Stdout(object):
|
||||
|
||||
def __init__(self, timing=StdoutTiming()):
|
||||
def __init__(self, timing=None):
|
||||
self._data = StringIO.StringIO()
|
||||
self._timing = timing
|
||||
self._timing = timing if timing is not None else StdoutTiming()
|
||||
|
||||
self._start_timing()
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ class File(object):
|
||||
|
||||
class Uploader(object):
|
||||
|
||||
def __init__(self, http_adapter=UrllibHttpAdapter()):
|
||||
self.http_adapter = http_adapter
|
||||
def __init__(self, http_adapter=None):
|
||||
self.http_adapter = http_adapter if http_adapter is not None else UrllibHttpAdapter()
|
||||
|
||||
def upload(self, api_url, user_token, asciicast):
|
||||
url = '%s/api/asciicasts' % api_url
|
||||
|
||||
Reference in New Issue
Block a user