Candyshop is a helper to determine if all your dependencies are declared properly.
An assistant to determine if all your dependencies are declared properly in your odoo module.
Candyshop is a helper to determine if all your dependencies are declared properly. A Candyshop is a place where you can pick sweets and candies from a list of wonderful options, but choose wisely.
For more information, please read the full documentation.
- Access an Odoo Module as an object abstraction.
- Get all module references from all xml files of a module.
- Generate and clone the dependency tree of a group of modules (bundle).
- Generate a virtual enviroment where you can add group of modules.
- Determine which Odoo Modules declare a dependency to another module that is not present in the environment.
- Determine which XML files make reference to an Odoo Module that is not present in the environment.
The candyshop program is written in python and hosted on PyPI. Therefore, you can use pip to install the stable version:
$ pip install --upgrade candyshop
If you want to install the development version (not recomended), you can install directlty from GitHub like this:
$ pip install --upgrade https://github.com/LuisAlejandro/candyshop/archive/master.tar.gz
Here you can consult practical uses for some of the Candyshop functions. For a more detailed review on what you can do with it, we recommend you to read the api documentation.
The Module class
The Module class is an abstraction of an Odoo Module. You can perform several operations to access the module information:
from candyshop.bundle import Module # Create a Module instance module = Module('path/to/module') # Query for data print(module.path) print(module.manifest) # Query information in manifest file print(module.properties.name) print(module.properties.version) print(module.properties.depends)
The Bundle class
The Bundle class is an abstraction of a Group of modules, often referred to as Addons. Here you can see how to interact with a bundle:
from candyshop.bundle import Bundle # Create a Bundle instance bundle = Bundle('path/to/bundle') # Query for data print(bundle.name) print(bundle.path) print(bundle.modules) print(bundle.oca_dependencies)
The Environment class
The Environment class is an abstraction of a virtual Odoo Environment. Think of it as an imaginary container inside of which you can add Bundles and ask for specific information about them. For example:
from candyshop.environment import Environment # Create an Environment env = Environment() # Insert bundles # If any bundle has an oca_dependencies.txt file, # clone its dependencies and insert them as bundles env.addbundles(['./path-to-bundle', '../addons', '../etc']) # Make a report about dependencies that are not present in # the environment env.get_notmet_dependencies_report() # Make a report about record ids that reference modules # which are not present in the environment env.get_notmet_record_ids_report()
If you have any doubts or problems, suscribe to our Gitter Chat and ask for help. You can also ask your question on StackOverflow (tag it pypicontents) or drop me an email at email@example.com.
See CONTRIBUTING.rst for details.
See HISTORY.rst for details.
Copyright 2016-2017, Candyshop Developers (read AUTHORS.rst for a full list of copyright holders).
Made with :heart: and :hamburger:
My name is Luis (@LuisAlejandro) and I’m a Free and Open-Source Software developer living in Maracay, Venezuela.
Blog huntingbears.com.ve · GitHub @LuisAlejandro · Twitter @LuisAlejandro