#!/usr/bin/env python # # Copyright 2007 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # """Temporary files. This module is a replacement for the stock tempfile module in Python, and provides only in-memory temporary files as implemented by cStringIO. The only functionality provided is the TemporaryFile function. """ try: from cStringIO import StringIO except ImportError: from StringIO import StringIO __all__ = [ "TemporaryFile", "NamedTemporaryFile", "mkstemp", "mkdtemp", "mktemp", "TMP_MAX", "gettempprefix", "tempdir", "gettempdir", ] TMP_MAX = 10000 template = "tmp" tempdir = None def TemporaryFile(mode='w+b', bufsize=-1, suffix="", prefix=template, dir=None): """Create and return a temporary file. Arguments: 'prefix', 'suffix', 'dir', 'mode', 'bufsize' are all ignored. Returns an object with a file-like interface. The file is in memory only, and does not exist on disk. """ return StringIO() def PlaceHolder(*args, **kwargs): raise NotImplementedError("Only tempfile.TemporaryFile is available for use") NamedTemporaryFile = PlaceHolder mkstemp = PlaceHolder mkdtemp = PlaceHolder mktemp = PlaceHolder gettempprefix = PlaceHolder tempdir = PlaceHolder gettempdir = PlaceHolder