summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/mac/libmacfs.tex241
-rw-r--r--Doc/mac/libmacostools.tex1
-rw-r--r--Lib/binhex.py9
-rw-r--r--Lib/plat-mac/macfs.py198
-rw-r--r--Lib/plat-mac/macostools.py17
-rwxr-xr-xLib/test/regrtest.py6
-rw-r--r--Lib/test/test_macfs.py78
-rw-r--r--Lib/test/test_macostools.py6
-rw-r--r--Misc/NEWS4
9 files changed, 14 insertions, 546 deletions
diff --git a/Doc/mac/libmacfs.tex b/Doc/mac/libmacfs.tex
deleted file mode 100644
index 12a7cc3..0000000
--- a/Doc/mac/libmacfs.tex
+++ /dev/null
@@ -1,241 +0,0 @@
-\section{\module{macfs} ---
- Various file system services}
-
-\declaremodule{standard}{macfs}
- \platform{Mac}
-\modulesynopsis{Support for FSSpec, the Alias Manager,
- \program{finder} aliases, and the Standard File package.}
-
-\deprecated{2.3}{The macfs module should be considered obsolete. For
-\class{FSSpec}, \class{FSRef} and \class{Alias} handling use the
-\module{Carbon.File} or \refmodule{Carbon.Folder} module. For file
-dialogs use the \refmodule{EasyDialogs} module. Also, this module is
-known to not work correctly with UFS partitions.}
-
-This module provides access to Macintosh \class{FSSpec} handling, the
-Alias Manager, \program{finder} aliases and the Standard File package.
-\index{Macintosh Alias Manager}
-\index{Alias Manager, Macintosh}
-\index{Standard File}
-
-Whenever a function or method expects a \var{file} argument, this
-argument can be one of three things:\ (1) a full or partial Macintosh
-pathname, (2) an \class{FSSpec} object or (3) a 3-tuple
-\code{(\var{wdRefNum}, \var{parID}, \var{name})} as described in
-\citetitle{Inside Macintosh:\ Files}. An \class{FSSpec} can point to
-a non-existing file, as long as the folder containing the file exists.
-Under MacPython the same is true for a pathname, but not under \UNIX-Python
-because of the way pathnames and FSRefs works. See Apple's documentation
-for details.
-
-A description of aliases and the
-Standard File package can also be found there.
-
-\begin{funcdesc}{FSSpec}{file}
-Create an \class{FSSpec} object for the specified file.
-\end{funcdesc}
-
-\begin{funcdesc}{RawFSSpec}{data}
-Create an \class{FSSpec} object given the raw data for the \C{}
-structure for the \class{FSSpec} as a string. This is mainly useful
-if you have obtained an \class{FSSpec} structure over a network.
-\end{funcdesc}
-
-\begin{funcdesc}{RawAlias}{data}
-Create an \class{Alias} object given the raw data for the \C{}
-structure for the alias as a string. This is mainly useful if you
-have obtained an \class{FSSpec} structure over a network.
-\end{funcdesc}
-
-\begin{funcdesc}{FInfo}{}
-Create a zero-filled \class{FInfo} object.
-\end{funcdesc}
-
-\begin{funcdesc}{ResolveAliasFile}{file}
-Resolve an alias file. Returns a 3-tuple \code{(\var{fsspec},
-\var{isfolder}, \var{aliased})} where \var{fsspec} is the resulting
-\class{FSSpec} object, \var{isfolder} is true if \var{fsspec} points
-to a folder and \var{aliased} is true if the file was an alias in the
-first place (otherwise the \class{FSSpec} object for the file itself
-is returned).
-\end{funcdesc}
-
-\begin{funcdesc}{StandardGetFile}{\optional{type, \moreargs}}
-Present the user with a standard ``open input file''
-dialog. Optionally, you can pass up to four 4-character file types to limit
-the files the user can choose from. The function returns an \class{FSSpec}
-object and a flag indicating that the user completed the dialog
-without cancelling.
-\end{funcdesc}
-
-\begin{funcdesc}{PromptGetFile}{prompt\optional{, type, \moreargs}}
-Similar to \function{StandardGetFile()} but allows you to specify a
-prompt which will be displayed at the top of the dialog.
-\end{funcdesc}
-
-\begin{funcdesc}{StandardPutFile}{prompt\optional{, default}}
-Present the user with a standard ``open output file''
-dialog. \var{prompt} is the prompt string, and the optional
-\var{default} argument initializes the output file name. The function
-returns an \class{FSSpec} object and a flag indicating that the user
-completed the dialog without cancelling.
-\end{funcdesc}
-
-\begin{funcdesc}{GetDirectory}{\optional{prompt}}
-Present the user with a non-standard ``select a directory'' dialog. You
-have to first open the directory before clicking on the ``select current
-directory'' button. \var{prompt} is the prompt string which will be
-displayed at the top of the dialog. Return an \class{FSSpec} object and
-a success-indicator.
-\end{funcdesc}
-
-\begin{funcdesc}{SetFolder}{\optional{fsspec}}
-Set the folder that is initially presented to the user when one of
-the file selection dialogs is presented. \var{fsspec} should point to
-a file in the folder, not the folder itself (the file need not exist,
-though). If no argument is passed the folder will be set to the
-current directory, i.e. what \function{os.getcwd()} returns.
-
-Note that starting with System 7.5 the user can change Standard File
-behaviour with the ``general controls'' control panel, thereby making
-this call inoperative.
-\end{funcdesc}
-
-\begin{funcdesc}{FindFolder}{where, which, create}
-Locates one of the ``special'' folders that Mac OS knows about, such as
-the trash or the Preferences folder. \var{where} is the disk to
-search, \var{which} is the 4-character string specifying which folder to
-locate. Setting \var{create} causes the folder to be created if it
-does not exist. Returns a \code{(\var{vrefnum}, \var{dirid})} tuple.
-
-The constants for \var{where} and \var{which} can be obtained from the
-standard module \var{Carbon.Folders}.
-\end{funcdesc}
-
-\begin{funcdesc}{NewAliasMinimalFromFullPath}{pathname}
-Return a minimal \class{alias} object that points to the given file, which
-must be specified as a full pathname. This is the only way to create an
-\class{Alias} pointing to a non-existing file.
-
-\end{funcdesc}
-
-\begin{funcdesc}{FindApplication}{creator}
-Locate the application with 4-character creator code \var{creator}. The
-function returns an \class{FSSpec} object pointing to the application.
-\end{funcdesc}
-
-
-\subsection{FSSpec Objects \label{fsspec-objects}}
-
-\begin{memberdesc}[FSSpec]{data}
-The raw data from the FSSpec object, suitable for passing
-to other applications, for instance.
-\end{memberdesc}
-
-\begin{methoddesc}[FSSpec]{as_pathname}{}
-Return the full pathname of the file described by the \class{FSSpec}
-object.
-\end{methoddesc}
-
-\begin{methoddesc}[FSSpec]{as_tuple}{}
-Return the \code{(\var{wdRefNum}, \var{parID}, \var{name})} tuple of
-the file described by the \class{FSSpec} object.
-\end{methoddesc}
-
-\begin{methoddesc}[FSSpec]{NewAlias}{\optional{file}}
-Create an Alias object pointing to the file described by this
-FSSpec. If the optional \var{file} parameter is present the alias
-will be relative to that file, otherwise it will be absolute.
-\end{methoddesc}
-
-\begin{methoddesc}[FSSpec]{NewAliasMinimal}{}
-Create a minimal alias pointing to this file.
-\end{methoddesc}
-
-\begin{methoddesc}[FSSpec]{GetCreatorType}{}
-Return the 4-character creator and type of the file.
-\end{methoddesc}
-
-\begin{methoddesc}[FSSpec]{SetCreatorType}{creator, type}
-Set the 4-character creator and type of the file.
-\end{methoddesc}
-
-\begin{methoddesc}[FSSpec]{GetFInfo}{}
-Return a \class{FInfo} object describing the finder info for the file.
-\end{methoddesc}
-
-\begin{methoddesc}[FSSpec]{SetFInfo}{finfo}
-Set the finder info for the file to the values given as \var{finfo}
-(an \class{FInfo} object).
-\end{methoddesc}
-
-\begin{methoddesc}[FSSpec]{GetDates}{}
-Return a tuple with three floating point values representing the
-creation date, modification date and backup date of the file.
-\end{methoddesc}
-
-\begin{methoddesc}[FSSpec]{SetDates}{crdate, moddate, backupdate}
-Set the creation, modification and backup date of the file. The values
-are in the standard floating point format used for times throughout
-Python.
-\end{methoddesc}
-
-
-\subsection{Alias Objects \label{alias-objects}}
-
-\begin{memberdesc}[Alias]{data}
-The raw data for the Alias record, suitable for storing in a resource
-or transmitting to other programs.
-\end{memberdesc}
-
-\begin{methoddesc}[Alias]{Resolve}{\optional{file}}
-Resolve the alias. If the alias was created as a relative alias you
-should pass the file relative to which it is. Return the FSSpec for
-the file pointed to and a flag indicating whether the \class{Alias} object
-itself was modified during the search process. If the file does
-not exist but the path leading up to it does exist a valid fsspec
-is returned.
-\end{methoddesc}
-
-\begin{methoddesc}[Alias]{GetInfo}{num}
-An interface to the \C{} routine \cfunction{GetAliasInfo()}.
-\end{methoddesc}
-
-\begin{methoddesc}[Alias]{Update}{file\optional{, file2}}
-Update the alias to point to the \var{file} given. If \var{file2} is
-present a relative alias will be created.
-\end{methoddesc}
-
-Note that it is currently not possible to directly manipulate a
-resource as an \class{Alias} object. Hence, after calling
-\method{Update()} or after \method{Resolve()} indicates that the alias
-has changed the Python program is responsible for getting the
-\member{data} value from the \class{Alias} object and modifying the
-resource.
-
-
-\subsection{FInfo Objects \label{finfo-objects}}
-
-See \citetitle{Inside Macintosh: Files} for a complete description of what
-the various fields mean.
-
-\begin{memberdesc}[FInfo]{Creator}
-The 4-character creator code of the file.
-\end{memberdesc}
-
-\begin{memberdesc}[FInfo]{Type}
-The 4-character type code of the file.
-\end{memberdesc}
-
-\begin{memberdesc}[FInfo]{Flags}
-The finder flags for the file as 16-bit integer. The bit values in
-\var{Flags} are defined in standard module \module{MACFS}.
-\end{memberdesc}
-
-\begin{memberdesc}[FInfo]{Location}
-A Point giving the position of the file's icon in its folder.
-\end{memberdesc}
-
-\begin{memberdesc}[FInfo]{Fldr}
-The folder the file is in (as an integer).
-\end{memberdesc}
diff --git a/Doc/mac/libmacostools.tex b/Doc/mac/libmacostools.tex
index 556e46f..2754811 100644
--- a/Doc/mac/libmacostools.tex
+++ b/Doc/mac/libmacostools.tex
@@ -39,6 +39,7 @@ Tell the finder that some bits of finder-information such as creator
or type for file \var{dst} has changed. The file can be specified by
pathname or fsspec. This call should tell the finder to redraw the
files icon.
+\deprecated{2.6}{The function is a no-op on OS X.}
\end{funcdesc}
\begin{datadesc}{BUFSIZ}
diff --git a/Lib/binhex.py b/Lib/binhex.py
index 0f3e3c4..9059880 100644
--- a/Lib/binhex.py
+++ b/Lib/binhex.py
@@ -510,14 +510,7 @@ def hexbin(inp, out):
ifp.close()
def _test():
- if os.name == 'mac':
- import macfs
- fss, ok = macfs.PromptGetFile('File to convert:')
- if not ok:
- sys.exit(0)
- fname = fss.as_pathname()
- else:
- fname = sys.argv[1]
+ fname = sys.argv[1]
binhex(fname, fname+'.hqx')
hexbin(fname+'.hqx', fname+'.viahqx')
#hexbin(fname, fname+'.unpacked')
diff --git a/Lib/plat-mac/macfs.py b/Lib/plat-mac/macfs.py
deleted file mode 100644
index 73815ae..0000000
--- a/Lib/plat-mac/macfs.py
+++ /dev/null
@@ -1,198 +0,0 @@
-"""macfs - Pure Python module designed to be backward compatible with
-macfs and MACFS.
-"""
-import sys
-import struct
-import Carbon.Res
-import Carbon.File
-import warnings
-
-warnings.warn("macfs is deprecated, use Carbon.File, Carbon.Folder or EasyDialogs",
- DeprecationWarning, stacklevel=2)
-
-# First step: ensure we also emulate the MACFS module, which contained
-# all the constants
-
-sys.modules['MACFS'] = sys.modules[__name__]
-
-# Import all those constants
-from Carbon.Files import *
-from Carbon.Folders import *
-
-# For some obscure historical reason these are here too:
-READ = 1
-WRITE = 2
-smAllScripts = -3
-
-#
-# Find the epoch conversion for file dates in a way that works on OS9 and OSX
-import time
-if time.gmtime(0)[0] == 1970:
- _EPOCHCONVERT = -((1970-1904)*365 + 17) * (24*60*60) + 0x100000000L
- def _utc2time(utc):
- t = utc[1] + _EPOCHCONVERT
- return int(t)
- def _time2utc(t):
- t = int(t) - _EPOCHCONVERT
- if t < -0x7fffffff:
- t = t + 0x10000000L
- return (0, int(t), 0)
-else:
- def _utc2time(utc):
- t = utc[1]
- if t < 0:
- t = t + 0x100000000L
- return t
- def _time2utc(t):
- if t > 0x7fffffff:
- t = t - 0x100000000L
- return (0, int(t), 0)
-
-# The old name of the error object:
-error = Carbon.File.Error
-
-#
-# The various objects macfs used to export. We override them here, because some
-# of the method names are subtly different.
-#
-class FSSpec(Carbon.File.FSSpec):
- def as_fsref(self):
- return FSRef(self)
-
- def NewAlias(self, src=None):
- return Alias(Carbon.File.NewAlias(src, self))
-
- def GetCreatorType(self):
- finfo = self.FSpGetFInfo()
- return finfo.Creator, finfo.Type
-
- def SetCreatorType(self, ctor, tp):
- finfo = self.FSpGetFInfo()
- finfo.Creator = ctor
- finfo.Type = tp
- self.FSpSetFInfo(finfo)
-
- def GetFInfo(self):
- return self.FSpGetFInfo()
-
- def SetFInfo(self, info):
- return self.FSpSetFInfo(info)
-
- def GetDates(self):
- catInfoFlags = kFSCatInfoCreateDate|kFSCatInfoContentMod|kFSCatInfoBackupDate
- catinfo, d1, d2, d3 = FSRef(self).FSGetCatalogInfo(catInfoFlags)
- cdate = catinfo.createDate
- mdate = catinfo.contentModDate
- bdate = catinfo.backupDate
- return _utc2time(cdate), _utc2time(mdate), _utc2time(bdate)
-
- def SetDates(self, cdate, mdate, bdate):
- catInfoFlags = kFSCatInfoCreateDate|kFSCatInfoContentMod|kFSCatInfoBackupDate
- catinfo = Carbon.File.FSCatalogInfo(
- createDate = _time2utc(cdate),
- contentModDate = _time2utc(mdate),
- backupDate = _time2utc(bdate))
- FSRef(self).FSSetCatalogInfo(catInfoFlags, catinfo)
-
-class FSRef(Carbon.File.FSRef):
- def as_fsspec(self):
- return FSSpec(self)
-
-class Alias(Carbon.File.Alias):
-
- def GetInfo(self, index):
- return self.GetAliasInfo(index)
-
- def Update(self, *args):
- pass # print "Alias.Update not yet implemented"
-
- def Resolve(self, src=None):
- fss, changed = self.ResolveAlias(src)
- return FSSpec(fss), changed
-
-from Carbon.File import FInfo
-
-# Backward-compatible type names:
-FSSpecType = FSSpec
-FSRefType = FSRef
-AliasType = Alias
-FInfoType = FInfo
-
-# Global functions:
-def ResolveAliasFile(fss, chain=1):
- fss, isdir, isalias = Carbon.File.ResolveAliasFile(fss, chain)
- return FSSpec(fss), isdir, isalias
-
-def RawFSSpec(data):
- return FSSpec(rawdata=data)
-
-def RawAlias(data):
- return Alias(rawdata=data)
-
-def FindApplication(*args):
- raise NotImplementedError, "FindApplication no longer implemented"
-
-def NewAliasMinimalFromFullPath(path):
- return Alias(Carbon.File.NewAliasMinimalFromFullPath(path, '', ''))
-
-# Another global function:
-from Carbon.Folder import FindFolder
-
-#
-# Finally the old Standard File routine emulators.
-#
-
-_curfolder = None
-
-def StandardGetFile(*typelist):
- """Ask for an input file, optionally specifying 4-char file types that are
- allowable"""
- return PromptGetFile('', *typelist)
-
-def PromptGetFile(prompt, *typelist):
- """Ask for an input file giving the user a prompt message. Optionally you can
- specifying 4-char file types that are allowable"""
- import EasyDialogs
- warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen",
- DeprecationWarning, stacklevel=2)
- if not typelist:
- typelist = None
- fss = EasyDialogs.AskFileForOpen(message=prompt, wanted=FSSpec,
- typeList=typelist, defaultLocation=_handleSetFolder())
- return fss, not fss is None
-
-def StandardPutFile(prompt, default=None):
- """Ask the user for an output file, with a prompt. Optionally you cn supply a
- default output filename"""
- import EasyDialogs
- warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen",
- DeprecationWarning, stacklevel=2)
- fss = EasyDialogs.AskFileForSave(wanted=FSSpec, message=prompt,
- savedFileName=default, defaultLocation=_handleSetFolder())
- return fss, not fss is None
-
-def SetFolder(folder):
- global _curfolder
- warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen",
- DeprecationWarning, stacklevel=2)
- if _curfolder:
- rv = FSSpec(_curfolder)
- else:
- rv = None
- _curfolder = folder
- return rv
-
-def _handleSetFolder():
- global _curfolder
- rv = _curfolder
- _curfolder = None
- return rv
-
-def GetDirectory(prompt=None):
- """Ask the user to select a folder. Optionally you can give a prompt."""
- import EasyDialogs
- warnings.warn("macfs.StandardGetFile and friends are deprecated, use EasyDialogs.AskFileForOpen",
- DeprecationWarning, stacklevel=2)
- fss = EasyDialogs.AskFolder(message=prompt, wanted=FSSpec,
- defaultLocation=_handleSetFolder())
- return fss, not fss is None
diff --git a/Lib/plat-mac/macostools.py b/Lib/plat-mac/macostools.py
index f7ce468..fc4861e 100644
--- a/Lib/plat-mac/macostools.py
+++ b/Lib/plat-mac/macostools.py
@@ -65,21 +65,9 @@ def mkdirs(dst):
def touched(dst):
"""Tell the finder a file has changed. No-op on MacOSX."""
- if sys.platform != 'mac': return
import warnings
- warnings.filterwarnings("ignore", "macfs.*", DeprecationWarning, __name__)
- import macfs
- file_fss = macfs.FSSpec(dst)
- vRefNum, dirID, name = file_fss.as_tuple()
- dir_fss = macfs.FSSpec((vRefNum, dirID, ''))
- crdate, moddate, bkdate = dir_fss.GetDates()
- now = time.time()
- if now == moddate:
- now = now + 1
- try:
- dir_fss.SetDates(crdate, now, bkdate)
- except macfs.error:
- pass
+ warnings.warn("macostools.touched() has been deprecated",
+ DeprecationWarning, 2)
def touched_ae(dst):
"""Tell the finder a file has changed"""
@@ -129,7 +117,6 @@ def copy(src, dst, createpath=0, copydates=1, forcetype=None):
dstfsr = File.FSRef(dst)
catinfo, _, _, _ = srcfsr.FSGetCatalogInfo(Files.kFSCatInfoAllDates)
dstfsr.FSSetCatalogInfo(Files.kFSCatInfoAllDates, catinfo)
- touched(dstfss)
def copytree(src, dst, copydates=1):
"""Copy a complete file tree to a new destination"""
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index cba70ed..01484be 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -1198,7 +1198,6 @@ _expectations = {
test_imgfile
test_linuxaudiodev
test_locale
- test_macfs
test_macostools
test_nis
test_ossaudiodev
@@ -1235,7 +1234,6 @@ _expectations = {
test_gzip
test_imgfile
test_linuxaudiodev
- test_macfs
test_macostools
test_nis
test_ossaudiodev
@@ -1264,7 +1262,6 @@ _expectations = {
test_imgfile
test_linuxaudiodev
test_locale
- test_macfs
test_macostools
test_nis
test_normalization
@@ -1298,7 +1295,6 @@ _expectations = {
test_imgfile
test_linuxaudiodev
test_locale
- test_macfs
test_macostools
test_nis
test_ossaudiodev
@@ -1340,7 +1336,7 @@ class _ExpectedSkips:
self.expected.add('test_imageop')
if not sys.platform in ("mac", "darwin"):
- MAC_ONLY = ["test_macostools", "test_macfs", "test_aepack",
+ MAC_ONLY = ["test_macostools", "test_aepack",
"test_plistlib", "test_scriptpackages"]
for skip in MAC_ONLY:
self.expected.add(skip)
diff --git a/Lib/test/test_macfs.py b/Lib/test/test_macfs.py
deleted file mode 100644
index 9c0e3a1..0000000
--- a/Lib/test/test_macfs.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright (C) 2003 Python Software Foundation
-
-import unittest
-import warnings
-warnings.filterwarnings("ignore", "macfs.*", DeprecationWarning, __name__)
-import macfs
-import os
-import sys
-import tempfile
-from test import test_support
-
-class TestMacfs(unittest.TestCase):
-
- def setUp(self):
- fp = open(test_support.TESTFN, 'w')
- fp.write('hello world\n')
- fp.close()
-
- def tearDown(self):
- try:
- os.unlink(test_support.TESTFN)
- except:
- pass
-
- def test_fsspec(self):
- fss = macfs.FSSpec(test_support.TESTFN)
- self.assertEqual(os.path.realpath(test_support.TESTFN), fss.as_pathname())
-
- def test_fsref(self):
- fsr = macfs.FSRef(test_support.TESTFN)
- self.assertEqual(os.path.realpath(test_support.TESTFN), fsr.as_pathname())
-
- def test_fsref_unicode(self):
- if sys.getfilesystemencoding():
- testfn_unicode = unicode(test_support.TESTFN)
- fsr = macfs.FSRef(testfn_unicode)
- self.assertEqual(os.path.realpath(test_support.TESTFN), fsr.as_pathname())
-
- def test_coercion(self):
- fss = macfs.FSSpec(test_support.TESTFN)
- fsr = macfs.FSRef(test_support.TESTFN)
- fss2 = fsr.as_fsspec()
- fsr2 = fss.as_fsref()
- self.assertEqual(fss.as_pathname(), fss2.as_pathname())
- self.assertEqual(fsr.as_pathname(), fsr2.as_pathname())
-
- def test_dates(self):
- import time
- fss = macfs.FSSpec(test_support.TESTFN)
- now = int(time.time())
- fss.SetDates(now, now+1, now+2)
- dates = fss.GetDates()
- self.assertEqual(dates, (now, now+1, now+2))
-
- def test_ctor_type(self):
- fss = macfs.FSSpec(test_support.TESTFN)
- fss.SetCreatorType('Pyth', 'TEXT')
- filecr, filetp = fss.GetCreatorType()
- self.assertEqual((filecr, filetp), ('Pyth', 'TEXT'))
-
- def test_alias(self):
- fss = macfs.FSSpec(test_support.TESTFN)
- alias = fss.NewAlias()
- fss2, changed = alias.Resolve()
- self.assertEqual(changed, 0)
- self.assertEqual(fss.as_pathname(), fss2.as_pathname())
-
-
- def test_fss_alias(self):
- fss = macfs.FSSpec(test_support.TESTFN)
-
-
-def test_main():
- test_support.run_unittest(TestMacfs)
-
-
-if __name__ == '__main__':
- test_main()
diff --git a/Lib/test/test_macostools.py b/Lib/test/test_macostools.py
index f3292ce..40b690a 100644
--- a/Lib/test/test_macostools.py
+++ b/Lib/test/test_macostools.py
@@ -51,7 +51,11 @@ class TestMacostools(unittest.TestCase):
def test_touched(self):
# This really only tests that nothing unforeseen happens.
- macostools.touched(test_support.TESTFN)
+ import warnings
+ with test_support.guard_warnings_filter():
+ warnings.filterwarnings('ignore', 'macostools.touched*',
+ DeprecationWarning)
+ macostools.touched(test_support.TESTFN)
def test_copy(self):
try:
diff --git a/Misc/NEWS b/Misc/NEWS
index 5b97938..10564fa 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -883,6 +883,10 @@ Windows
Mac
---
+- Removed the macfs module. It had been deprecated since Python 2.5. This
+ lead to the deprecation of macostools.touched() as it relied solely on macfs
+ and was a no-op under OS X.
+
What's New in Python 2.5 release candidate 1?
=============================================