Steven Armstrong
7d61b77708
fix autorequire dependency handling
...
- inherit explicit requirements that the user defined himself
- but _not_ implicit requirements that cdist added for autorequire
Changes:
- added new .autorequire property to CdistObject to keep track of implicit autorequire dependencies
- Emulator appends implicit requirements to this .autorequire property
- DependencyResolver preprocess these .autorequire properties before resolving normal dependencies
- refactored and documented DependencyResolver so it's clearer what happens and easier to use from tests
- update test cases to match new DependencyResolver behaviour
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Nico Schottelius
0082b7f07c
allow objects to start with /, but not to contain //; sanitise after validation
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
632146114c
update copyright
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
8f75a9133f
do not fail validation on empty object_id
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
1e5226e21c
fix indention errors due to vim c&p
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
2492d51f6f
make object_from_name() better readable
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
097b4ea6ad
:%s/self.type/self.cdist_type/g
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
f27730e10b
finish rewrite to instance method
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
0c990e1756
add singleton / no object_id test to CdistObject
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
fb4f8784b6
rename Type => CdistType
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
1314567012
also begin to prefix type with cdist
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
4be37f6e93
begin rename Object => CdistObject
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Nico Schottelius
15fb097464
add function to sanitise object_id and verify no //
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Steven Armstrong
252ae5ea56
new feature: dependency resolver
13 years ago
Steven Armstrong
1729516414
allow .cdist (OBJECT_MARKER) inside file names but not as _the_ file/folder name
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Nico Schottelius
c7d0d581b1
we pass base_path, not object_path (clearification)
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Steven Armstrong
792ddf0a5b
add utility method to join object name from type and object_id
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
afba5e9280
add utilitly method to split an object name into its type name and object_id
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
70ee0f1681
implement __lt__ to support sorting a list of objects
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
ff2192f6de
remove legacy attributes: ran, prepared
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
022b17d700
implement Object state
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
030d5919e6
raise exception if object_id contains .cdist
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Nico Schottelius
7bb81e2f18
Whitespace does not not weigh anything - remove - sed -i 's/ *$//g' *py */*py
...
Signed-off-by: Nico Schottelius <nico@brief.schottelius.org>
13 years ago
Steven Armstrong
fb705adc5d
simplify object_id error handling
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
93db0b58d6
append type to error message
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
f76a5abf6f
/./,/
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
1c84e423d1
include type name in error message
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
d346364544
better error message
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
3e3919d15f
implement fail if object_id starts with /
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
b122b53d73
implement Object object_from_name
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
5edcc0537b
use api internally instead of constructing the same paths again
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
939962b583
implement code_remote
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
93ede2a3be
implement code_local
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
2c6c9bcab5
Object handles its explorers itself
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
753936b7c3
make object.source a list
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
904396f6a5
new method to create object on the file system
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
5a082058e5
new method which checks if object exists on the file system
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
96c059983a
- legacy code, + docstrings
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
67543146f0
add source property
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
af8f006fc6
/type/cdist_type/
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
bbcecc03ef
remove redundant code, use new fsproperty module instead
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
86f976976e
bugfix: use absolute path when accessing file system
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
96ca5b6988
bugfix: use absolute path to when accessing file sytem (unittest discoverd :-)
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
e27cd9e809
when comparing objects, define equality as 'attributes are the same'
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
b778c9ff15
absolute path is based on relative path -> does not need another .cdist
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
5f4a85f6ad
also need .cdist in relative paths
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
53737aad3a
append .cdist to absolute paths
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
79d0a18bb2
use absolute path for accessing file system
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
600e7fb5b5
--typo
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago
Steven Armstrong
be8428e592
relative paths
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
13 years ago