[Yum] new daily snapshot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



		Hi, seth!

>>>>> "sv" == seth vidal <skvidal@xxxxxxxxxxxx> writes:

 sv> - implemented yum info [pkgname] ....

 firs step:  "one print, one format".
 
def displayinfo(hdr):
    print """\
Name   : %s
Version: %s
Release: %s
Size   : %s
Summary: %s
Description:
%s

""" % (hdr[rpm.RPMTAG_NAME], hdr[rpm.RPMTAG_VERSION], hdr[rpm.RPMTAG_RELEASE],
       clientStuff.descfsize(hdr[rpm.RPMTAG_SIZE]), hdr[rpm.RPMTAG_SUMMARY],
       hdr[rpm.RPMTAG_DESCRIPTION])


 Next step - move out 'output format' from source, into...  
  Who know?  Maybe to text constant at top of module, maybe into config
  file ;-))
   
 
 Another step - incapsulate data into class hdr with dict-interface, and
 simplify format-string:
 
 For example, hdr['rpm_tag_name'] return value  hdr[rpm.RPMTAG_NAME],
 hdr['desc_fsize'] return clientStuff.descfsize(hdr[rpm.RPMTAG_SIZE])...

 result of this two steps:
 
 === cut == yum.conf ==
 output_format = """\
Name   : %(rpm_tag_name)s
Version: %(rpm_tag_version)s
Release: %(rpm_tag_release)s
Size   : %(desc_fsize)s
Summary: %(rpm_tag_summary)s
Description:
%(rpm_tag_description)s

"""
 === cut ==
 
 def displayinfo(hdr):
     print yumconf['info_fmt'] % hdr
 

 Final step - diplayinfo move to hdr class.  As result, instead
 displayinfo(hdr) we use hdr.displayinfo().

 finally, 


    for (name, arch) in pkglist:
        hdr=nevral.getHeader(name,arch)
        displayinfo(hdr)
        del hdr
 
 
 will looks like:


    for package in pkglist:
        nevral[package].getHeader().getDisplayinfo()
 
 
 - no unnecessary object creation, memory allocation.
 - programm code can be readed as 'text line at english'.
 
-- 
		Bor.


[Index of Archives]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux