diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/scripts/restart_service.py b/main.py similarity index 67% rename from scripts/restart_service.py rename to main.py index 594469e..13e69bb 100644 --- a/scripts/restart_service.py +++ b/main.py @@ -2,12 +2,7 @@ import sys import os import argparse - -# Add the 'services' directory to sys.path before importing -sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "../services"))) - -# # Use absolute import from the services module -from odoo_manager import OdooModuleManager +from services.odoo.manager import OdooModuleManager def main(): diff --git a/services/__init__.py b/services/__init__.py index de14fd9..e69de29 100644 --- a/services/__init__.py +++ b/services/__init__.py @@ -1,4 +0,0 @@ -from . import config -# from . import git -from . import odoo_manager -from . import connection diff --git a/services/git/__init__.py b/services/git/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/services/git_handler.py b/services/git/handler.py similarity index 100% rename from services/git_handler.py rename to services/git/handler.py diff --git a/services/odoo/__init__.py b/services/odoo/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/services/odoo_connection.py b/services/odoo/connection.py similarity index 94% rename from services/odoo_connection.py rename to services/odoo/connection.py index a2e9393..dfabacc 100644 --- a/services/odoo_connection.py +++ b/services/odoo/connection.py @@ -1,10 +1,7 @@ from odoorpc import ODOO import os import sys - -# Adjust the path to import config from the service directory -sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))) -from config import Config +from utility.services.config import Config class OdooConnection: @@ -77,7 +74,7 @@ class OdooConnection: def get_instances(self): """Return the list of configured instances.""" return self.instances - + def execute(self, instance_name, model, method, *args, **kwargs): """Execute a method on a model for a specific instance.""" odoo = self.get_connection(instance_name) @@ -90,4 +87,4 @@ class OdooConnection: return result except Exception as e: print(f"Error executing {method} on {model} for {instance_name}: {e}") - raise \ No newline at end of file + raise diff --git a/services/odoo_manager.py b/services/odoo/manager.py similarity index 91% rename from services/odoo_manager.py rename to services/odoo/manager.py index 0fc7b92..ca58f9c 100644 --- a/services/odoo_manager.py +++ b/services/odoo/manager.py @@ -1,5 +1,5 @@ -from git_handler import GitHandler -from odoo_connection import OdooConnection +from utility.services.git.handler import GitHandler +from utility.services.odoo.connection import OdooConnection import subprocess @@ -14,15 +14,7 @@ class OdooModuleManager: ) def update_and_upgrade(self, instance_name=None): - """Update Git repo and upgrade multiple modules for the specified instance(s).""" - # old_commit = self.git.get_current_commit() - # updated = self.git.pull_updates() - # new_commit = self.git.get_current_commit() - - # if not updated or old_commit == new_commit: - # print("No new changes to apply.") - # return False - + """Update and upgrade multiple modules for the specified instance(s).""" self.config.connect(instance_name) # Connect to the target instance(s) for instance in self.config.get_instances(): if instance_name and instance["name"] != instance_name: