diff --git a/client/equo.py b/client/equo.py index 63eff5974..4f101336c 100644 --- a/client/equo.py +++ b/client/equo.py @@ -27,9 +27,9 @@ sys.path.insert(0,'../libraries') sys.path.insert(0,'../server') sys.path.insert(0,'../client') from entropy.exceptions import * -from entropyConstants import * -from outputTools import * -import entropyTools +from entropy.const import * +from entropy.output import * +import entropy.tools as entropyTools try: from entropy.i18n import _ except ImportError: diff --git a/client/text_configuration.py b/client/text_configuration.py index 75c6429d8..1dce21373 100644 --- a/client/text_configuration.py +++ b/client/text_configuration.py @@ -23,8 +23,8 @@ import shutil import commands -from entropyConstants import * -from outputTools import * +from entropy.const import * +from entropy.output import * from entropy.client.interfaces import Client Equo = Client() # client db must be available, it is for a reason! from entropy.i18n import _ diff --git a/client/text_query.py b/client/text_query.py index d17548ed8..7d86d738a 100644 --- a/client/text_query.py +++ b/client/text_query.py @@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ''' -from entropyConstants import * -from outputTools import * +from entropy.const import * +from entropy.output import * from entropy.client.interfaces import Client as EquoInterface from entropy.i18n import _ diff --git a/client/text_repositories.py b/client/text_repositories.py index ede208ac4..684433d65 100644 --- a/client/text_repositories.py +++ b/client/text_repositories.py @@ -25,13 +25,9 @@ ## Repositories Tools # -from entropyConstants import * -from outputTools import * -try: - from entropy.exceptions import * -except ImportError: - from exceptionTools import * - +from entropy.const import * +from entropy.output import * +from entropy.exceptions import * from entropy.client.interfaces import Client from entropy.misc import rssFeed Equo = Client(noclientdb = True) diff --git a/client/text_rescue.py b/client/text_rescue.py index 69e451798..d10d7ecaa 100644 --- a/client/text_rescue.py +++ b/client/text_rescue.py @@ -25,8 +25,8 @@ ## Repositories Tools # -from entropyConstants import * -from outputTools import * +from entropy.const import * +from entropy.output import * from entropy.client.interfaces import Client from entropy.exceptions import * Equo = Client(noclientdb = True) diff --git a/client/text_security.py b/client/text_security.py index 954709cb0..e6dc94b46 100644 --- a/client/text_security.py +++ b/client/text_security.py @@ -19,8 +19,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ''' -from entropyConstants import * -from outputTools import * +from entropy.const import * +from entropy.output import * from entropy.client.interfaces import Client Equo = Client() from entropy.i18n import _ diff --git a/client/text_smart.py b/client/text_smart.py index af6fd54dc..dcf68f30f 100644 --- a/client/text_smart.py +++ b/client/text_smart.py @@ -20,10 +20,10 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ''' import shutil -from entropyConstants import * -from outputTools import * -import text_ui +from entropy.const import * +from entropy.output import * from entropy.i18n import _ +import text_ui def smart(options): @@ -408,7 +408,7 @@ def smartappsHandler(mypackages, emptydeps = False): # tool that generates .tar.bz2 packages with all the binary dependencies included def smartgenerator(atomInfo, emptydeps = False): - import entropyTools + import entropy.tools as entropyTools dbconn = text_ui.Equo.openRepositoryDatabase(atomInfo[1]) idpackage = atomInfo[0] atom = dbconn.retrieveAtom(idpackage) diff --git a/client/text_ugc.py b/client/text_ugc.py index f1cf00e85..f67788341 100644 --- a/client/text_ugc.py +++ b/client/text_ugc.py @@ -17,8 +17,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ''' -from entropyConstants import * -from outputTools import * +from entropy.const import * +from entropy.output import * from entropy.client.interfaces import Client from entropy.i18n import _ Equo = Client() diff --git a/client/text_ui.py b/client/text_ui.py index 443dfb61d..93d456ca4 100644 --- a/client/text_ui.py +++ b/client/text_ui.py @@ -23,11 +23,12 @@ # from entropy.exceptions import * -from entropyConstants import * -from outputTools import * +from entropy.const import * +from entropy.output import * from entropy.client.interfaces import Client -Equo = Client() +from entropy.misc import ParallelTask from entropy.i18n import _ +Equo = Client() def package(options): @@ -1052,7 +1053,7 @@ def installPackages(packages = [], atomsdata = [], deps = True, emptydeps = Fals Equo.UGC.add_download_stats(myrepo, mypkgkeys) except: pass - t = Equo.entropyTools.parallelTask(spawn_ugc) + t = ParallelTask(spawn_ugc) t.start() if onlyfetch: diff --git a/docs/APICHANGES b/docs/APICHANGES index 9b08f2c4f..37b9c854a 100644 --- a/docs/APICHANGES +++ b/docs/APICHANGES @@ -1,7 +1,19 @@ From SVN 3112 there have been several API changes: -- entropy module is now a python package -- exceptionTools => entropy.exceptions -- urlFetcher features several private class property moves (you need to rework your updateProgress) -- FtpInterface features several private class property moves and switched to underscore API signatures -- SocketUrlFetcher has been removed -- rssFeed features several private class property moves \ No newline at end of file + + - entropy module is now a python package + + - urlFetcher features several private class property moves (you need to rework your updateProgress) + + - FtpInterface features several private class property moves and switched to underscore API signatures + + - SocketUrlFetcher has been removed + + - rssFeed features several private class property moves + + - entropyTools, dumpTools, outputTools, entropyConstants, exceptionTools have been + moved under the entropy package, except for exceptionTools, for others backward + module loading compatibility has been kept. + + - entropyTools API changes: + entropyTools.parallelTask and TimeScheduled moved to entropy.misc + entropyTools.lifobuffer moved to entropy.misc as Lifo \ No newline at end of file diff --git a/docs/TODO b/docs/TODO index 827a8dbb6..848745fb8 100644 --- a/docs/TODO +++ b/docs/TODO @@ -2,6 +2,8 @@ TODO list Proposed for Entropy 1.0 (before and after) (requires API changes, perhaps): + - merge all the server config files to server.conf? + - iron out new FtpInterface - FtpInterface (upload ETA) - Entropy codebase => camelCase to underscore - Spritz codebase refactoring (fileupdates: show changes button using internal viewer) diff --git a/entropy-notification-applet/src/etp_applet.py b/entropy-notification-applet/src/etp_applet.py index f000659da..0d15db2ef 100644 --- a/entropy-notification-applet/src/etp_applet.py +++ b/entropy-notification-applet/src/etp_applet.py @@ -8,6 +8,11 @@ # def help added by Tammy Fox # # $Id: rhn_applet.py,v 1.114 2003/11/09 16:56:33 veillard Exp $ +import os +import sys +import time +import threading +import subprocess import gnome import gnome.ui @@ -15,11 +20,8 @@ import gnome.ui import gtk import gobject import gtk.gdk -import egg.trayicon import pynotify -import os, sys, math, time, threading, subprocess - import etp_applet_animation from etp_applet_dialogs import \ rhnAppletNoticeWindow, \ @@ -31,17 +33,14 @@ from etp_applet_dialogs import \ import etp_applet_config # Entropy imports -from entropyConstants import * -try: - from entropy.exceptions import * -except ImportError: - from exceptionTools import * -import entropyTools +from entropy.misc import TimeScheduled, ParallelTask +from entropy.i18n import _ +from entropy.exceptions import * +import entropy.tools as entropyTools from entropy.client.interfaces import Client as EquoInterface from entropy.client.interfaces import Repository as RepoInterface from entropy.transceivers import urlFetcher - -from entropy.i18n import _ +from entropy.const import etpConst, etpRepositories class Entropy(EquoInterface): @@ -92,15 +91,28 @@ class Entropy(EquoInterface): class GuiUrlFetcher(urlFetcher): + def __init__(self, *args, **kwargs): + urlFetcher.__init__(self, *args, **kwargs) + self.__remotesize = 0 + self.__downloadedsize = 0 + self.__datatransfer = 0 + def connect_to_gui(self, progress): self.progress = progress + def handle_statistics(self, th_id, downloaded_size, total_size, + average, old_average, update_step, show_speed, data_transfer, + time_remaining, time_remaining_secs): + self.__remotesize = total_size + self.__downloadedsize = downloaded_size + self.__datatransfer = data_transfer + def updateProgress(self): self.gather = self.__downloadedsize message = "Fetching data %s/%s kB @ %s" % ( str(round(float(self.__downloadedsize)/1024,1)), str(round(self.__remotesize,1)), - str(self.entropyTools.bytesIntoHuman(self.__datatransfer))+"/sec", + str(entropyTools.bytesIntoHuman(self.__datatransfer))+"/sec", ) self.progress(message) @@ -313,7 +325,7 @@ class EntropyApplet: def enable_refresh_timer(self, when = etp_applet_config.settings['REFRESH_INTERVAL'] * 1000): if self.current_state in [ "CRITICAL" ]: return if not self.refresh_timeout_tag: - self.refresh_timeout_tag = entropyTools.TimeScheduled(when/1000, self.refresh_handler) + self.refresh_timeout_tag = TimeScheduled(when/1000, self.refresh_handler) self.refresh_timeout_tag.set_delay_before(True) self.refresh_timeout_tag.start() @@ -328,7 +340,7 @@ class EntropyApplet: def end_working(self): self.isWorking = False - def change_icon(self, image, cycle_image = None): + def change_icon(self, image): to_image = self.icons.best_match(image, self.applet_size) self.status_icon.set_from_pixbuf(to_image) @@ -391,7 +403,7 @@ class EntropyApplet: def spawn_spritz(): os.execv('/usr/bin/spritz', ['spritz']) - t = entropyTools.parallelTask(spawn_spritz) + t = ParallelTask(spawn_spritz) t.start() def show_alert(self, title, text, urgency = None): @@ -449,7 +461,7 @@ class EntropyApplet: self.refresh_lock.acquire() try: - t = entropyTools.parallelTask(self.run_refresh, force) + t = ParallelTask(self.run_refresh, force) t.start() while t.isAlive(): self.status_icon.set_visible(True) @@ -618,7 +630,7 @@ class EntropyApplet: def enable_network_timer(self, when = etp_applet_config.settings['NETWORK_RETRY_INTERVAL'] * 1000, force = 0): if self.current_state != "DISCONNECTED": return if not self.network_timeout_tag: - self.network_timeout_tag = entropyTools.TimeScheduled(when/1000, self.network_retry_handler, force = force) + self.network_timeout_tag = TimeScheduled(when/1000, self.network_retry_handler, force = force) self.network_timeout_tag.set_delay_before(True) self.network_timeout_tag.start() diff --git a/entropy-notification-applet/src/etp_applet_config.py b/entropy-notification-applet/src/etp_applet_config.py index 1d266a067..078c27820 100644 --- a/entropy-notification-applet/src/etp_applet_config.py +++ b/entropy-notification-applet/src/etp_applet_config.py @@ -6,7 +6,7 @@ # $Id: applet.py,v 1.10 2003/09/15 15:07:19 veillard Exp $ import os -import dumpTools +import entropy.dump as dumpTools APPLET_STATES = [ "STARTUP", "NOCONSENT", "CONFIGURING", "OKAY", "CRITICAL", "BUSY", "ERROR", "DISCONNECTED", "DISABLE" ] APPLET_MENUS = [ "about", "update_now", "web_panel", "web_site", "configure_applet", "check_now" ] diff --git a/entropy-notification-applet/src/etp_applet_dialogs.py b/entropy-notification-applet/src/etp_applet_dialogs.py index 06718ca79..f1b146f7f 100644 --- a/entropy-notification-applet/src/etp_applet_dialogs.py +++ b/entropy-notification-applet/src/etp_applet_dialogs.py @@ -7,8 +7,6 @@ # # $Id: rhn_applet_dialogs.py,v 1.30 2003/10/14 17:41:34 veillard Exp $ -from entropyConstants import * -from entropy.i18n import _ import gnome import gnome.ui import gobject @@ -16,6 +14,9 @@ import gtk.glade gtk.glade.bindtextdomain('entropy', "/usr/share/locale") import gtk import gtkhtml2 +from entropy.const import etpConst +from entropy.i18n import _ + class rhnGladeWindow: def __init__(self, filename, window_name): diff --git a/libraries/entropy/client/interfaces.py b/libraries/entropy/client/interfaces.py index b384e843d..fecaea1a5 100644 --- a/libraries/entropy/client/interfaces.py +++ b/libraries/entropy/client/interfaces.py @@ -5485,18 +5485,25 @@ class Package: def sources_fetch_step(self): self.error_on_not_prepared() down_data = self.infoDict['download'] - rc = 0 + d_cache = set() for key in sorted(down_data.keys()): + rc = 1 + key_name = os.path.basename(key) + if key_name in d_cache: continue # first fine wins for url in down_data[key]: - dest_file = os.path.join(self.infoDict['unpackdir'],os.path.basename(url)) + file_name = os.path.basename(url) + dest_file = os.path.join(self.infoDict['unpackdir'],file_name) rc = self._fetch_source(url, dest_file) - if not rc: break - if rc: break + if rc == 0: break + if rc == 0: + d_cache.add(key_name) + break return rc def _fetch_source(self, url, dest_file): + rc = 1 try: mytxt = "%s: %s" % (blue(_("Downloading")),brown(url),) # now fetch the new one @@ -5531,8 +5538,6 @@ class Package: type = "info", header = red(" # ") ) - - return 0 else: error_message = blue("%s: %s") % ( _("Error downloading from"), @@ -5553,10 +5558,9 @@ class Package: type = "warning", header = red(" ## ") ) - if rc == -4: # user discarded fetch - return 1 except KeyboardInterrupt: - return 1 + pass + return rc def fetch_step(self): self.error_on_not_prepared() diff --git a/server/activator.py b/server/activator.py index 5b8031d4b..251d0b145 100644 --- a/server/activator.py +++ b/server/activator.py @@ -28,9 +28,9 @@ sys.path.insert(3,'/usr/lib/entropy/client') sys.path.insert(4,'/usr/lib/entropy/libraries') sys.path.insert(5,'/usr/lib/entropy/server') from entropy.i18n import _ -import entropyTools -from outputTools import * -from entropyConstants import * +import entropy.tools as entropyTools +from entropy.output import * +from entropy.const import * myopts = [ None, diff --git a/server/reagent.py b/server/reagent.py index 866107207..70a6d359d 100644 --- a/server/reagent.py +++ b/server/reagent.py @@ -29,9 +29,9 @@ sys.path.insert(3,'/usr/lib/entropy/client') sys.path.insert(4,'/usr/lib/entropy/libraries') sys.path.insert(5,'/usr/lib/entropy/server') from entropy.i18n import _ -import entropyTools -from outputTools import * -from entropyConstants import * +import entropy.tools as entropyTools +from entropy.output import * +from entropy.const import * myopts = [ None, diff --git a/server/server_activator.py b/server/server_activator.py index 57d81566a..baf918176 100644 --- a/server/server_activator.py +++ b/server/server_activator.py @@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ''' -from entropyConstants import * -from outputTools import * +from entropy.const import * +from entropy.output import * from entropy.server.interfaces import Server from entropy.i18n import _ Entropy = Server(community_repo = etpConst['community']['mode']) diff --git a/server/server_query.py b/server/server_query.py index 537b8569f..34f09b9c6 100644 --- a/server/server_query.py +++ b/server/server_query.py @@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ''' -from outputTools import * -from entropyConstants import * +from entropy.output import * +from entropy.const import * import text_query from entropy.server.interfaces import Server from entropy.i18n import _ diff --git a/server/server_reagent.py b/server/server_reagent.py index f45aa0a8a..2b5239454 100644 --- a/server/server_reagent.py +++ b/server/server_reagent.py @@ -20,8 +20,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ''' -from entropyConstants import * -from outputTools import * +from entropy.const import * +from entropy.output import * from entropy.server.interfaces import Server from entropy.i18n import _ Entropy = Server(community_repo = etpConst['community']['mode']) diff --git a/spritz/src/dialogs.py b/spritz/src/dialogs.py index 046dbe2b1..94e21d7da 100644 --- a/spritz/src/dialogs.py +++ b/spritz/src/dialogs.py @@ -25,8 +25,8 @@ from spritz_setup import const, cleanMarkupString, SpritzConf, unicode2htmlentit from entropy.i18n import _,_LOCALE import packages from entropy.exceptions import * -from entropyConstants import * - +from entropy.const import * +from entropy.misc import TimeScheduled, ParallelTask class MenuSkel: @@ -160,7 +160,7 @@ class NoticeBoardWindow(MenuSkel): class RemoteConnectionMenu(MenuSkel): - import dumpTools + import entropy.dump as dumpTools store_path = 'connection_manager' def __init__( self, Entropy, verification_callback, window ): @@ -371,7 +371,7 @@ class RepositoryManagerMenu(MenuSkel): self.do_debug = False if etpUi['debug']: self.do_debug = True self.BufferLock = self.threading.Lock() - import entropyTools + import entropy.tools as entropyTools self.entropyTools = entropyTools self.Entropy = Entropy self.window = window @@ -402,9 +402,9 @@ class RepositoryManagerMenu(MenuSkel): self.TaskQueue = [] self.TaskQueueId = gobject.timeout_add(100, self.task_queue_executor) - self.QueueUpdater = self.Entropy.entropyTools.TimeScheduled(5, self.update_queue_view) - self.OutputUpdater = self.Entropy.entropyTools.TimeScheduled(0.5, self.update_output_view) - self.PinboardUpdater = self.Entropy.entropyTools.TimeScheduled(60, self.update_pinboard_view) + self.QueueUpdater = TimeScheduled(5, self.update_queue_view) + self.OutputUpdater = TimeScheduled(0.5, self.update_output_view) + self.PinboardUpdater = TimeScheduled(60, self.update_pinboard_view) self.notebook_pages = { 'queue': 0, 'commands': 1, @@ -701,7 +701,7 @@ class RepositoryManagerMenu(MenuSkel): cell = gtk.CellRendererText() self.EntropyRepositoryCombo.pack_start(cell, True) self.EntropyRepositoryCombo.add_attribute(cell, 'text', 0) - self.EntropyRepositoryComboLoader = self.Entropy.entropyTools.parallelTask(self.load_available_repositories) + self.EntropyRepositoryComboLoader = ParallelTask(self.load_available_repositories) def setup_commands_view(self): @@ -1051,7 +1051,7 @@ class RepositoryManagerMenu(MenuSkel): def task(): self.do_update_queue_view() - t = self.entropyTools.parallelTask(task) + t = ParallelTask(task) t.start() def do_update_queue_view(self): @@ -1435,7 +1435,7 @@ class RepositoryManagerMenu(MenuSkel): self.update_notice_board_data_view(repo_data, repoid) if status: - t = self.entropyTools.parallelTask(task, queue_id, repoid) + t = ParallelTask(task, queue_id, repoid) t.start() def run_write_to_running_command_pipe(self, queue_id, write_to_stdout, txt): @@ -1505,7 +1505,7 @@ class RepositoryManagerMenu(MenuSkel): self.TaskQueue.append((self.categories_updates_data_view, [data, categories], {'expand': True, 'reload_function': reload_function,},)) if status: - t = self.entropyTools.parallelTask(task, queue_id, categories, world) + t = ParallelTask(task, queue_id, categories, world) t.start() def run_sync_spm(self): @@ -1541,7 +1541,7 @@ class RepositoryManagerMenu(MenuSkel): self.is_processing = {'queue_id': queue_id} self.set_notebook_page(self.notebook_pages['output']) - t = self.entropyTools.parallelTask(task, data) + t = ParallelTask(task, data) t.start() def run_compile_atoms(self, data): @@ -1584,7 +1584,7 @@ class RepositoryManagerMenu(MenuSkel): self.is_processing = {'queue_id': queue_id} self.set_notebook_page(self.notebook_pages['output']) - # fine without parallelTask + # fine without ParallelTask def run_enable_uses_for_atoms(self, atoms, use, load_view): with self.BufferLock: @@ -1599,7 +1599,7 @@ class RepositoryManagerMenu(MenuSkel): return status - # fine without parallelTask + # fine without ParallelTask def run_disable_uses_for_atoms(self, atoms, use, load_view): with self.BufferLock: @@ -1632,7 +1632,7 @@ class RepositoryManagerMenu(MenuSkel): self.TaskQueue.append((self.categories_updates_data_view, [data,categories], {'expand': True, 'reload_function': reload_function,},)) if status: - t = self.entropyTools.parallelTask(task, categories, atoms) + t = ParallelTask(task, categories, atoms) t.start() def run_kill_processing_queue_id(self, queue_id): @@ -1670,7 +1670,7 @@ class RepositoryManagerMenu(MenuSkel): self.TaskQueue.append((self.categories_updates_data_view, [data, categories, expand], {},)) if status: - t = self.entropyTools.parallelTask(queue_id, task, categories, expand) + t = ParallelTask(queue_id, task, categories, expand) t.start() def run_entropy_deptest(self): @@ -1738,7 +1738,7 @@ class RepositoryManagerMenu(MenuSkel): self.TaskQueue.append((self.entropy_mirror_updates_data_view, [repo_data],{},)) if status: - t = self.entropyTools.parallelTask(task, queue_id, repos) + t = ParallelTask(task, queue_id, repos) t.start() else: self.service_status_message(queue_id) @@ -1856,7 +1856,7 @@ class RepositoryManagerMenu(MenuSkel): if not status: return self.TaskQueue.append((reload_func,[],{},)) - t = self.entropyTools.parallelTask(task, queue_id, reload_func) + t = ParallelTask(task, queue_id, reload_func) t.start() def run_entropy_database_updates_scan(self): @@ -1878,7 +1878,7 @@ class RepositoryManagerMenu(MenuSkel): self.TaskQueue.append((self.entropy_database_updates_data_view, [data], {},)) if status: - t = self.entropyTools.parallelTask(task, queue_id) + t = ParallelTask(task, queue_id) t.start() else: self.service_status_message(queue_id) @@ -1903,7 +1903,7 @@ class RepositoryManagerMenu(MenuSkel): self.is_writing_output = True self.is_processing = {'queue_id': queue_id } self.set_notebook_page(self.notebook_pages['output']) - t = self.entropyTools.parallelTask(task, queue_id, reload_func) + t = ParallelTask(task, queue_id, reload_func) t.start() else: self.service_status_message(queue_id) @@ -1929,7 +1929,7 @@ class RepositoryManagerMenu(MenuSkel): self.TaskQueue.append((reload_func,[],{},)) if status: - t = self.entropyTools.parallelTask(task, queue_id, repoid, title, notice_text, link, reload_func) + t = ParallelTask(task, queue_id, repoid, title, notice_text, link, reload_func) t.start() def run_remove_notice_board_entries(self, repoid, ids, reload_func = None): @@ -1953,7 +1953,7 @@ class RepositoryManagerMenu(MenuSkel): self.TaskQueue.append((reload_func,[],{},)) if status: - t = self.entropyTools.parallelTask(task, queue_id, repoid, ids, reload_func) + t = ParallelTask(task, queue_id, repoid, ids, reload_func) t.start() def update_notice_board_data_view(self, repo_data, repoid): @@ -2155,7 +2155,7 @@ class RepositoryManagerMenu(MenuSkel): if run_data: self.clear_data_store_and_view() - t = self.entropyTools.parallelTask(self.execute_entropy_mirror_updates, run_data) + t = ParallelTask(self.execute_entropy_mirror_updates, run_data) t.start() h1 = self.DataViewButtons['mirror_updates']['execute_button'].connect('clicked',execute_button_clicked) @@ -2727,7 +2727,7 @@ class RepositoryManagerMenu(MenuSkel): self.service_status_message(e) return self.update_queue_view() - t = self.entropyTools.parallelTask(task) + t = ParallelTask(task) t.start() def on_repoManagerQueueUp_clicked(self, widget): @@ -2756,7 +2756,7 @@ class RepositoryManagerMenu(MenuSkel): self.service_status_message(e) return self.update_queue_view() - t = self.entropyTools.parallelTask(task) + t = ParallelTask(task) t.start() def on_repoManagerCategoryUpdButton_clicked(self, widget, categories = [], expand = False): @@ -3219,7 +3219,7 @@ class RepositoryManagerMenu(MenuSkel): self.TaskQueue.append((self.glsa_data_view,[data],{},)) if status: - t = self.entropyTools.parallelTask(task, queue_id, data) + t = ParallelTask(task, queue_id, data) t.start() else: self.service_status_message(queue_id) @@ -3244,7 +3244,7 @@ class RepositoryManagerMenu(MenuSkel): if repo_info: self.TaskQueue.append((self.load_available_repositories,[],{'repo_info': repo_info,},)) if status: - t = self.entropyTools.parallelTask(task) + t = ParallelTask(task) t.start() else: self.service_status_message(queue_id) @@ -3287,7 +3287,7 @@ class RepositoryManagerMenu(MenuSkel): self.TaskQueue.append((self.entropy_available_packages_data_view,[repo_data,data['repoid']],{'reload_func': reload_func},)) if status: - t = self.entropyTools.parallelTask(task, repo_data, data) + t = ParallelTask(task, repo_data, data) t.start() else: self.service_status_message(repo_data) @@ -3636,6 +3636,7 @@ class SmQueueMenu(MenuSkel): class PkgInfoMenu(MenuSkel): + import entropy.tools as entropyTools def __init__(self, Entropy, pkg, window): self.pkg_pixmap = const.pkg_pixmap @@ -3708,7 +3709,7 @@ class PkgInfoMenu(MenuSkel): _("Identifier"), obj['iddoc'], _("Size"), - self.Entropy.entropyTools.bytesIntoHuman(obj['size']), + self.entropyTools.bytesIntoHuman(obj['size']), _("Author"), obj['username'], obj['ts'], @@ -3959,7 +3960,7 @@ class PkgInfoMenu(MenuSkel): counter += 1 if spawn_fetch: - self.ugc_preview_fetcher = self.Entropy.entropyTools.parallelTask(self.spawn_docs_fetch) + self.ugc_preview_fetcher = ParallelTask(self.spawn_docs_fetch) self.ugc_preview_fetcher.start() #search_col = 0 @@ -4230,7 +4231,7 @@ class PkgInfoMenu(MenuSkel): pkgatom = pkg.name self.vote = int(pkg.vote) self.repository = pkg.repoid - self.pkgkey = self.Entropy.entropyTools.dep_getkey(pkgatom) + self.pkgkey = self.entropyTools.dep_getkey(pkgatom) self.set_stars_from_repository() self.pkginfo_ui.pkgImage.set_from_file(self.pkg_pixmap) self.pkginfo_ui.ugcSmallIcon.set_from_file(self.ugc_small_pixmap) @@ -4636,7 +4637,7 @@ class UGCInfoMenu(MenuSkel): self.ugcinfo_ui.authorContent.set_markup("%s" % (unicode(self.ugc_data['username'],'raw_unicode_escape'),)) self.ugcinfo_ui.dateContent.set_markup("%s" % (self.ugc_data['ts'],)) self.ugcinfo_ui.keywordsContent.set_markup("%s" % (unicode(', '.join(self.ugc_data['keywords']),'raw_unicode_escape'),)) - self.ugcinfo_ui.sizeContent.set_markup("%s" % (self.Entropy.entropyTools.bytesIntoHuman(self.ugc_data['size']),)) + self.ugcinfo_ui.sizeContent.set_markup("%s" % (self.entropyTools.bytesIntoHuman(self.ugc_data['size']),)) bold_items = [ self.ugcinfo_ui.titleLabel, @@ -4678,7 +4679,7 @@ class UGCInfoMenu(MenuSkel): class UGCAddMenu(MenuSkel): - import entropyTools + import entropy.tools as entropyTools def __init__(self, Entropy, pkgkey, repository, window, refresh_cb): self.loading_pix = gtk.image_new_from_file(const.loading_pix) @@ -4755,7 +4756,7 @@ class UGCAddMenu(MenuSkel): bck_updateProgress = self.Entropy.updateProgress self.Entropy.updateProgress = self.do_label_update_progress try: - t = self.entropyTools.parallelTask(self.do_send_document_autosense, doc_type, doc_path, title, description, keywords_text) + t = ParallelTask(self.do_send_document_autosense, doc_type, doc_path, title, description, keywords_text) t.start() while 1: if not t.isAlive(): break @@ -6009,12 +6010,10 @@ class ExceptionDialog: pass def show(self): - - import entropyTools + import entropy.tools from entropy.qa import ErrorReportInterface - - errmsg = entropyTools.getTraceback() - conntest = entropyTools.get_remote_data(etpConst['conntestlink']) + errmsg = entropy.tools.getTraceback() + conntest = entropy.tools.get_remote_data(etpConst['conntestlink']) rc, (name,mail,description) = errorMessage( None, _( "Exception caught" ), diff --git a/spritz/src/entropyapi.py b/spritz/src/entropyapi.py index f06a3f164..ed6df6a07 100644 --- a/spritz/src/entropyapi.py +++ b/spritz/src/entropyapi.py @@ -23,10 +23,11 @@ from spritz_setup import const from dialogs import questionDialog, LicenseDialog, okDialog, choiceDialog, inputDialog # Entropy Imports -from entropyConstants import * +from entropy.const import * from entropy.client.interfaces import Client as EquoInterface from entropy.transceivers import urlFetcher from entropy.i18n import _ +from entropy.misc import ParallelTask ''' @@ -144,7 +145,7 @@ class QueueExecutor: self.Entropy.UGC.add_download_stats(myrepo, mypkgkeys) except: pass - t = self.Entropy.entropyTools.parallelTask(spawn_ugc) + t = ParallelTask(spawn_ugc) t.start() self.Spritz.ui.skipMirror.hide() diff --git a/spritz/src/etpgui/packages.py b/spritz/src/etpgui/packages.py index 88bf3644b..fb4f94c9d 100644 --- a/spritz/src/etpgui/packages.py +++ b/spritz/src/etpgui/packages.py @@ -18,7 +18,7 @@ # Authors: # Tim Lauridsen -from entropyConstants import * +from entropy.const import * from entropyapi import Equo from spritz_setup import cleanMarkupString, SpritzConf EquoIntf = Equo() @@ -51,7 +51,7 @@ class DummyEntropyPackage: class EntropyPackage: - import entropyTools + import entropy.tools as entropyTools def __init__(self, matched_atom, avail, remote = None, pkgset = None): self.pkgset = pkgset diff --git a/spritz/src/packages.py b/spritz/src/packages.py index 679bf980b..7fbc669b7 100644 --- a/spritz/src/packages.py +++ b/spritz/src/packages.py @@ -21,11 +21,8 @@ from etpgui.packages import EntropyPackage, DummyEntropyPackage import logging from spritz_setup import SpritzConf from entropy.i18n import _ -from entropyConstants import * -try: - from entropy.exceptions import * -except ImportError: - from exceptionTools import * +from entropy.const import * +from entropy.exceptions import * class EntropyPackages: diff --git a/spritz/src/repo-manager-client.py b/spritz/src/repo-manager-client.py index 020afdcc6..a8eabb22b 100644 --- a/spritz/src/repo-manager-client.py +++ b/spritz/src/repo-manager-client.py @@ -30,8 +30,8 @@ sys.path.insert(0,"../../libraries") sys.path.insert(1,"../../client") sys.path.insert(2,"/usr/lib/entropy/libraries") sys.path.insert(3,"/usr/lib/entropy/client") -from entropyConstants import * -import entropyTools +from entropy.const import * +import entropy.tools as entropyTools from packages import EntropyPackages from entropyapi import Equo, QueueExecutor from entropy.qa import ErrorReportInterface diff --git a/spritz/src/spritz.py b/spritz/src/spritz.py index e4c6e0941..085fc8373 100644 --- a/spritz/src/spritz.py +++ b/spritz/src/spritz.py @@ -30,15 +30,13 @@ sys.path.insert(0,"../../libraries") sys.path.insert(1,"../../client") sys.path.insert(2,"/usr/lib/entropy/libraries") sys.path.insert(3,"/usr/lib/entropy/client") -try: - from entropy.exceptions import * -except ImportError: - from exceptionTools import * -import entropyTools +from entropy.exceptions import * +import entropy.tools from packages import EntropyPackages from entropyapi import Equo, QueueExecutor -from entropyConstants import * +from entropy.cont import * from entropy.i18n import _ +from entropy.misc import TimeScheduled, ParallelTask # Spritz Imports import gtk, gobject @@ -616,12 +614,12 @@ class SpritzApplication(Controller): self.ui.adsLabel.set_markup("%s" % (_("Advertisement"),)) self.ad_url = 'http://www.silkbit.com' self.ui.bannerEventBox.show_all() - self.adTask = entropyTools.TimeScheduled(60, self.spawnAdRotation) + self.adTask = TimeScheduled(60, self.spawnAdRotation) self.adTask.set_delay_before(True) self.adTask.start() def setupUgc(self): - self.ugcTask = entropyTools.TimeScheduled(30, self.spawnUgcUpdate) + self.ugcTask = TimeScheduled(30, self.spawnUgcUpdate) self.ugcTask.set_delay_before(True) if "--nougc" not in sys.argv: self.ugcTask.start() @@ -642,7 +640,7 @@ class SpritzApplication(Controller): tries = 5 while tries: - ads_data = entropyTools.get_remote_data(self.ad_list_url) + ads_data = entropy.tools.get_remote_data(self.ad_list_url) if not ads_data: tries -= 1 continue @@ -660,7 +658,7 @@ class SpritzApplication(Controller): mypix_url = os.path.join(self.ad_uri_dir,mydata[0]) myurl = ' '.join(mydata[1:]) - pix_tmp_path = entropyTools.getRandomTempFile() + pix_tmp_path = entropy.tools.getRandomTempFile() fetchConn = self.Equo.urlFetcher(mypix_url, pix_tmp_path, resume = False) rc = fetchConn.download() if rc in ("-1","-2","-3","-4"): @@ -713,7 +711,7 @@ class SpritzApplication(Controller): self.isWorking = True self.spawning_ugc = True if self.do_debug: print "are we connected?" - connected = entropyTools.get_remote_data(etpConst['conntestlink']) + connected = entropy.tools.get_remote_data(etpConst['conntestlink']) if self.do_debug: cr = False if connected: cr = True @@ -739,8 +737,8 @@ class SpritzApplication(Controller): self.dbBackupStore.clear() backed_up_dbs = self.Equo.list_backedup_client_databases() for mypath in backed_up_dbs: - mymtime = self.Equo.entropyTools.getFileUnixMtime(mypath) - mytime = self.Equo.entropyTools.convertUnixTimeToHumanTime(mymtime) + mymtime = entropy.tools.getFileUnixMtime(mypath) + mytime = entropy.tools.convertUnixTimeToHumanTime(mymtime) self.dbBackupStore.append( (mypath,os.path.basename(mypath),mytime,) ) def on_console_click(self, widget, event): @@ -953,7 +951,7 @@ class SpritzApplication(Controller): return saveParameter(config_file, name, writedata) def saveParameter(config_file, name, data): - return entropyTools.writeParameterToFile(config_file,name,data) + return entropy.tools.writeParameterToFile(config_file,name,data) self.Preferences = { etpConst['entropyconf']: [ @@ -1210,7 +1208,7 @@ class SpritzApplication(Controller): board_file = etpRepositories[repoid]['local_notice_board'] if not (os.path.isfile(board_file) and os.access(board_file,os.R_OK)): continue - if self.Equo.entropyTools.get_file_size(board_file) < 10: + if entropy.tools.get_file_size(board_file) < 10: continue repoids[repoid] = board_file if repoids: @@ -1261,7 +1259,7 @@ class SpritzApplication(Controller): def run_up(): self.__repo_update_rc = repoConn.sync() - t = self.Equo.entropyTools.parallelTask(run_up) + t = ParallelTask(run_up) t.start() while t.isAlive(): time.sleep(0.2) @@ -1484,7 +1482,7 @@ class SpritzApplication(Controller): e,i = 1,None self.my_inst_errors = (e,i,) - t = self.Equo.entropyTools.parallelTask(run_tha_bstrd) + t = ParallelTask(run_tha_bstrd) t.start() while t.isAlive(): time.sleep(0.2) @@ -1592,7 +1590,7 @@ class SpritzApplication(Controller): def runEditor(self, filename, delete = False): cmd = ' '.join([self.fileEditor,filename]) - task = entropyTools.parallelTask(self.__runEditor, cmd, delete, filename) + task = ParallelTask(self.__runEditor, cmd, delete, filename) task.start() def __runEditor(self, cmd, delete, filename): @@ -1751,7 +1749,7 @@ class SpritzApplication(Controller): identifier, source, dest = self.__get_Edit_filename() if not identifier: return True - randomfile = entropyTools.getRandomTempFile()+".diff" + randomfile = entropy.tools.getRandomTempFile()+".diff" diffcmd = "diff -Nu "+dest+" "+source+" > "+randomfile os.system(diffcmd) self.runEditor(randomfile, delete = True) @@ -1987,7 +1985,7 @@ class SpritzApplication(Controller): repostuff = selection.get_selected() if repostuff[1] != None: repoid = self.repoView.get_repoid(repostuff) - repodata = entropyTools.getRepositorySettings(repoid) + repodata = entropy.tools.getRepositorySettings(repoid) self.__loadRepodata(repodata) self.addrepo_ui.addRepoWin.show() @@ -2166,7 +2164,7 @@ class SpritzApplication(Controller): rc = self.processPackageQueue(self.queue.packages, remove_repos = [newrepo]) except: if self.do_debug: - self.Equo.entropyTools.printTraceback() + entropy.tools.printTraceback() import pdb; pdb.set_trace() else: raise @@ -2269,7 +2267,7 @@ class SpritzApplication(Controller): rc = self.processPackageQueue(self.queue.packages, fetch_only = fetch_only, download_sources = download_sources) except: if self.do_debug: - self.Equo.entropyTools.printTraceback() + entropy.tools.printTraceback() import pdb; pdb.set_trace() else: raise self.resetQueueProgressBars() @@ -2684,7 +2682,7 @@ class SpritzApplication(Controller): except QueueError: self.libtest_abort = True - t = self.Equo.entropyTools.parallelTask(exec_task) + t = ParallelTask(exec_task) t.start() while t.isAlive(): time.sleep(0.2) @@ -2765,7 +2763,7 @@ if __name__ == "__main__": gtk.gdk.threads_enter() gtk.main() gtk.gdk.threads_leave() - entropyTools.kill_threads() + entropy.tools.kill_threads() mainApp.quit() except SystemExit: print "Quit by User (SystemExit)" @@ -2780,7 +2778,7 @@ if __name__ == "__main__": except NameError: pass except: # catch other exception and write it to the logger. - entropyTools.kill_threads() + entropy.tools.kill_threads() try: mainApp.quit(sysexit = False) except NameError: diff --git a/spritz/src/spritz_setup.py b/spritz/src/spritz_setup.py index 2ed0dee22..e5d2774f7 100644 --- a/spritz/src/spritz_setup.py +++ b/spritz/src/spritz_setup.py @@ -18,8 +18,8 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. import os, sys -import entropyTools -from entropyConstants import * +import entropy.tools as entropyTools +from entropy.const import * from entropy.i18n import _ class const: diff --git a/spritz/src/views.py b/spritz/src/views.py index a83c32f5d..2ad30370b 100644 --- a/spritz/src/views.py +++ b/spritz/src/views.py @@ -25,13 +25,11 @@ from etpgui.widgets import UI,CellRendererStars from packages import DummyEntropyPackage from entropyapi import Equo from etpgui import * -from entropyConstants import * from entropy.i18n import _,_LOCALE from dialogs import MaskedPackagesDialog, ConfirmationDialog, okDialog -try: - from entropy.exceptions import * -except ImportError: - from exceptionTools import * +from entropy.exceptions import * +from entropy.const import * +from entropy.misc import ParallelTask TOGGLE_WIDTH = 12 @@ -228,7 +226,7 @@ class EntropyPackageView: self.pkgset_undoremove.set_image(self.img_pkgset_undoremove) # start view refresher - t = self.Equo.entropyTools.parallelTask(self.view_refresher) + t = ParallelTask(self.view_refresher) t.start() def view_refresher(self): @@ -1048,7 +1046,7 @@ class EntropyPackageView: self.queueView.refresh() self.view.queue_draw() - t = self.Equo.entropyTools.parallelTask(self.vote_submit_thread, repository, key, obj) + t = ParallelTask(self.vote_submit_thread, repository, key, obj) t.start() @@ -1061,7 +1059,7 @@ class EntropyPackageView: gtk.gdk.threads_enter() self.ui.UGCMessageLabel.set_markup(msg) gtk.gdk.threads_leave() - t = self.Equo.entropyTools.parallelTask(self.refresh_vote_info, obj) + t = ParallelTask(self.refresh_vote_info, obj) t.start()