src/gui/modules/repository.py
changeset 2310 ce10607d5332
parent 2278 4f2f13dea8a0
child 2325 39ae727e734e
equal deleted inserted replaced
2309:5aa9213d0285 2310:ce10607d5332
   665         def __update_modify_repository_dialog(self, update_alias=False, 
   665         def __update_modify_repository_dialog(self, update_alias=False, 
   666             update_mirrors=False, update_origins=False, update_ssl=False):
   666             update_mirrors=False, update_origins=False, update_ssl=False):
   667                 if not self.repository_modify_publisher:
   667                 if not self.repository_modify_publisher:
   668                         return False
   668                         return False
   669                 pub = self.repository_modify_publisher
   669                 pub = self.repository_modify_publisher
   670                 selected_repo = pub.selected_repository
   670                 selected_repo = pub.repository
   671                 prefix = ""
   671                 prefix = ""
   672                 ssl_cert = ""
   672                 ssl_cert = ""
   673                 ssl_key = ""
   673                 ssl_key = ""
   674 
   674 
   675                 if pub.prefix and len(pub.prefix) > 0:
   675                 if pub.prefix and len(pub.prefix) > 0:
   738                                 self.w_repositoryssl_expander.set_expanded(False)
   738                                 self.w_repositoryssl_expander.set_expanded(False)
   739                 return True
   739                 return True
   740 
   740 
   741         def __add_mirror(self, new_mirror):
   741         def __add_mirror(self, new_mirror):
   742                 pub = self.repository_modify_publisher
   742                 pub = self.repository_modify_publisher
   743                 repo = pub.selected_repository
   743                 repo = pub.repository
   744                 try:
   744                 try:
   745                         repo.add_mirror(new_mirror)
   745                         repo.add_mirror(new_mirror)
   746                         self.w_addmirror_entry.set_text("")
   746                         self.w_addmirror_entry.set_text("")
   747                 except api_errors.ApiException, e:
   747                 except api_errors.ApiException, e:
   748                         self.__show_errors([(pub, e)])
   748                         self.__show_errors([(pub, e)])
   752                 itr, model = self.__get_selected_mirror_itr_model()
   752                 itr, model = self.__get_selected_mirror_itr_model()
   753                 remove_mirror = None
   753                 remove_mirror = None
   754                 if itr and model:
   754                 if itr and model:
   755                         remove_mirror = model.get_value(itr, 0)
   755                         remove_mirror = model.get_value(itr, 0)
   756                 pub = self.repository_modify_publisher
   756                 pub = self.repository_modify_publisher
   757                 repo = pub.selected_repository
   757                 repo = pub.repository
   758                 try:
   758                 try:
   759                         repo.remove_mirror(remove_mirror)
   759                         repo.remove_mirror(remove_mirror)
   760                 except api_errors.ApiException, e:
   760                 except api_errors.ApiException, e:
   761                         self.__show_errors([(pub, e)])
   761                         self.__show_errors([(pub, e)])
   762                 self.__update_modify_repository_dialog(update_mirrors=True)
   762                 self.__update_modify_repository_dialog(update_mirrors=True)
   763 
   763 
   764         def __add_origin(self, new_origin):
   764         def __add_origin(self, new_origin):
   765                 pub = self.repository_modify_publisher
   765                 pub = self.repository_modify_publisher
   766                 repo = pub.selected_repository
   766                 repo = pub.repository
   767                 try:
   767                 try:
   768                         repo.add_origin(new_origin)
   768                         repo.add_origin(new_origin)
   769                         self.w_addorigin_entry.set_text("")
   769                         self.w_addorigin_entry.set_text("")
   770                 except api_errors.ApiException, e:
   770                 except api_errors.ApiException, e:
   771                         self.__show_errors([(pub, e)])
   771                         self.__show_errors([(pub, e)])
   775                 itr, model = self.__get_selected_origin_itr_model()
   775                 itr, model = self.__get_selected_origin_itr_model()
   776                 remove_origin = None
   776                 remove_origin = None
   777                 if itr and model:
   777                 if itr and model:
   778                         remove_origin = model.get_value(itr, 0)
   778                         remove_origin = model.get_value(itr, 0)
   779                 pub = self.repository_modify_publisher
   779                 pub = self.repository_modify_publisher
   780                 repo = pub.selected_repository
   780                 repo = pub.repository
   781                 try:
   781                 try:
   782                         repo.remove_origin(remove_origin)
   782                         repo.remove_origin(remove_origin)
   783                 except api_errors.ApiException, e:
   783                 except api_errors.ApiException, e:
   784                         self.__show_errors([(pub, e)])
   784                         self.__show_errors([(pub, e)])
   785                 self.__update_modify_repository_dialog(update_origins=True)
   785                 self.__update_modify_repository_dialog(update_origins=True)
   895                         if pub == None:
   895                         if pub == None:
   896                                 self.progress_stop_thread = True
   896                                 self.progress_stop_thread = True
   897                                 return
   897                                 return
   898                         name = alias
   898                         name = alias
   899                 else:
   899                 else:
   900                         repo = pub.selected_repository
   900                         repo = pub.repository
   901                         new_pub = True
   901                         new_pub = True
   902                         name = pub.prefix
   902                         name = pub.prefix
   903                 errors_ssl = self.__update_ssl_creds(pub, repo, ssl_cert, ssl_key)
   903                 errors_ssl = self.__update_ssl_creds(pub, repo, ssl_cert, ssl_key)
   904                 errors_update = []
   904                 errors_update = []
   905                 try:
   905                 try:
   978                         errors.append((pub, e))
   978                         errors.append((pub, e))
   979                 return errors
   979                 return errors
   980 
   980 
   981         def __afteradd_confirmation(self, pub):
   981         def __afteradd_confirmation(self, pub):
   982                 self.new_pub = pub
   982                 self.new_pub = pub
   983                 repo = pub.selected_repository
   983                 repo = pub.repository
   984                 origin = repo.origins[0]
   984                 origin = repo.origins[0]
   985                 # Descriptions not available at the moment
   985                 # Descriptions not available at the moment
   986                 self.w_add_publisher_c_desc.hide()
   986                 self.w_add_publisher_c_desc.hide()
   987                 self.w_add_publisher_c_desc_l.hide()
   987                 self.w_add_publisher_c_desc_l.hide()
   988                 self.w_add_publisher_c_name.set_text(pub.prefix)
   988                 self.w_add_publisher_c_name.set_text(pub.prefix)
  1159                 errors = []
  1159                 errors = []
  1160 
  1160 
  1161                 image_lock_err = False
  1161                 image_lock_err = False
  1162                 for row in self.priority_changes:
  1162                 for row in self.priority_changes:
  1163                         try:
  1163                         try:
       
  1164                                 pub1 = self.api_o.get_publisher(row[1],
       
  1165                                     duplicate=True)
       
  1166                                 pub2 = self.api_o.get_publisher(row[2],
       
  1167                                     duplicate=True)
  1164                                 if row[0] == enumerations.PUBLISHER_MOVE_BEFORE:
  1168                                 if row[0] == enumerations.PUBLISHER_MOVE_BEFORE:
  1165                                         self.api_o.set_pub_search_before(row[1],
  1169                                         self.api_o.update_publisher(pub1,
  1166                                             row[2])
  1170                                             search_before=pub2.prefix)
  1167                                 else:
  1171                                 else:
  1168                                         self.api_o.set_pub_search_after(row[1],
  1172                                         self.api_o.update_publisher(pub1,
  1169                                             row[2])
  1173                                             search_after=pub2.prefix)
  1170                                 self.no_changes += 1
  1174                                 self.no_changes += 1
  1171                                 self.__g_update_details_text(
  1175                                 self.__g_update_details_text(
  1172                                     _("Changing priority for publisher %s\n")
  1176                                     _("Changing priority for publisher %s\n")
  1173                                     % row[1])
  1177                                     % row[1])
  1174                         except api_errors.ImageLockedError, e:
  1178                         except api_errors.ImageLockedError, e:
  1232                 errors = []
  1236                 errors = []
  1233                 alias = self.w_modify_pub_alias.get_text()
  1237                 alias = self.w_modify_pub_alias.get_text()
  1234                 ssl_key = self.w_repositorymodify_key_entry.get_text()
  1238                 ssl_key = self.w_repositorymodify_key_entry.get_text()
  1235                 ssl_cert = self.w_repositorymodify_cert_entry.get_text()
  1239                 ssl_cert = self.w_repositorymodify_cert_entry.get_text()
  1236                 pub = self.repository_modify_publisher
  1240                 pub = self.repository_modify_publisher
  1237                 repo = pub.selected_repository
  1241                 repo = pub.repository
  1238                 pub.alias = alias
  1242                 pub.alias = alias
  1239                 errors += self.__update_ssl_creds(pub, repo, ssl_cert, ssl_key)
  1243                 errors += self.__update_ssl_creds(pub, repo, ssl_cert, ssl_key)
  1240                 try:
  1244                 try:
  1241                         errors += self.__update_publisher(pub, new_publisher=False)
  1245                         errors += self.__update_publisher(pub, new_publisher=False)
  1242                 except api_errors.UnknownRepositoryPublishers, e:
  1246                 except api_errors.UnknownRepositoryPublishers, e:
  1660                 if pub == None:
  1664                 if pub == None:
  1661                         return
  1665                         return
  1662                 details_buffer = details_view.get_buffer()
  1666                 details_buffer = details_view.get_buffer()
  1663                 details_buffer.set_text("")
  1667                 details_buffer.set_text("")
  1664                 uri_s_itr = details_buffer.get_start_iter()
  1668                 uri_s_itr = details_buffer.get_start_iter()
  1665                 repo = pub.selected_repository
  1669                 repo = pub.repository
  1666                 num = len(repo.origins)
  1670                 num = len(repo.origins)
  1667                 origin_txt = ngettext("Origin:\n", "Origins:\n", num)
  1671                 origin_txt = ngettext("Origin:\n", "Origins:\n", num)
  1668                 details_buffer.insert_with_tags_by_name(uri_s_itr,
  1672                 details_buffer.insert_with_tags_by_name(uri_s_itr,
  1669                     origin_txt, "level0")
  1673                     origin_txt, "level0")
  1670                 uri_itr = details_buffer.get_end_iter()
  1674                 uri_itr = details_buffer.get_end_iter()
  1929 #-----------------------------------------------------------------------------#
  1933 #-----------------------------------------------------------------------------#
  1930         def webinstall_new_pub(self, parent, pub = None):
  1934         def webinstall_new_pub(self, parent, pub = None):
  1931                 if pub == None:
  1935                 if pub == None:
  1932                         return
  1936                         return
  1933                 self.repository_modify_publisher = pub
  1937                 self.repository_modify_publisher = pub
  1934                 repo = pub.selected_repository
  1938                 repo = pub.repository
  1935                 origin_uri = ""
  1939                 origin_uri = ""
  1936                 if repo != None and repo.origins != None and len(repo.origins) > 0:
  1940                 if repo != None and repo.origins != None and len(repo.origins) > 0:
  1937                         origin_uri = repo.origins[0].uri
  1941                         origin_uri = repo.origins[0].uri
  1938                 if origin_uri != None and origin_uri.startswith("https"):
  1942                 if origin_uri != None and origin_uri.startswith("https"):
  1939                         gui_misc.set_modal_and_transient(self.w_add_publisher_dialog, 
  1943                         gui_misc.set_modal_and_transient(self.w_add_publisher_dialog,