def add_mirror_project(project): name = "mirror/%s" % (project.name) _project = CodeDoubanProject.add( name=name, owner_id='mirror', summary=project.summary, product=project.product, intern_banned=project.intern_banned, mirror=project.mirror_url) if _project: CodeDoubanMirror.add(url=project.mirror_url, state=MIRROR_STATE_CLONING, project_id=_project.id, with_proxy=project.mirror_proxy) return _project
def main(): try: mirror_projects = CodeDoubanProject.get_projects(owner='mirror', sortby='created') for project in mirror_projects: mirror = CodeDoubanMirror.get_by_project_id(project.id) if not mirror: print "New: ", project.id, project.name, project.url mirror_url = project.git.call('ls-remote --get-url origin') CodeDoubanMirror.add(mirror_url, MIRROR_STATE_CLONED, project.id) else: print "Added: ", project.id, project.name, project.url except Exception, e: print_exc() sys.exit(1)