Пример #1
0
 def create_or_update_repository_details(self, repository_dict, repository = None):
     if repository is None:
         repository = Repository()
     extra_data = {}
     for key, value in repository_dict.iteritems():
         if key == "_attrs":
             continue
         if key == 'owner' or key == "organization":
             try:
                 setattr(repository, key, value.login)
                 continue
             except Exception:
                 pass
         if key == 'source' or key == "parent":
             try:
                 setattr(repository, key, value.full_name)
                 continue
             except Exception:
                 pass
         if key in ['owner', 'name', 'html_url', 'homepage', 'language','description','watchers','created_at','pushed_at','private']:
             setattr(repository, key, value)
         else:
             if isinstance(value, datetime):
                 extra_data[key] = value.__str__()
             else:
                 extra_data[key] = value
     repository.extra_data = json.dumps(extra_data)
     if repository.language == "" or repository.language == None:
         repository.language = "other"
     repository.scm = 'git'
     repository.host =self.host
     repository.language = repository.language.lower()
     return repository