文件操作 - method.py
返回文件管理
返回主菜单
删除本文件
文件: /usr/lib/python2.7/site-packages/pykickstart/commands/method.py
编辑文件内容
# # Chris Lumens <clumens@redhat.com> # # Copyright 2013 Red Hat, Inc. # # This copyrighted material is made available to anyone wishing to use, modify, # copy, or redistribute it subject to the terms and conditions of the GNU # General Public License v.2. This program is distributed in the hope that it # will be useful, but WITHOUT ANY WARRANTY expressed or implied, including the # implied warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License along with # this program; if not, write to the Free Software Foundation, Inc., 51 # Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. Any Red Hat # trademarks that are incorporated in the source code or documentation are not # subject to the GNU General Public License and may only be used or replicated # with the express permission of Red Hat, Inc. # from pykickstart.base import KickstartCommand class FC3_Method(KickstartCommand): removedKeywords = KickstartCommand.removedKeywords removedAttrs = KickstartCommand.removedAttrs # These are all set up as part of the base KickstartCommand. We want to # make sure looking them up gets redirected to the right place. internals = ["method", "writePriority", "currentCmd", "currentLine", "handler", "lineno", "seen"] _methods = ["cdrom", "harddrive", "nfs", "url"] def _clear_seen(self): """ Reset all the method's seen attributes to False""" for method in self._methods: setattr(getattr(self.handler, method), "seen", False) def _get_command(self, method): """Get a command for the given method.""" if method is None: # We use this to select the closest mirror option. # FIXME: Raise an error instead. method = "url" if method not in self._methods: raise AttributeError("Unknown method %s." % method) return getattr(self.handler, method) @property def method(self): """Return the seen method or None.""" for method in self._methods: if getattr(self.handler, method).seen: return method return None @method.setter def method(self, value): """Set which method is seen.""" self._clear_seen() if value is None: return self._get_command(value).seen = True def __getattr__(self, name): """Get the attribute in the seen command. Called when an attribute lookup has not found the attribute in the usual places. """ # Prevent recursion in copy and deepcopy. # See commit f5dbcfb for explanation. if name in ["handler", "method", "_methods"]: raise AttributeError() command = self._get_command(self.method) return getattr(command, name) def __setattr__(self, name, value): """Set the attribute in the seen command. Called when an attribute assignment is attempted. """ if name in self.internals: super(FC3_Method, self).__setattr__(name, value) return command = self._get_command(self.method) # Check if the kickstart command has the attribute. # Instead of using hasattr, that calls getattr and catches the exception # that we would have to raise again, we call getattr directly. getattr(command, name) # Set the attribute of the kickstart command. command.__setattr__(name, value) # These are all just for compat. Calling into the appropriate version-specific # method command will deal with making sure the right options are used. FC6_Method = FC3_Method F13_Method = FC6_Method F14_Method = F13_Method RHEL6_Method = F14_Method F18_Method = F14_Method class F19_Method(FC3_Method): removedKeywords = FC3_Method.removedKeywords removedAttrs = FC3_Method.removedAttrs _methods = FC3_Method._methods + ["liveimg"] class RHEL7_Method(F19_Method): removedKeywords = F19_Method.removedKeywords removedAttrs = F19_Method.removedAttrs _methods = F19_Method._methods + ["hmc"]
修改文件时间
将文件时间修改为当前时间的前一年
删除文件