p!ranha?
Server IP : 103.169.32.36  /  Your IP : 216.73.217.13
Web Server : Apache
System : Linux web.dpmptsp 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 5.6.40
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /lib/python2.7/site-packages/yum/

Upload File :
Curr3nt_D!r [ Writeable ] D0cum3nt_r0Ot [ Writeable ]

 
Command :
Current File : /lib/python2.7/site-packages/yum/callbacks.py
#!/usr/bin/python -tt
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

"""Classes for handling various callbacks."""

# imports

import logging 
from urlgrabber.progress import BaseMeter,format_time,format_number


# ProcessTransaction States

PT_DOWNLOAD        = 10    # Start Download
PT_DOWNLOAD_PKGS   = 11    # Packages to download
PT_GPGCHECK        = 20    # Start Checkin Package Signatures
PT_TEST_TRANS      = 30    # Start Test Transaction
PT_TRANSACTION     = 40    # Start Transaction

PT_MESSAGES = { PT_DOWNLOAD    : "Downloading Packages",
                PT_GPGCHECK    : "Check Package Signatures",
                PT_TEST_TRANS  : "Running Test Transaction",
                PT_TRANSACTION : "Running Transaction"}



class ProcessTransBaseCallback:
    """A class to handle callbacks from
    :func:`YumBase.processTransaction`.
    """
    def __init__(self):
        self.logger = logging.getLogger('yum.verbose.ProcessTrasactionBaseCallback')
        
    def event(self,state,data=None):
        """Handle an event by logging it.

        :param state: a number indicating the type of callback
        :param data: data associated with the callback
        """
        if state in PT_MESSAGES.keys():
            self.logger.info(PT_MESSAGES[state])

class ProcessTransNoOutputCallback:
    """A class to handle callbacks from
    :func:`YumBase.processTransaction`, without logging them.
    """
    def __init__(self):
        pass
         
    def event(self,state,data=None):
        """Handle an event.

        :param state: a number indicating the type of callback
        :param data: data associated with the callback
        """
        pass
    
class DownloadBaseCallback( BaseMeter ):
    """This is a base class that can be extended to implement a custom
    download progress handler to be used with
    :func:`YumBase.repos.setProgressBar`.
    
    Example::
    
       from yum.callbacks import DownloadBaseCallback
       
       class MyDownloadCallback(  DownloadBaseCallback ):
   
           def updateProgress(self,name,frac,fread,ftime):
               '''
               Update the progressbar
               @param name: filename
               @param frac: Progress fracment (0 -> 1)
               @param fread: formated string containing BytesRead
               @param ftime : formated string containing remaining or elapsed time
               '''
               pct = int( frac*100 )
               print " %s : %s " % (name,pct)
   
   
       if __name__ == '__main__':
           my = YumBase()
           my.doConfigSetup()
           dnlcb = MyDownloadCallback()
           my.repos.setProgressBar( dnlcb )
           for pkg in my.pkgSack:
               print pkg.name
       """
    def __init__(self):
        BaseMeter.__init__( self )
        self.totSize = ""   # Total size to download in a formatted string (Kb, MB etc)
        
    def update( self, amount_read, now=None ):
        """Update the status bar.

        :param amount_read: the amount of data, in bytes, that has been read
        :param now: the current time in seconds since the epoch.  If
           *now* is not given, the output of :func:`time.time()` will
           be used.
        """
        BaseMeter.update( self, amount_read, now )

    def _do_start( self, now=None ):
        name = self._getName()
        self.updateProgress(name,0.0,"","")
        if not self.size is None:
            self.totSize = format_number( self.size )

    def _do_update( self, amount_read, now=None ):
        fread = format_number( amount_read )
        name = self._getName()
        if self.size is None:
            # Elapsed time
            etime = self.re.elapsed_time()
            fetime = format_time( etime )
            frac = 0.0
            self.updateProgress(name,frac,fread,fetime)
        else:
            # Remaining time
            rtime = self.re.remaining_time()
            frtime = format_time( rtime )
            frac = self.re.fraction_read()
            self.updateProgress(name,frac,fread,frtime)


    def _do_end( self, amount_read, now=None ):
        total_time = format_time( self.re.elapsed_time() )
        total_size = format_number( amount_read )
        name = self._getName()
        self.updateProgress(name,1.0,total_size,total_time)

    def _getName(self):
        '''
        Get the name of the package being downloaded
        '''
        if self.text and type( self.text ) == type( "" ):
            name = self.text
        else:
            name = self.basename
        return name

    def updateProgress(self,name,frac,fread,ftime):
        """Update the progressbar.  This method should be overridden
        by subclasses to implement the handler.

        :param name: the name of the filed being downloaded
        :param frac: number between 0 and 1 representing the fraction
            fraction of the file that has been downloaded
        :param fread: formatted string containing the number of bytes read
        :param ftime: formatted string containing remaining or elapsed time

        """
        pass
        
N4m3
5!z3
L45t M0d!f!3d
0wn3r / Gr0up
P3Rm!55!0n5
0pt!0n5
..
--
December 21 2023 09:18:24
0 / 0
0755
Errors.py
4.265 KB
October 01 2020 17:03:44
0 / 0
0755
Errors.pyc
9.084 KB
October 01 2020 17:03:44
0 / 0
0644
__init__.py
304.096 KB
October 01 2020 17:03:44
0 / 0
0755
__init__.pyc
199.779 KB
October 01 2020 17:03:44
0 / 0
0644
callbacks.py
5.64 KB
October 01 2020 17:03:44
0 / 0
0755
callbacks.pyc
6.232 KB
October 01 2020 17:03:44
0 / 0
0644
comps.py
31.586 KB
October 01 2020 17:03:44
0 / 0
0755
comps.pyc
26.872 KB
October 01 2020 17:03:44
0 / 0
0644
config.py
49.886 KB
October 01 2020 17:03:44
0 / 0
0755
config.pyc
48.018 KB
October 01 2020 17:03:44
0 / 0
0644
constants.py
4.516 KB
October 01 2020 17:03:44
0 / 0
0755
constants.pyc
3.42 KB
October 01 2020 17:03:44
0 / 0
0644
depsolve.py
74.046 KB
October 01 2020 17:03:44
0 / 0
0755
depsolve.pyc
46.906 KB
October 01 2020 17:03:44
0 / 0
0644
drpm.py
12.851 KB
October 01 2020 17:03:44
0 / 0
0755
drpm.pyc
10.834 KB
October 01 2020 17:03:44
0 / 0
0644
failover.py
5.005 KB
October 01 2020 17:03:44
0 / 0
0755
failover.pyc
5.236 KB
October 01 2020 17:03:44
0 / 0
0644
fssnapshots.py
10.159 KB
October 01 2020 17:03:44
0 / 0
0755
fssnapshots.pyc
9.752 KB
October 01 2020 17:03:44
0 / 0
0644
history.py
61.125 KB
October 01 2020 17:03:44
0 / 0
0755
history.pyc
53.306 KB
October 01 2020 17:03:44
0 / 0
0644
i18n.py
20.437 KB
October 01 2020 17:03:44
0 / 0
0755
i18n.pyc
16.05 KB
October 01 2020 17:03:44
0 / 0
0644
igroups.py
9.313 KB
October 01 2020 17:03:44
0 / 0
0755
igroups.pyc
10.218 KB
October 01 2020 17:03:44
0 / 0
0644
logginglevels.py
7.904 KB
October 01 2020 17:03:44
0 / 0
0755
logginglevels.pyc
6.511 KB
October 01 2020 17:03:44
0 / 0
0644
mdparser.py
6.258 KB
October 01 2020 17:03:44
0 / 0
0755
mdparser.pyc
7.58 KB
October 01 2020 17:03:44
0 / 0
0644
metalink.py
9.188 KB
October 01 2020 17:03:44
0 / 0
0755
metalink.pyc
8.836 KB
October 01 2020 17:03:44
0 / 0
0644
misc.py
39.567 KB
October 01 2020 17:03:44
0 / 0
0755
misc.pyc
39.58 KB
October 01 2020 17:03:44
0 / 0
0644
packageSack.py
40.786 KB
October 01 2020 17:03:44
0 / 0
0755
packageSack.pyc
41.88 KB
October 01 2020 17:03:44
0 / 0
0644
packages.py
84.104 KB
October 01 2020 17:03:44
0 / 0
0755
packages.pyc
84.514 KB
October 01 2020 17:03:44
0 / 0
0644
parser.py
7.973 KB
October 01 2020 17:03:44
0 / 0
0755
parser.pyc
6.499 KB
October 01 2020 17:03:44
0 / 0
0644
pgpmsg.py
53.5 KB
October 01 2020 17:03:44
0 / 0
0755
pgpmsg.pyc
38.268 KB
October 01 2020 17:03:44
0 / 0
0644
pkgtag_db.py
4.864 KB
October 01 2020 17:03:44
0 / 0
0755
pkgtag_db.pyc
5.061 KB
October 01 2020 17:03:44
0 / 0
0644
plugins.py
28.1 KB
October 01 2020 17:03:44
0 / 0
0755
plugins.pyc
29.097 KB
October 01 2020 17:03:44
0 / 0
0644
repoMDObject.py
11.231 KB
October 01 2020 17:03:44
0 / 0
0755
repoMDObject.pyc
9.17 KB
October 01 2020 17:03:44
0 / 0
0644
repos.py
16.528 KB
October 01 2020 17:03:44
0 / 0
0755
repos.pyc
17.383 KB
October 01 2020 17:03:44
0 / 0
0644
rpmsack.py
70.255 KB
October 01 2020 17:03:44
0 / 0
0755
rpmsack.pyc
58.355 KB
October 01 2020 17:03:44
0 / 0
0644
rpmtrans.py
24.845 KB
October 01 2020 17:03:44
0 / 0
0755
rpmtrans.pyc
22.544 KB
October 01 2020 17:03:44
0 / 0
0644
sqlitesack.py
69.763 KB
October 01 2020 17:03:44
0 / 0
0755
sqlitesack.pyc
53.751 KB
October 01 2020 17:03:44
0 / 0
0644
sqlutils.py
6.271 KB
October 01 2020 17:03:44
0 / 0
0755
sqlutils.pyc
5.602 KB
October 01 2020 17:03:44
0 / 0
0644
transactioninfo.py
33.784 KB
October 01 2020 17:03:44
0 / 0
0755
transactioninfo.pyc
30.293 KB
October 01 2020 17:03:44
0 / 0
0644
update_md.py
25.9 KB
October 01 2020 17:03:44
0 / 0
0755
update_md.pyc
21.722 KB
October 01 2020 17:03:44
0 / 0
0644
updateinfo.py
18.29 KB
October 01 2020 17:03:44
0 / 0
0755
updateinfo.pyc
16.36 KB
October 01 2020 17:03:44
0 / 0
0644
yumRepo.py
83.852 KB
October 01 2020 17:03:44
0 / 0
0755
yumRepo.pyc
64.827 KB
October 01 2020 17:03:44
0 / 0
0644