-
Notifications
You must be signed in to change notification settings - Fork 9
/
fabfile.py
73 lines (51 loc) · 1.67 KB
/
fabfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/bin/env python
# -*- coding: utf-8 -*-
""" Deployment of PySpeak """
# system
import os, re
# fabric
from fabric.api import cd, env, execute, local, run, sudo, prefix
# PySpeak
from pyspeak import __version__
def fast_commit(capture=True):
""" Fast commit with generic message. """
env.warn_only = True
local('git commit -a -m "fast_commit through Fabric"')
def push():
""" Local git push. """
local("git push --all")
def deploy():
""" Commit and push to git servers. """
execute(fast_commit)
execute(push)
def reinstall():
""" Reinstall the project to local virtualenv. """
local('if [ $(pip freeze | grep PySpeak | wc -w ) -eq 1 ]; then '
'pip uninstall -q -y PySpeak ; fi')
local('python setup.py sdist')
local('pip install -q dist/PySpeak-' + __version__ + '.tar.gz')
local('rm -rf dist PySpeak.egg-info')
def install():
""" Install the project. """
local('python setup.py install')
local('rm -rf build')
def build_doc():
""" Build the html documentation. """
local('cd docs/ && make html')
def clean():
""" Remove temporary files. """
local('rm -rf docs/_build/ dist/ *.egg-info/')
local('find . -name "*.pyc" | xargs rm')
def upload():
""" Upload Pypi. """
local("python setup.py sdist upload")
def md2rst(in_file, out_file):
""" Generate reStructuredText from Makrdown. """
local("pandoc -f markdown -t rst %s -o %s" % (in_file, out_file))
def readme():
md2rst('README.md', 'README.txt')
def tests():
""" Launch tests. """
local("nosetests")
# local("coverage html -d /tmp/coverage-projy --omit='projy/docopt.py'")
# local("coverage erase")