MoinLight

moinformat/input/directory.py

104:8d437cdf2381
2018-07-30 Paul Boddie Introduced Unicode strings as the typical form of document data for processing, employing output encodings when serialising output documents. Introduced input contexts which provide details of input document encodings and document source locations. Introduced the familiar manifest and lookup mechanisms for input and output contexts. Provided support for standalone contexts, with the output context suppressing the generation of additional files. Moved common directory functionality to a separate utility module. Updated the conversion script and test framework, adding encoding-related tests.
     1 #!/usr/bin/env python     2      3 """     4 Directory input context.     5      6 Copyright (C) 2018 Paul Boddie <paul@boddie.org.uk>     7      8 This program is free software; you can redistribute it and/or modify it under     9 the terms of the GNU General Public License as published by the Free Software    10 Foundation; either version 3 of the License, or (at your option) any later    11 version.    12     13 This program is distributed in the hope that it will be useful, but WITHOUT    14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS    15 FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more    16 details.    17     18 You should have received a copy of the GNU General Public License along with    19 this program.  If not, see <http://www.gnu.org/licenses/>.    20 """    21     22 from moinformat.input.common import Input    23 from moinformat.utils.directory import Directory    24     25 class DirectoryInput(Input, Directory):    26     27     "A directory output context."    28     29     name = "directory"    30     31     def __init__(self, parameters=None):    32     33         "Initialise the context with the given 'parameters'."    34     35         if not parameters or not parameters.has_key("filename"):    36             raise ValueError, parameters    37     38         Input.__init__(self, parameters)    39         Directory.__init__(self, parameters["filename"])    40     41     def readfile(self, filename, encoding=None):    42     43         """    44         Return the contents of the file having the given 'filename' and optional    45         'encoding'.    46         """    47     48         return Input.readfile(self, self.get_filename(filename), encoding)    49     50 input = DirectoryInput    51     52 # vim: tabstop=4 expandtab shiftwidth=4