From 835a15ce5f89febed33daf90eb31f1922cb5f58b Mon Sep 17 00:00:00 2001 From: wangchong1995924 <15229716099@163.com> Date: Tue, 23 Feb 2021 15:51:25 +0800 Subject: [PATCH] make some optimization --- core/gitee_to_obs.py | 5 +++++ core/package_manager.py | 16 +++++++++++++++- core/runner.py | 3 ++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/core/gitee_to_obs.py b/core/gitee_to_obs.py index e89d56a..076e12e 100644 --- a/core/gitee_to_obs.py +++ b/core/gitee_to_obs.py @@ -209,6 +209,10 @@ class SYNCCode(object): if self.repository and not self.project: self._write_date_to_file() self._pre_sync_code() + elif self.repository and self.project: + self._write_date_to_file() + self._get_latest_gitee_pull() + self._gitee_pr_to_obs(self.project) elif not self.repository and self.project: cmd = "osc ls %s" % self.project pkgs = os.popen(cmd).readlines() @@ -217,6 +221,7 @@ class SYNCCode(object): log.info(pkg.replace('\n', '')) self.repository = pkg.replace('\n', '') if self.repository: + self._write_date_to_file() self._get_latest_gitee_pull() self._gitee_pr_to_obs(self.project) else: diff --git a/core/package_manager.py b/core/package_manager.py index 837f113..990f9bc 100755 --- a/core/package_manager.py +++ b/core/package_manager.py @@ -24,6 +24,7 @@ import sys import yaml import shutil import configparser +from core.gitee_to_obs import SYNCCode current_path = os.path.join(os.path.split(os.path.realpath(__file__))[0]) sys.path.append(os.path.join(current_path, "..")) from common.log_obs import log @@ -251,7 +252,18 @@ class OBSPkgManager(object): """ self._del_pkg(proj, pkg) self._add_pkg(new_proj, pkg, branch_name) - + + def _sync_pkg_code(self, proj, pkg): + """ + when adding a new package to a project, sync code + """ + os.chdir(self.kwargs["init_path"]) + log.info("Start synchronization code...") + self.kwargs['project'] = proj + self.kwargs['repository'] = pkg + sy = SYNCCode(**self.kwargs) + sy.sync_code_to_obs() + def _parse_git_log(self, line): """ deal diff_patch line mesg @@ -343,6 +355,7 @@ class OBSPkgManager(object): if msg["log_type"] == "Add-pkg": if msg["exist_flag"] == 0: self._add_pkg(msg["proj"], msg["pkg"], msg["branch_name"]) + self._sync_pkg_code(msg["proj"], msg["pkg"]) elif msg["log_type"] == "Del-pkg": self._del_pkg(msg["proj"], msg["pkg"]) elif msg["log_type"] == "Del-pkg-service": @@ -432,6 +445,7 @@ class OBSPkgManager(object): if len(need_add): for pkgname in list(need_add): self._add_pkg(proj, pkgname, meta_pb_dict[proj]) + self._sync_pkg_code(proj, pkgname) if len(need_del): for pkgname in list(need_del): self._del_pkg(proj, pkgname) diff --git a/core/runner.py b/core/runner.py index 546fdfd..c753abb 100644 --- a/core/runner.py +++ b/core/runner.py @@ -25,7 +25,7 @@ from core.gitee_to_obs import SYNCCode from core.gitee_to_obs import CheckCode from core.package_manager import OBSPkgManager from core.update_obs_repos import RPMManager - +import os class Runner(object): """ @@ -38,6 +38,7 @@ class Runner(object): return: """ self.kwargs = kwargs + kwargs["init_path"] = os.getcwd() parc = ParserConfigIni() self.update_enabled_flag = parc.get_update_enabled_flag() self.ignore_list = parc.get_ignored_repo() -- Gitee