Ejemplo n.º 1
0
 def rename_config_repo_url(self):
     '''修改本地的git remote -v 为 import_url 的地址'''
     repo_name = parse_repo_name(self.repo)
     config = os.path.join(repo_name, '.git', 'config')
     with open(config, 'r+') as f_config:
         gitee_config = f_config.read()
         github_config = gitee_config.replace(
             to_gitee_repo_url(self.username, repo_name),
             valib_github_repo_url(self.repo))
         f_config.write(github_config)
         print('game over')
Ejemplo n.º 2
0
 def check_private(self):
     '''
     检查自己仓库里是否有了些repo
     如果有就退出
     '''
     data = {'import_url': valib_github_repo_url(self.repo)}
     response = self.sess.get(url_check_project_private,
                              params=data,
                              headers=self.headers)
     print('check private', data)
     datas = response.json()
     if datas.get('private'):
         print(datas.get('message'))
         os._exit(0)
Ejemplo n.º 3
0
 def force_sync_github(self) -> int:
     '''
     force sync import url
     return:
         status -> 1
     '''
     payload = {
         "user_sync_code": '',
         "password_sync_code": '',
         "sync_wiki": "false",
         "authenticity_token": self.token
     }
     url = valib_github_repo_url(self.repo) + '/force_sync_project'
     response = self.sess.post(url, data=payload, headers=self.headers)
     return response.json()['status']
Ejemplo n.º 4
0
 def check_duplicate(self):
     '''
     检查是否重复, 是否有人已经导入过了.
     如果有人导入过了,设置repo为另人的repo, 并退出程序
     '''
     data = {'import_url': valib_github_repo_url(self.repo)}
     response = self.sess.get(url_check_project_duplicate,
                              params=data,
                              headers=self.headers)
     print('check duplicate', data)
     datas = response.json()
     if datas['is_duplicate']:
         self.repo = re.search('<a.*?>(.*?)</a>', datas['message']).group(1)
         print('有人导入了: ', self.repo)
         reimport = input('是否导入到你的仓库y/n?')
         if reimport.lower() == 'n':
             os._exit(0)
Ejemplo n.º 5
0
 def import_from_github(self):
     '''fetch github url to gitee'''
     url = valib_github_repo_url(self.repo)
     payload = params(parse_repo_name(self.repo), self.username, self.token,
                      url)
     print(payload)
     print('开始导入', url)
     import_url = gitee_base_url + self.username + '/projects'
     resp = self.sess.post(import_url, data=payload, headers=self.headers)
     if resp.status_code == 200:
         timeout = 180
         success = False
         while not success:
             sys.stdout.write('\r正在导入, 请先等待>>> {}秒'.format(timeout))
             timeout -= 10
             time.sleep(10)
             if self.check_fetch():
                 print('导入成功')
                 success = True
Ejemplo n.º 6
0
 def clone(self):
     '''clone 到本地'''
     os.system('git clone ' + valib_github_repo_url(self.repo))