Yann Weber
ebad5fae54
Moving random EM generation methods in a dedicated file
Creating a class RandomEm in EditorialModel/randomem.py
vor 9 Jahren
Yann Weber
06bd3b141d
Model construct enhancement with backend and MH inheritance
Every backend and MH are now subclasses of dummy ones. This allow to check the type with issubclass.
vor 9 Jahren
Yann Weber
a502965103
Bugfix on model
Make most of the model tests pass (except the tests about the backend calls and set)
vor 9 Jahren
Yann Weber
f2027275e3
Addapt graphviz backend and random EM generator to changes on master branch
Mostly about the changes on types hierarchy
vor 9 Jahren
Yann Weber
32975049d1
Use the kwargs parameter to tune generation
vor 9 Jahren
Yann Weber
d405f0b41e
Added a random methods to EmModel to generate a random EM
vor 9 Jahren
Yann Weber
a987b5b672
Added a method to create a random EM
vor 9 Jahren
ArnAud
5f0f5dd3bf
EmComponent: convert attr_dump attribut to a method
vor 9 Jahren
ArnAud
8b55bc54ed
EmModel : delete_component() return False if deletion is not possible
Also do not send change to MH if deletion is not done
vor 9 Jahren
ArnAud
644f76b14d
Emtype: superiors_list should be a dict with list of int
=> a type can have multiple superiors (only instance of LeObject can have one)
vor 9 Jahren
ArnAud
5fabf34ddb
EmType: bugfix, maybe we should learn python :p
vor 9 Jahren
ArnAud
d7b59df745
EmModel: attr_dump does not use attribut 'model' anymore
vor 9 Jahren
ArnAud
cdf31218f6
EmModel: _initiated attribut does not exist anymore in attr_dump
vor 9 Jahren
ArnAud
63787bc969
EmModel: bug fix create component: do not use positional argument
vor 9 Jahren
ArnAud
9131f7bcd2
EmField: type attribute is now called fieldtype
vor 9 Jahren
ArnAud
49b78fe37d
EmType: implement add_superior() & del_superior()
vor 9 Jahren
ArnAud
a89cfa4429
EmType: use superiors_list instead of subordinates_list to save type hierarchy
vor 9 Jahren
ArnAud
e5d6caa6cf
EmModel : new method migrate_handler()
use it to re-run ME creation in a new Migration Handler
vor 9 Jahren
ArnAud
ea302bb469
EmModel : create_component() can take an optional uid
vor 9 Jahren
Yann Weber
18695e3a72
Implement the BackendJson save method
vor 9 Jahren
Yann Weber
d35fa8c56e
Cleaning and commenting
vor 9 Jahren
Yann Weber
773afc5b2c
New version (again) of the fieldtypes
vor 9 Jahren
Yann Weber
4c0b8d3279
New graphviz backend + some methods added to some components
vor 9 Jahren
Yann Weber
aa6e01bff0
Dirty comit of a djago MH that "works"
Code cleaning, commenting etc needed...
vor 9 Jahren
Yann Weber
17c1eba918
Solved a bug about checking ranks and getting max rank
vor 9 Jahren
ArnAud
5fb9c8b7b6
EmComponent: get_max_rank() should return an int
vor 9 Jahren
Roland Haroutiounian
f1d819c254
[EmFieldGroup] Changed the assertions for the init tests with bad arguments
vor 9 Jahren
Roland Haroutiounian
03113ae8bf
Changes in the tests for the fieldgroups
vor 9 Jahren
Roland Haroutiounian
bf5704d361
[Model] pep8+pylint
vor 9 Jahren
Yann Weber
6aa32322a0
SHA512 hash for Model
vor 9 Jahren
Roland Haroutiounian
0bf24b6c48
[#45 ] Changed the return of the hash methods, we get integer instead of string
vor 9 Jahren
Yann Weber
4dfb751bb3
Removing a debug print
vor 9 Jahren
Yann Weber
084b8af6c1
MigrationHandler enhancement (now records Model's hash for each changes). Better beaviour of Model.create_component if MigrationHandler raises
vor 9 Jahren
Roland Haroutiounian
873edf19a6
[#45 ] Reimplemented the __eq__ method of the Model class so that it uses the newly defined __hash__ method
vor 9 Jahren
Roland Haroutiounian
8a6fdd4c6a
[#45 ] Added the __hash__ method implementation for the Model class
vor 9 Jahren
Yann Weber
ed9133016f
Fixing component deletion
vor 9 Jahren
Yann Weber
fe9184f608
Reimplementig EmComponent::__setattr__ to call migration handler
Addding a method to indicate the end of a component initialisation phase (used in Model.load and Model.create_component)
Adding a method that dump component attributes (used in Model.create_component and Model.delete_component to call the migration_handler)
vor 9 Jahren
Yann Weber
195cca24a4
Implementing check methods for each EmComponent child (and EmComponent)
No extended checks was done. Only tested if the check passes without syntax error and without failing with no reason
vor 9 Jahren
Yann Weber
b6ef37752f
Supressed _fields from EmComponent and transforming the EmComponent in a standart object with standarts attributes
vor 9 Jahren
Yann Weber
7f93063f05
Rank at creation improvement
vor 9 Jahren
Yann Weber
c9f2f16c77
Added rank handling at component creation
At creation if no rank specified the component will be place last, else you can pass an integer representing an absolute rank or two specials strings 'last' or 'first'
vor 9 Jahren
Yann Weber
a2529cf8eb
Added a check method to EmComponent and EmClass
EmComponent::check() always return True but rearrange ranks if they are not continuous
vor 9 Jahren
Yann Weber
d5fde8287b
Written a first DummyMigrationHandler and modified Model __init__ method to have a migration_handler arguments
Now Model as an attribute named migration_handler
DummyMigrationHandler has only one method : register_change
vor 9 Jahren
Yann Weber
8bf864c597
Handling rank sorting in Model and rank modifier in EmComponent
vor 9 Jahren
ArnAud
619232c5d8
EM Model: pylint and pep8
vor 9 Jahren
ArnAud
d8f8943ca8
EM Model: use the appropriate dict
vor 9 Jahren
Roland Haroutiounian
10c516e404
[EmFieldGroup] Changed in the deletion process. Raises a NotEmptyError in case fields are still attached to the fieldgroup
vor 9 Jahren
Yann Weber
9f0599939a
Update of Model.create_component method
vor 9 Jahren
Yann Weber
b87c276b26
Now EmComponents gets a Model instance when instanciate, and the Model._components dict structure has change a bit
Model._components now contains only one dict ( 'uids' key ) and the others are now list of EmComponent instances
Model now handle EVERY access to the _components dict
vor 9 Jahren
Yann Weber
6a56b31ba5
Migrating EmClass methods and EmComponent.delete according to the new Model object, changed the Model.components dict keys (and the json test file)
There is now two methods Model.name_from_emclass and emclass_from_name that allows to access the Model.components array
vor 9 Jahren