File: build_help.py

package info (click to toggle)
python-distutils-extra 3.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 220 kB
  • sloc: python: 1,817; makefile: 10
file content (49 lines) | stat: -rw-r--r-- 1,548 bytes parent folder | download | duplicates (2)
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
"""Implement the Distutils "build_help" command."""

# TODO: Address following pylint complaints
# pylint: disable=attribute-defined-outside-init,missing-function-docstring

import os.path
from glob import glob

from setuptools import Command


# pylint: disable-next=invalid-name
class build_help(Command):
    """install Mallard or DocBook XML based documentation"""

    description = __doc__
    user_options = [("help-dir", None, "help directory in the source tree")]

    def initialize_options(self):
        self.help_dir = None

    def finalize_options(self):
        if self.help_dir is None:
            self.help_dir = "help"

    def get_data_files(self):
        data_files = []
        name = self.distribution.metadata.name

        for path in glob(os.path.join(self.help_dir, "*")):
            lang = os.path.basename(path)
            path_xml = os.path.join("share/help", lang, name)
            path_figures = os.path.join("share/help", lang, name, "figures")

            docbook_files = glob(f"{path}/index.docbook")
            docbook_files_extra = glob(f"{path}/*.xml")
            mallard_files = glob(f"{path}/*.page")
            data_files.append(
                (path_xml, docbook_files + docbook_files_extra + mallard_files)
            )
            data_files.append((path_figures, glob(f"{path}/figures/*.png")))

        return data_files

    def run(self):
        self.announce("Setting up help files...")

        data_files = self.distribution.data_files
        data_files.extend(self.get_data_files())