Changeset 2905
- Timestamp:
- 12/30/07 14:08:23 (1 year ago)
- Files:
-
- ipython/trunk/IPython/Extensions/ipy_fsops.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
ipython/trunk/IPython/Extensions/ipy_fsops.py
r2903 r2905 21 21 import shutil,os,shlex 22 22 from IPython.external import mglob 23 23 from IPython.Extensions.path import path 24 24 from IPython.ipapi import UsageError 25 25 … … 185 185 186 186 187 class FileObj:188 def __init__(self,p):189 self.path = p190 def __call__(self):191 os.startfile(self.path)192 def __str__(self):193 return self.path194 187 195 188 class PathObj: 196 189 def __init__(self,p): 197 190 self.path = p 198 if os.path.isdir(p): 191 if p != '.': 192 self.ents = [pathobj_mangle(ent) for ent in os.listdir(p)] 193 else: 199 194 self.ents = None 200 self.ents = [pathobj_mangle(ent) for ent in os.listdir(p)]201 195 def __complete__(self): 202 if self. ents:196 if self.path != '.': 203 197 return self.ents 204 return None 198 self.ents = [pathobj_mangle(ent) for ent in os.listdir('.')] 199 return self.ents 205 200 def __getattr__(self,name): 206 201 if name in self.ents: … … 215 210 return PathObj(tgt) 216 211 if os.path.isfile(tgt): 217 return FileObj(tgt)212 return path(tgt) 218 213 219 214 raise AttributeError, name # <<< DON'T FORGET THIS LINE !! … … 232 227 if hasattr(obj,'__complete__'): 233 228 return obj.__complete__() 234 raise TryNext229 raise IPython.ipapi.TryNext 235 230 236 231 complete_pathobj = IPython.generics.complete_object.when_type(PathObj)(complete_pathobj) … … 242 237 croot = PathObj("c:/") 243 238 startmenu = PathObj("d:/Documents and Settings/All Users/Start Menu/Programs") 244 ip.to_user_ns("croot startmenu") 239 cwd = PathObj('.') 240 ip.to_user_ns("croot startmenu cwd") 245 241 246 242 #test_pathobj()
