Package caldavclientlibrary :: Package browser :: Package commands :: Module cd
[hide private]
[frames] | no frames]

Source Code for Module caldavclientlibrary.browser.commands.cd

 1  ## 
 2  # Copyright (c) 2007-2016 Apple Inc. All rights reserved. 
 3  # 
 4  # Licensed under the Apache License, Version 2.0 (the "License"); 
 5  # you may not use this file except in compliance with the License. 
 6  # You may obtain a copy of the License at 
 7  # 
 8  # http://www.apache.org/licenses/LICENSE-2.0 
 9  # 
10  # Unless required by applicable law or agreed to in writing, software 
11  # distributed under the License is distributed on an "AS IS" BASIS, 
12  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
13  # See the License for the specific language governing permissions and 
14  # limitations under the License. 
15  ## 
16   
17  from caldavclientlibrary.browser.command import Command 
18  from caldavclientlibrary.browser.command import WrongOptions 
19  import os 
20  import getopt 
21  import shlex 
22   
23 -class Cmd(Command):
24
25 - def __init__(self):
26 super(Command, self).__init__() 27 self.cmds = ("cd",)
28
29 - def execute(self, name, options):
30 opts, args = getopt.getopt(shlex.split(options), '') 31 if len(opts) or len(args) != 1: 32 print self.usage(name) 33 raise WrongOptions() 34 35 newpath = args[0] 36 oldpath = self.shell.wd 37 result = True 38 39 if newpath == "..": 40 result = self.shell.setWD(os.path.dirname(oldpath)) 41 elif newpath == ".": 42 pass 43 elif newpath.startswith("/"): 44 result = self.shell.setWD(newpath) 45 else: 46 result = self.shell.setWD(os.path.normpath(os.path.join(oldpath, newpath))) 47 48 if not result: 49 print "%s: %s No such directory" % (name, options,) 50 51 return result
52
53 - def complete(self, text):
55
56 - def usage(self, name):
57 return """Usage: %s PATH 58 PATH is a relative or absolute path. 59 """ % (name,)
60
61 - def helpDescription(self):
62 return "Change working directory."
63