forked from ondergetekende/logshipper
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtasks.py
More file actions
70 lines (59 loc) · 2.31 KB
/
tasks.py
File metadata and controls
70 lines (59 loc) · 2.31 KB
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
from invoke import run, task
@task
def clean(docs=False, bytecode=False, extra=''):
patterns = ['build']
if docs:
patterns.append('docs/_build')
if bytecode:
patterns.append('**/*.pyc')
if extra:
patterns.append(extra)
for pattern in patterns:
run("rm -rf %s" % pattern)
@task
def build_docs():
import ConfigParser
config = ConfigParser.ConfigParser()
config.read(['setup.cfg'])
with open("docs/outputs.rst", 'w') as f:
f.write("Outputs\n=======\n\n")
entry_points = config.get("entry_points", "logshipper.outputs").strip()
for entry_point in entry_points.splitlines():
name, path = entry_point.split('=')
f.write("%(name)s\n"
"-------------------------------------------------------\n"
"\n"
".. autofunction:: %(path)s\n\n" % {
"name": name.strip(),
"path": path.strip().replace(":", "."),
})
with open("docs/inputs.rst", 'w') as f:
f.write("Inputs\n=======\n\n")
entry_points = config.get("entry_points", "logshipper.inputs").strip()
for entry_point in entry_points.splitlines():
name, path = entry_point.split('=')
f.write("%(name)s\n"
"-------------------------------------------------------\n"
"\n"
".. autoclass:: %(path)s\n\n" % {
"name": name.strip(),
"path": path.strip().replace(":", "."),
})
with open("docs/filters.rst", 'w') as f:
f.write("Filters\n=======\n\n")
entry_points = config.get("entry_points", "logshipper.filters").strip()
for entry_point in entry_points.splitlines():
name, path = entry_point.split('=')
f.write("%(name)s\n"
"-------------------------------------------------------\n"
"\n"
".. autofunction:: %(path)s\n\n" % {
"name": name.strip(),
"path": path.strip().replace(":", "."),
})
run("sphinx-build docs docs/_build")
@task
def build(docs=False):
run("python setup.py build")
if docs:
build_docs()