~dholbach/+junk/cordova-docs

« back to all changes in this revision

Viewing changes to debian/scripts/mangle-plugin-docs

  • Committer: Daniel Holbach
  • Date: 2014-01-22 15:13:23 UTC
  • Revision ID: daniel.holbach@canonical.com-20140122151323-azcjfbedl94z6s25
script to import plugins for documentation

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python
 
2
 
 
3
from bits import GIT_HOST, PLUGINS, VERSIONS
 
4
 
 
5
import subprocess
 
6
import tempfile
 
7
import glob
 
8
import sys
 
9
import os
 
10
 
 
11
def clone_code():
 
12
    pwd = os.getcwd()
 
13
    directory = tempfile.mkdtemp()
 
14
    os.chdir(directory)
 
15
    for plugin in PLUGINS:
 
16
        subprocess.call(['git', 'clone', '-q', 
 
17
                         os.path.join(GIT_HOST,plugin)])
 
18
    os.chdir(pwd)
 
19
    return directory
 
20
 
 
21
def extract_docs(directory):
 
22
    # we just support the latest
 
23
    version = VERSIONS[-1]
 
24
    dest_dir = os.path.join('docs/en', version, 'cordova/plugins')
 
25
    for plugin in PLUGINS:
 
26
        plugindir = os.path.join(directory, plugin)
 
27
        doc_dirs = filter(lambda a: os.path.isdir(a), 
 
28
                          glob.glob(plugindir+"/doc*"))
 
29
        if not doc_dirs:
 
30
            print "No documentation found for plugin '%s'." % plugin
 
31
            return False
 
32
        doc_dir = doc_dirs[0]
 
33
        new_path = os.path.join(dest_dir, plugin)
 
34
        subprocess.call(['cp', '-r', doc_dir, new_path])
 
35
        subprocess.call(['bzr', 'add', '-q', new_path])
 
36
 
 
37
def main():
 
38
    if len(sys.argv) > 1:
 
39
        directory = sys.argv[1]
 
40
    else:
 
41
        directory = clone_code()
 
42
    extract_docs(directory)
 
43
 
 
44
 
 
45
if __name__ == '__main__':
 
46
    try:
 
47
        main()
 
48
    except KeyboardInterrupt:
 
49
        print >> sys.stderr, 'Aborted.'
 
50
        sys.exit(1)