Foundations is the core package of Umbra, sIBL_GUI, sIBL_Reporter. It provides modules defining various utilities classes and definitions used in those packages.
The following dependencies are needed:
- Python 2.6.7 or Python 2.7.3: http://www.python.org/
- PyQt: http://www.riverbankcomputing.co.uk/
To install Foundations from the Python Package Index you can issue this command in a shell:
pip install Foundations
or this alternative command:
easy_install Foundations
Alternatively, if you want to directly install from Github source repository:
git clone git://github.com/KelSolaar/Foundations.git
cd Foundations
python setup.py install
If you want to build the documentation you will also need:
Given the large spectrum of the objects defined in Foundations package, please refer to Foundations - Api for precise usage examples about each modules. Here are listed a few non exhaustive usage examples.
- foundations.dataStructures.Structure:
>>> person = Structure(firstName="Doe", lastName="John", gender="male")
>>> person.firstName
'Doe'
>>> person.keys()
['gender', 'firstName', 'lastName']
>>> person["gender"]
'male'
>>> del(person["gender"])
>>> person["gender"]
Traceback (most recent call last):
File "<console>", line 1, in <module>
KeyError: 'gender'
>>> person.gender
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'Structure' object has no attribute 'gender'
- foundations.dataStructures.Lookup:
>>> person = Lookup(firstName="Doe", lastName="John", gender="male")
>>> person.getFirstKeyFromValue("Doe")
'firstName'
>>> persons = foundations.foundations.dataStructures.Lookup(John="Doe", Jane="Doe", Luke="Skywalker")
>>> persons.getKeysFromValue("Doe")
['Jane', 'John']
- foundations.environment.Environment:
>>> environment = Environment(JOHN="DOE", DOE="JOHN")
>>> environment.setValues()
True
>>> import os
>>> os.environ["JOHN"]
'DOE'
>>> os.environ["DOE"]
'JOHN'
- foundations.strings.getNiceName:
>>> getNiceName("getMeANiceName")
'Get Me A Nice Name'
>>> getNiceName("__getMeANiceName")
'__Get Me A Nice Name'
- foundations.strings.getSplitextBasename:
>>> getSplitextBasename("/Users/JohnDoe/Documents/Test.txt")
'Test'
- foundations.strings.getCommonPathsAncestor:
>>> getCommonPathsAncestor("/Users/JohnDoe/Documents", "/Users/JohnDoe/Documents/Test.txt")
'/Users/JohnDoe/Documents'
- foundations.walkers.filesWalker:
>>> for file in filesWalker("./foundations/tests/testsFoundations/resources/standard/level_0"):
... print(file)
...
./foundations/tests/testsFoundations/resources/standard/level_0/level_1/level_2/standard.sIBLT
./foundations/tests/testsFoundations/resources/standard/level_0/level_1/loremIpsum.txt
./foundations/tests/testsFoundations/resources/standard/level_0/level_1/standard.rc
./foundations/tests/testsFoundations/resources/standard/level_0/standard.ibl
>>> for file in filesWalker("./foundations/tests/testsFoundations/resources/standard/level_0", ("\.sIBLT",)):
... print(file)
...
./foundations/tests/testsFoundations/resources/standard/level_0/level_1/level_2/standard.sIBLT
Foundations Api documentation is available here: Foundations - Api
Foundations Changes file is available here: Foundations - Changes
Copyright© 2008 - 2013 - Thomas Mansencal - thomas.mansencal@gmail.com
This software is released under terms of GNU GPL V3 license: http://www.gnu.org/licenses/
http://www.thomasmansencal.com/