1. 01 Jul, 2021 7 commits
  2. 09 Sep, 2020 1 commit
  3. 17 Aug, 2020 1 commit
    • Matias Guijarro's avatar
      config: Node object refactoring to allow on-demand references evaluation, and... · c9a73209
      Matias Guijarro authored
      config: Node object refactoring to allow on-demand references evaluation, and improvements on cloning and conversion to dictionary
      
      * introduction of the Reference object
          - reference object has an 'eval' function to evaluate a reference
          - evaluation returns an object from config, or the value of an object attribute
      * '$' prefix in YAML values now creates a Reference
          - no reference evaluation at YAML parsing time
      * backward compatibility
          - getting a key with a reference returns the value, not the Reference
              * => introduction of ConfigList object to represent lists
          - '.raw_*' methods returns the raw contents, ie. with Reference objects instead of reference evaluated values
      * node filenames are kept in Node objects
          - removed 'node2file' dictionary
      * nodes are indexed automatically when inserting a 'name' key
          - no need for 'create_index'
          - same for tags
      * '.to_dict()' method relies on the Python JSON decoder
          - simplification of the code
      * '.deep_copy()' is renamed to '.clone()'
      * '.deep_copy()' now relies on pickle
          - simplification of the code
          - nodes need a reference to the Config object => a trick is used to allow pickling/unpickling
              * the config object is saved to a tmp dict on pickling, and popped out on unpickling
      * removed call to 'gc.collect()'
          - unclear why it was there at the first place
      * removed weakref to Config object in nodes
          - nodes need the config, the config has to stay alive as long as nodes are there
      c9a73209
  4. 01 Mar, 2020 1 commit
  5. 29 Jul, 2019 1 commit
  6. 23 Apr, 2019 1 commit
  7. 15 Apr, 2019 1 commit
  8. 08 Feb, 2019 1 commit
  9. 21 Aug, 2018 1 commit
  10. 12 Jul, 2017 1 commit
  11. 16 Mar, 2017 1 commit
  12. 02 Mar, 2017 1 commit
  13. 23 Feb, 2017 1 commit
  14. 09 Nov, 2016 1 commit
  15. 27 Sep, 2016 2 commits
  16. 21 Sep, 2016 2 commits
  17. 25 Jul, 2016 1 commit
  18. 13 Jun, 2016 1 commit
  19. 26 May, 2016 1 commit
  20. 25 May, 2016 1 commit
  21. 17 May, 2016 1 commit
  22. 01 Jul, 2015 1 commit
  23. 27 May, 2015 1 commit
  24. 19 Feb, 2015 3 commits
  25. 05 Feb, 2015 1 commit
  26. 31 Jan, 2015 1 commit
  27. 15 Jan, 2015 1 commit