def get_portal_status(portal_pack): svn_utils = SvnUtils() svn_url = portal_pack.svn_url portal_is_old = False current_revision = svn_utils.get_current_svn_revision(svn_url) previous_revision = int(portal_pack.svn_version) if current_revision > previous_revision: portal_is_old = True machine_json = {'portal_svn_info': []} portal_json = { 'svn_url': svn_url, 'previous_revision': previous_revision, 'current_revision': current_revision, 'is_old': portal_is_old, 'key_submits': [] } portal_key_submits = svn_utils.get_key_submit_by_revision( svn_url, previous_revision, revision_start=current_revision) if portal_key_submits: for key_submit in portal_key_submits: d = { 'start': key_submit.revision_start, 'end': key_submit.revision_end, 'remark': key_submit.remark } portal_json['key_submits'].append(d) machine_json['portal_svn_info'].append(portal_json) return machine_json['portal_svn_info'], portal_is_old, portal_key_submits
def get_serve_status(svn_info): server_is_old = False if svn_info: svn_info = json.loads(svn_info) svn_utils = SvnUtils() machine_json = {'server_svn_info': []} for server_svn_url in svn_info: value = svn_info[server_svn_url] server_previous_revision = value[1] server_current_revision = svn_utils.get_current_svn_revision( server_svn_url) branch_is_old = False if server_current_revision > server_previous_revision: server_is_old = True branch_is_old = True server_json = { 'server_svn_url': server_svn_url, 'server_previous_revision': server_previous_revision, 'server_current_revision': server_current_revision, 'is_old': branch_is_old, 'key_submits': [] } server_key_submits = svn_utils.get_key_submit_by_revision( server_svn_url, server_previous_revision, revision_start=server_current_revision) for server_key_submit in server_key_submits: server_json['key_submits'].append({ 'start': server_key_submit.revision_start, 'end': server_key_submit.revision_end, 'remark': server_key_submit.remark }) machine_json['server_svn_info'].append(server_json) return machine_json['server_svn_info'], server_is_old, server_key_submits