~sergiusens/snapcraft/meta-all-yaml

« back to all changes in this revision

Viewing changes to snapcraft/plugin.py

  • Committer: Snappy Tarmac
  • Author(s): Leo Arias
  • Date: 2015-08-05 14:31:21 UTC
  • mfrom: (119.1.2 makedirs)
  • Revision ID: snappy_tarmac-20150805143121-5sztxt7yx2vvu7jx
Refactored the plugin makedirs, with tests. Added python3 >= 3.2 as a dependency, needed by makedirs exist_ok argument. by elopio approved by mterry

Show diffs side-by-side

added added

removed removed

Lines of Context:
54
54
        self.deps = []
55
55
        self.plugin_name = name
56
56
 
57
 
        self.sourcedir = os.path.join(os.getcwd(), "parts", part_name, "src")
58
 
        self.builddir = os.path.join(os.getcwd(), "parts", part_name, "build")
59
 
        self.installdir = os.path.join(os.getcwd(), "parts", part_name, "install")
60
 
        self.stagedir = os.path.join(os.getcwd(), "stage")
61
 
        self.snapdir = os.path.join(os.getcwd(), "snap")
62
 
        self.statefile = os.path.join(os.getcwd(), "parts", part_name, "state")
 
57
        parts_dir = os.path.join(os.getcwd(), 'parts')
 
58
        self.sourcedir = os.path.join(parts_dir, part_name, 'src')
 
59
        self.builddir = os.path.join(parts_dir, part_name, 'build')
 
60
        self.installdir = os.path.join(parts_dir, part_name, 'install')
 
61
        self.stagedir = os.path.join(os.getcwd(), 'stage')
 
62
        self.snapdir = os.path.join(os.getcwd(), 'snap')
 
63
        self.statefile = os.path.join(parts_dir, part_name, 'state')
63
64
 
64
65
        try:
65
66
            if load_config:
124
125
        return self.part_names[0]
125
126
 
126
127
    def makedirs(self):
127
 
        try:
128
 
            os.makedirs(self.sourcedir)
129
 
        except FileExistsError:
130
 
            pass
131
 
        try:
132
 
            os.makedirs(self.builddir)
133
 
        except FileExistsError:
134
 
            pass
135
 
        try:
136
 
            os.makedirs(self.installdir)
137
 
        except FileExistsError:
138
 
            pass
139
 
        try:
140
 
            os.makedirs(self.stagedir)
141
 
        except FileExistsError:
142
 
            pass
143
 
        try:
144
 
            os.makedirs(self.snapdir)
145
 
        except FileExistsError:
146
 
            pass
 
128
        dirs = [
 
129
            self.sourcedir, self.builddir, self.installdir, self.stagedir,
 
130
            self.snapdir
 
131
        ]
 
132
        for d in dirs:
 
133
            os.makedirs(d, exist_ok=True)
147
134
 
148
135
    def is_valid(self):
149
136
        return self.valid