File: verbose_script.py

package info (click to toggle)
mozjs140 140.7.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,216,752 kB
  • sloc: javascript: 2,267,210; cpp: 1,423,664; python: 966,252; ansic: 632,297; xml: 115,965; sh: 15,392; asm: 13,399; makefile: 10,455; yacc: 4,504; perl: 2,223; lex: 1,414; ruby: 1,064; exp: 756; java: 185; sql: 66; sed: 18
file content (70 lines) | stat: -rwxr-xr-x 2,380 bytes parent folder | download | duplicates (12)
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
#!/usr/bin/env python
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

"""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.xz"},
        )

    def verbosity(self):
        tarball_name = self.config["tarball_name"]
        self.download_file(
            "http://people.mozilla.org/~asasaki/foo.tar.xz", 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.xz"],
            #            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()