Mercurial > hg > config
annotate python/aspects.py @ 694:ebca6d85213a
File "/usr/lib/python3/dist-packages/IPython/config/__init__.py", line 16, in <module>
from .application import *
File "/usr/lib/python3/dist-packages/IPython/config/application.py", line 31, in <module>
from IPython.config.configurable import SingletonConfigurable
File "/usr/lib/python3/dist-packages/IPython/config/configurable.py", line 33, in <module>
from IPython.utils.text import indent, wrap_paragraphs
File "/usr/lib/python3/dist-packages/IPython/utils/text.py", line 28, in <module>
from IPython.external.path import path
File "/usr/lib/python3/dist-packages/IPython/external/path/__init__.py", line 2, in <module>
from path import *
File "/home/jhammel/python/path.py", line 25
print root(path)
^
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Wed, 09 Jul 2014 16:26:49 -0700 |
parents | 2f0baf81372f |
children |
rev | line source |
---|---|
124
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
1 class MakePythonLikeJavascript(object): |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
2 def __getattr__(self, name): |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
3 return undefined |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
4 |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
5 class undefined(MakePythonLikeJavascript): |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
6 def __nonzero__(self): |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
7 return False |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
8 def __str__(self): |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
9 return 'undefined' |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
10 __repr__ = __str__ |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
11 undefined = undefined() # singleton |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
12 |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
13 if __name__ == '__main__': |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
14 foo = MakePythonLikeJavascript() |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
15 foo.bar = 5 |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
16 print foo.bar |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
17 print foo.fleem |
2f0baf81372f
added illustration of doing aspects in python
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
18 print foo.fleem.flarg |