DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (dcc6d7a0dc00)

VCS Links

Line Code
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
#!/usr/bin/env python
"""verbose_script.py

Contrast to silent_script.py.
"""

import os
import sys

sys.path.insert(1, os.path.dirname(sys.path[0]))

#from mozharness.base.errors import TarErrorList, SSHErrorList
from mozharness.base.script import BaseScript


# VerboseExample {{{1
class VerboseExample(BaseScript):
    def __init__(self, require_config_file=False):
        super(VerboseExample, self).__init__(
            all_actions=['verbosity', ],
            require_config_file=require_config_file,
            config={"tarball_name": "bar.tar.bz2"}
        )

    def verbosity(self):
        tarball_name = self.config["tarball_name"]
        self.download_file(
            "http://people.mozilla.org/~asasaki/foo.tar.bz2",
            file_name=tarball_name
        )
        # the error_list adds more error checking.
        # the halt_on_failure will kill the script at this point if
        # unsuccessful.  Be aware if you need to do any cleanup before you
        # actually fatal(), though.  If so, you may want to either use an
        # |if self.run_command(...):| construct, or define a self._post_fatal()
        # for a generic end-of-fatal-run method.
        self.run_command(
            ["tar", "xjvf", tarball_name],
#            error_list=TarErrorList,
#            halt_on_failure=True,
#            fatal_exit_code=3,
        )
        self.rmtree("x/ship2")
        self.rmtree(tarball_name)
        self.run_command(
            ["tar", "cjvf", tarball_name, "x"],
#            error_list=TarErrorList,
#            halt_on_failure=True,
#            fatal_exit_code=3,
        )
        self.rmtree("x")
        if self.run_command(
            ["scp", tarball_name, "people.mozilla.org:public_html/foo2.tar.bz2"],
#            error_list=SSHErrorList,
        ):
            self.error("There's been a problem with the scp.  We're going to proceed anyway.")
        self.rmtree(tarball_name)


# __main__ {{{1
if __name__ == '__main__':
    verbose_example = VerboseExample()
    verbose_example.run_and_exit()