Skip to content
  1. Oct 01, 2019
    • Jerome Berthier's avatar
      [tools.backend] fix iter_caps not returning only Capabilities · 7e2f5daf
      Jerome Berthier authored and hydrargyrum's avatar hydrargyrum committed
      When working with multiple AbstractModule inheritance you may
      have Class1 and Class2 instanciated:
      
      Class1(Module, CapBank)
      
      Class2(AbstractModule, CapBank) (Abstract of Class1)
      
      Instanciating a class Class2 object, its MRO contains both
      Class1 and CapBank.
      
      So when looking for Class2 capabilities, the patched method
      as returning Class1 because actually Class1 is a subclass of
      Capability as it inherit from Class1.
      7e2f5daf
  2. Jul 05, 2019
  3. Feb 27, 2019
  4. Feb 25, 2019
  5. Feb 24, 2019
  6. Sep 16, 2018
    • ntome's avatar
      weboob.tools.backend: use MRO in iter_caps rather than browsing __bases__ · d3b07508
      ntome authored and Romain Bignon's avatar Romain Bignon committed
      Using __bases__, a Capability might appear multiple times in iter_caps().
      For example, a Module inheriting CapBank and CapDocument would have
      CapCollection twice. This is a problem for AbstractModule which relies on
      iter_caps for subclassing.
      
      Instead, rely on a class' mro(), which avoid duplicates and has the added
      benefit of having capabilities ordered properly for subclassing.
      d3b07508
  7. Jul 30, 2018
  8. May 05, 2018
  9. Apr 25, 2018
  10. Mar 31, 2018
  11. Aug 30, 2017
  12. Jul 08, 2017
  13. Jun 19, 2017
  14. May 20, 2017
    • hydrargyrum's avatar
      weboob.tools.backend: fillobj should only force NotLoaded fields at end · d9b7f868
      hydrargyrum authored
      64cad1db let fillobj set fields to
      NotAvailable if they were not set by the OBJECTS callback.
      
      However, it overwrote even if a field was set but just incomplete. This
      may be needlessly zealous:
      - it may force hierarchical object trees to call fillobj recursively,
      which is costly (for example Message class)
      - it makes circular references fillobj harder (Thread and Message)
      d9b7f868
  15. Mar 11, 2017
  16. Feb 18, 2017
  17. Jan 16, 2017
  18. Jan 07, 2017
  19. Dec 26, 2016
  20. Dec 24, 2016
    • Vincent Ardisson's avatar
      tools.backend: change inheritance of an abstract backend class · 9a87c771
      Vincent Ardisson authored and Romain Bignon's avatar Romain Bignon committed
      As with AbstractPage, when instanciating an abstract backend, instead of
      creating a dynamic type, we tweak the class inheritance and use normal
      instanciation.
      9a87c771
    • Phyks (Lucas Verney)'s avatar
      Make as much modules unittests as possible run without backend · fdd10121
      Phyks (Lucas Verney) authored
      Using the `nofail` argument and hooking to `login` event, one can make
      as much modules unittests as possible run, and skip the unittests which
      require authentication or special configuration.
      
      Tests are also run using all available backends now. This is especially
      important for modules such as Amazon for which the backend has a large
      influence on the website being used and the code being run.
      
      I also changed the default values so that they match the expected type
      (rather than being `None`).
      fdd10121
  21. Dec 02, 2016
  22. Nov 27, 2016
  23. Oct 25, 2016
  24. Oct 09, 2016
  25. Sep 08, 2016
  26. Apr 30, 2016
  27. Apr 29, 2016
    • hydrargyrum's avatar
      fix a few __repr__/__str__ returning unicode · 5c3f2c96
      hydrargyrum authored
      In Python 2, __repr__ and __str__ shouldn't return unicode.
      This caused a problem for example when logging-debug a filter on Thumbnail.url,
      as the logger couldn't encode the unicode repr.
      5c3f2c96
  28. Mar 24, 2015
  29. Feb 21, 2015
  30. Oct 10, 2014
  31. Oct 09, 2014
  32. Sep 26, 2014