This gist shows how to create a GIF screencast using only free OS X tools: QuickTime, ffmpeg, and gifsicle.
To capture the video (filesize: 19MB), using the free "QuickTime Player" application:
# Note that target_env.login and target_env.password is global variables | |
# Maybe I should add this into Fabric project (http://docs.fabfile.org/en/1.4.2/index.html). | |
# This is complicated task for sure but it would be nice if Fabric could use ssh under Linux and PowerShell Remoting under Windows. | |
def remote_sh(target_host, command_text, ignore_error=False): | |
print('run PowerShell script block at {0}: {1}'.format(target_host, command_text)) | |
command_text = command_text.replace('"', '\'') |
import sys | |
import time | |
import subprocess | |
import types | |
from tempfile import TemporaryFile | |
def remote_sh(target_host, login, password, command_text, stdout=None, stderr=None): | |
winrs_text = 'winrs -remote:{0} -username:{1} -password:{2} -noprofile {3}'.format( | |
target_host, login, password, command_text) | |
#print('winrs text: {0}\n'.format(winrs_text)) |
# -*- mode: python; -*- | |
# Copyright 2009 Google Inc. | |
# | |
# Licensed under the Apache License, Version 2.0 (the "License"); | |
# you may not use this file except in compliance with the License. | |
# You may obtain a copy of the License at | |
# | |
# http://www.apache.org/licenses/LICENSE-2.0 | |
# | |
# Unless required by applicable law or agreed to in writing, software |
from abc import ABCMeta, abstractmethod | |
import threading | |
class ClockInterface(object): | |
__metaclass__ = ABCMeta | |
@abstractmethod | |
def time(self): | |
pass |