Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions connector_wordpress/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
===================
Connector WordPress
===================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:e5d78a8cbeaa3c3c83de6a8d06ee85faf15bdcb3420c70075c2d53874b4cfa30
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-NuoBiT%2Fodoo--addons-lightgray.png?logo=github
:target: https://github.com/NuoBiT/odoo-addons/tree/18.0/connector_wordpress
:alt: NuoBiT/odoo-addons

|badge1| |badge2| |badge3|

- `NuoBiT <https://www.nuobit.com>`__:

- Kilian Niubo kniubo@nuobit.com
- Deniz Gallo dgallo@nuobit.com

**Table of contents**

.. contents::
:local:

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/NuoBiT/odoo-addons/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/NuoBiT/odoo-addons/issues/new?body=module:%20connector_wordpress%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* NuoBiT Solutions SL

Contributors
------------

- `NuoBiT <https://www.nuobit.com>`__:

- Kilian Niubo kniubo@nuobit.com
- Eric Antones eantones@nuobit.com
- Deniz Gallo dgallo@nuobit.com

Maintainers
-----------

This module is part of the `NuoBiT/odoo-addons <https://github.com/NuoBiT/odoo-addons/tree/18.0/connector_wordpress>`_ project on GitHub.

You are welcome to contribute.
2 changes: 2 additions & 0 deletions connector_wordpress/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import components
from . import models
32 changes: 32 additions & 0 deletions connector_wordpress/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Copyright NuoBiT Solutions - Kilian Niubo <kniubo@nuobit.com>
# Copyright NuoBiT Solutions - Eric Antones <eantones@nuobit.com>
# Copyright 2026 NuoBiT Solutions SL - Deniz Gallo <dgallo@nuobit.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

{
"name": "Connector WordPress",
"version": "18.0.1.0.0",
"author": "NuoBiT Solutions SL",
"license": "AGPL-3",
"category": "Connector",
"website": "https://github.com/NuoBiT/odoo-addons",
"external_dependencies": {
# Python magic is included because it can detect more mimetypes
# used to export the files to WordPress.
"python": ["python-magic"],
},
"depends": [
"connector_extension_wordpress",
"website_sale_product_document",
"tools_mimetypes_extension",
],
"data": [
"security/connector_wordpress.xml",
"security/ir.model.access.csv",
"views/ir_attachment_views.xml",
"views/product_image_views.xml",
"views/wordpress_backend_view.xml",
"views/connector_wordpress_menu.xml",
],
"installable": True,
}
5 changes: 5 additions & 0 deletions connector_wordpress/components/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from . import core
from . import adapter
from . import binder
from . import exporter
from . import export_mapper
16 changes: 16 additions & 0 deletions connector_wordpress/components/adapter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright NuoBiT Solutions - Eric Antones <eantones@nuobit.com>
# Copyright NuoBiT Solutions - Kilian Niubo <kniubo@nuobit.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).


from odoo.addons.component.core import AbstractComponent


class WordPressAdapter(AbstractComponent):
_name = "wordpress.adapter"
_inherit = [
"connector.extension.wordpress.adapter.crud",
"base.wordpress.connector",
]

_description = "WordPress Binding (abstract)"
10 changes: 10 additions & 0 deletions connector_wordpress/components/binder.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright NuoBiT Solutions - Kilian Niubo <kniubo@nuobit.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
from odoo.addons.component.core import AbstractComponent


class WordPressBinder(AbstractComponent):
_name = "wordpress.binder"
_inherit = ["connector.extension.binder", "base.wordpress.connector"]

_default_binding_field = "wordpress_bind_ids"
12 changes: 12 additions & 0 deletions connector_wordpress/components/core.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright NuoBiT Solutions - Kilian Niubo <kniubo@nuobit.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

from odoo.addons.component.core import AbstractComponent


class BaseWordPressConnector(AbstractComponent):
_name = "base.wordpress.connector"
_inherit = "base.connector"
_collection = "wordpress.backend"

_description = "Base WordPress Connector Component"
9 changes: 9 additions & 0 deletions connector_wordpress/components/export_mapper.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright NuoBiT Solutions - Eric Antones <eantones@nuobit.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

from odoo.addons.component.core import AbstractComponent


class WordPressExportMapper(AbstractComponent):
_name = "wordpress.export.mapper"
_inherit = ["connector.extension.export.mapper", "base.wordpress.connector"]
40 changes: 40 additions & 0 deletions connector_wordpress/components/exporter.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Copyright NuoBiT Solutions - Eric Antones <eantones@nuobit.com>
# Copyright NuoBiT Solutions - Kilian Niubo <kniubo@nuobit.com>
# Copyright 2026 NuoBiT Solutions SL - Deniz Gallo <dgallo@nuobit.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)

import logging

from odoo.addons.component.core import AbstractComponent

_logger = logging.getLogger(__name__)


class WordPressRecordDirectExporter(AbstractComponent):
"""Base Exporter for WordPress"""

_name = "wordpress.record.direct.exporter"
_inherit = [
"connector.extension.record.direct.exporter",
"base.wordpress.connector",
]

def _get_lock_name(self, relation):
lock_name = (
f"export_record({self.backend_record._name}, "
f"{self.backend_record.id}, {relation._name}, {relation.checksum})"
)
return lock_name


class WordPressBatchExporter(AbstractComponent):
"""The role of a BatchExporter is to search for a list of
items to export, then it can either export them directly or delay
the export of each item separately.
"""

_name = "wordpress.batch.exporter"
_inherit = [
"connector.extension.batch.exporter",
"base.wordpress.connector",
]
Loading
Loading