~jaypipes/glance/use-optparse

« back to all changes in this revision

Viewing changes to glance/store/filesystem.py

  • Committer: jaypipes at gmail
  • Date: 2011-01-28 21:54:34 UTC
  • Revision ID: jaypipes@gmail.com-20110128215434-c2ad81zghlykj7k6
Remove use of gflags entirely. Use optparse.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
import urlparse
24
24
 
25
25
from glance.common import exception
26
 
from glance.common import flags
27
26
import glance.store
28
27
 
29
28
 
30
 
flags.DEFINE_string('filesystem_store_datadir', '/var/lib/glance/images/',
31
 
                    'Location to write image data. '
32
 
                    'Default: /var/lib/glance/images/')
33
 
 
34
 
FLAGS = flags.FLAGS
35
 
 
36
 
 
37
29
class ChunkedFile(object):
38
30
 
39
31
    """
102
94
            raise exception.NotFound("Image file %s does not exist" % fn)
103
95
 
104
96
    @classmethod
105
 
    def add(cls, id, data):
 
97
    def add(cls, id, data, options):
106
98
        """
107
99
        Stores image data to disk and returns a location that the image was
108
100
        written to. By default, the backend writes the image data to a file
109
101
        `/<DATADIR>/<ID>`, where <DATADIR> is the value of
110
 
        FLAGS.filesystem_store_datadir and <ID> is the supplied image ID.
 
102
        options['filesystem_store_datadir'] and <ID> is the supplied image ID.
111
103
 
112
104
        :param id: The opaque image identifier
113
105
        :param data: The image data to write, as a file-like object
 
106
        :param options: Conf mapping
114
107
 
115
108
        :retval Tuple with (location, size)
116
109
                The location that was written, with file:// scheme prepended
117
110
                and the size in bytes of the data written
118
111
        """
119
 
        datadir = FLAGS.filesystem_store_datadir
 
112
        datadir = options['filesystem_store_datadir']
120
113
 
121
114
        if not os.path.exists(datadir):
122
115
            os.makedirs(datadir)
137
130
                f.write(buf)
138
131
 
139
132
        return ('file://%s' % filepath, bytes_written)
 
133
 
 
134
    @classmethod
 
135
    def add_options(cls, parser):
 
136
        """
 
137
        Adds specific configuration options for this store
 
138
 
 
139
        :param parser: An optparse.OptionParser object
 
140
        :retval None
 
141
        """
 
142
 
 
143
        parser.add_option('--filesystem-store-datadir', metavar="DIR",
 
144
                          default="/var/lib/glance/images/",
 
145
                          help="Location to write image data. This directory "
 
146
                          "should be writeable by the user that runs the "
 
147
                          "glance-api program. Default: %default")