[120974] branches/gsoc14-pip2port/tester.py

gaurav at macports.org gaurav at macports.org
Fri Jun 13 01:23:08 PDT 2014


Revision: 120974
          https://trac.macports.org/changeset/120974
Author:   gaurav at macports.org
Date:     2014-06-13 01:23:08 -0700 (Fri, 13 Jun 2014)
Log Message:
-----------
met PEP8 coding standards

Modified Paths:
--------------
    branches/gsoc14-pip2port/tester.py

Modified: branches/gsoc14-pip2port/tester.py
===================================================================
--- branches/gsoc14-pip2port/tester.py	2014-06-13 08:02:46 UTC (rev 120973)
+++ branches/gsoc14-pip2port/tester.py	2014-06-13 08:23:08 UTC (rev 120974)
@@ -5,7 +5,7 @@
 __doc__ = """...Tester Script for pypi2port..."""
 
 # -*- coding: utf-8 -*-
-#! /usr/bin/env python
+# !/usr/bin/env python
 
 import argparse
 import sys
@@ -25,61 +25,39 @@
 
 client = xmlrpclib.ServerProxy('http://pypi.python.org/pypi')
 
+
 def list_all():
     list_packages = client.list_packages()
     for package in list_packages:
         print package
 
+
 def search(pkg_name):
     print "\n"
-    values=client.search({'name':pkg_name})
+    values = client.search({'name': pkg_name})
     for value in values:
         for key in value.keys():
-            print key,'-->',value[key]
+            print key, '-->', value[key]
         print "\n"
 
-def release_data(pkg_name,pkg_version):
+
+def release_data(pkg_name, pkg_version):
     print "\n"
     if pkg_version:
-        values = client.release_data(pkg_name,pkg_version)
+        values = client.release_data(pkg_name, pkg_version)
         if values:
             for key in values.keys():
-#                value = values[key]
-#                if value:
-#                    value = value.encode('utf-8')
-                print key,'-->',values[key]
+                print key, '-->', values[key]
         else:
             print "No such package found."
             print "Please specify the exact package name."
         print "\n"
         return
-#    else :
-#        pkg_version = client.package_releases(pkg_name, True)
-#        print pkg_version
-#        return
-#    if not pkg_version:
-#        print "No release available"
-#        return
-#    value = {}
-#    for version in pkg_version:
-#        print version
-#        values = client.release_data(pkg_name,version)
-#        if value:
-#            for key in values.keys():
-#                if not value[key] or value[key]=="":
-#                    values.update(key,value[key])
-#        values.update(value) 
-#            value = values
-#    if values:
-#        for key in values.keys():
-#            print key,'-->',values[key]
-#    else:
-#        print "No such package found."
-#        print "Please specify the exact package name."
     print "\n"
     return
 
-def fetch(pkg_name,dict):
+
+def fetch(pkg_name, dict):
     checksum_md5 = dict['md5_digest']
     parent_dir = './sources'
     src_dir = parent_dir + '/' + pkg_name
@@ -92,12 +70,13 @@
     file_name = src_dir + '/' + dict['filename']
 
     u = urllib2.urlopen(url)
-#    f = open(file_name,'wb')
-    with open(file_name,'wb') as f:
+    with open(file_name, 'wb') as f:
         meta = u.info()
         file_size = int(meta.getheaders("Content-Length")[0])
 
-        widgets = ['Fetching: ', Percentage(), ' ', Bar(marker=RotatingMarker(),left='[',right=']'), ' ', ETA(), ' ', FileTransferSpeed()]
+        widgets = ['Fetching: ', Percentage(), ' ',
+                   Bar(marker=RotatingMarker(), left='[', right=']'),
+                   ' ', ETA(), ' ', FileTransferSpeed()]
         pbar = ProgressBar(widgets=widgets, maxval=int(file_size))
         pbar.start()
 
@@ -114,7 +93,6 @@
 
         pbar.finish()
         print
-#    f.close()
 
     checksum_md5_calc = hashlib.md5(open(file_name).read()).hexdigest()
     if str(checksum_md5) == str(checksum_md5_calc):
@@ -124,8 +102,7 @@
             zip = zipfile.ZipFile(file_name)
             for name in zip.namelist():
                 if name.split("/")[0] == "EGG-INFO":
-#                    print name
-                    zip.extract(name,src_dir)
+                    zip.extract(name, src_dir)
         print "\n"
         return file_name
     else:
@@ -133,55 +110,53 @@
         try:
             os.remove(file_name)
         except OSError, e:
-            print "Error: %s - %s." % (e.filename,e.strerror)
+            print "Error: %s - %s." % (e.filename, e.strerror)
         print "\n"
         return False
 
-def fetch_url(pkg_name,pkg_version,checksum=False,deps=False):
-    values = client.release_urls(pkg_name,pkg_version)
+
+def fetch_url(pkg_name, pkg_version, checksum=False, deps=False):
+    values = client.release_urls(pkg_name, pkg_version)
     if checksum:
         for value in values:
             if value['filename'].split('.')[-1] == 'gz':
-                return fetch(pkg_name,value)
-            
-#    elif deps:
-#        for value in values:
-#            if not value['filename'].split('.')[-1] == 'gz':
-#                return fetch(pkg_name,value)        
+                return fetch(pkg_name, value)
     else:
         print "\n"
         for value in values:
-            return fetch(pkg_name,value)        
+            return fetch(pkg_name, value)
 
-def dependencies(pkg_name,pkg_version,deps=False):
+
+def dependencies(pkg_name, pkg_version, deps=False):
     if not deps:
         return
-    values = client.release_urls(pkg_name,pkg_version)
+    values = client.release_urls(pkg_name, pkg_version)
     for value in values:
         if not value['filename'].split('.')[-1] == 'gz':
-            fetch(pkg_name,value)
+            fetch(pkg_name, value)
     try:
- #       f = open('./sources/'+pkg_name+'/EGG-INFO/requires.txt')
-        with open('./sources/'+pkg_name+'/EGG-INFO/requires.txt') as f:
+        with open('./sources/' + pkg_name + '/EGG-INFO/requires.txt') as f:
             list = f.readlines()
             list = [x.strip('\n') for x in list]
         f.close()
         try:
-            shutil.rmtree('./sources/'+pkg_name+'/EGG-INFO', ignore_errors=True)
-            items = os.listdir('./sources/'+pkg_name)
+            shutil.rmtree('./sources/' + pkg_name + '/EGG-INFO',
+                          ignore_errors=True)
+            items = os.listdir('./sources/' + pkg_name)
             for item in items[:]:
                 if not item.split('.')[-1] == 'gz':
-                    os.remove('./sources/'+pkg_name+'/'+item)
+                    os.remove('./sources/' + pkg_name + '/' + item)
                     items.remove(item)
 
             if not items:
-                os.rmdir('./sources/'+pkg_name)
+                os.rmdir('./sources/' + pkg_name)
         except:
             print ""
         return list
     except:
         try:
-            shutil.rmtree('./sources/'+pkg_name+'/EGG-INFO', ignore_errors=True)
+            shutil.rmtree('./sources/'+pkg_name+'/EGG-INFO',
+                          ignore_errors=True)
             items = os.listdir('./sources/'+pkg_name)
             for item in items[:]:
                 if not item.split('.')[-1] == 'gz':
@@ -194,42 +169,40 @@
         return False
 
 
-def checksums(pkg_name,pkg_version):
-    file_name = fetch_url(pkg_name,pkg_version,True)
+def checksums(pkg_name, pkg_version):
+    file_name = fetch_url(pkg_name, pkg_version, True)
     print file_name
     if file_name:
         checksums = []
         try:
             h = hashlib.new('ripemd160')
-#            f = open(file_name)
-            with open(file_name) as f:            
+            with open(file_name) as f:
                 h.update(f.read())
-                checksums.insert(0,h.hexdigest())
-                checksums.insert(1,hashlib.sha256(f.read()).hexdigest())
-#            f.close()
+                checksums.insert(0, h.hexdigest())
+                checksums.insert(1, hashlib.sha256(f.read()).hexdigest())
             dir = '/'.join(file_name.split('/')[0:-1])
             os.remove(file_name)
             try:
                 os.rmdir(dir)
             except OSError as ex:
-                print 
+                print
             return checksums
         except:
             print "Error\n"
             return
 
 
-def create_portfile(dict,file_name,dict2):
-#    file = open(file_name, 'w')
+def create_portfile(dict, file_name, dict2):
     with open(file_name, 'w') as file:
-        file.write('# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4\n')
+        file.write('# -*- coding: utf-8; mode: tcl; tab-width: 4; ')
+        file.write('indent-tabs-mode: nil; c-basic-offset: 4 ')
+        file.write('-*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4\n')
         file.write('# $Id$\n\n')
         file.write('PortSystem          1.0\n')
         file.write('PortGroup           python 1.0\n\n')
 
         file.write('name                {0}\n'.format(dict['name']))
         file.write('version             {0}\n'.format(dict['version']))
-#        file.write('categories-append   replaceme\n\n')
 
         file.write('platforms           darwin\n')
         license = dict['license']
@@ -238,20 +211,22 @@
             file.write('license             {0}\n'.format(license))
         else:
             file.write('license             None\n')
-        
+
         if dict['maintainer']:
-            file.write('maintainers         {0}\n\n'.format(' '.join(dict['maintainer'])))
+            maintainers = ' '.join(dict['maintainer'])
+            file.write('maintainers         {0}\n\n'.format(maintainers))
         else:
             file.write('maintainers         nomaintainer\n\n')
 
         summary = dict['summary']
         if summary:
-            summary = re.sub(r'[\[\]\{\}\;\:\$\t\"\'\`]',' ',summary)
-            sum_lines = textwrap.wrap(summary,width=70)
+            summary = re.sub(r'[\[\]\{\}\;\:\$\t\"\'\`]*',
+                             ' ', summary)
+            sum_lines = textwrap.wrap(summary, width=70)
             file.write('description         ')
             for sum_line in sum_lines:
                 if sum_line:
-                    if not sum_lines.index(sum_line)==0:
+                    if not sum_lines.index(sum_line) == 0:
                         file.write('                    ')
                     if sum_line == sum_lines[-1]:
                         file.write("{0}\n".format(sum_line))
@@ -259,19 +234,15 @@
                         file.write("{0} \\\n".format(sum_line))
         else:
             file.write('description         None\n\n')
-#        file.write('description         '+dict['summary']+'\n\n')
-#        file.write('description         '+summary+'\n\n')
-#        file.write('long_description    '+dict['description']+'\n\n')
         description = dict['description']
         if description:
             description = description.encode('utf-8')
-            description = re.sub(r'[\[\]\{\}\;\:\$\t\"\'\`]',' ',description)
-#            lines = textwrap.wrap(dict['description'],width=70)
-            lines = textwrap.wrap(description,width=70)
+            description = re.sub(r'[\[\]\{\}\;\:\$\t\"\'\`]', ' ', description)
+            lines = textwrap.wrap(description, width=70)
             file.write('long_description    ')
             for line in lines:
                 if line:
-                    if not lines.index(line)==0:
+                    if not lines.index(line) == 0:
                         file.write('                    ')
                     if line == lines[-1]:
                         file.write("{0}\n".format(line))
@@ -279,7 +250,7 @@
                         file.write("{0} \\\n".format(line))
         else:
             file.write('long_description    ${description}\n\n')
-    
+
         file.write('homepage            {0}\n'.format(dict['home_page']))
 
         if dict2:
@@ -287,24 +258,26 @@
         else:
             master_site = ''
         file.write('master_sites        {0}\n'.format(master_site))
-        file.write('distname            py-{0}{1}\n\n'.format(dict['name'],dict['version']))
-#        rmd160 = checksum_rmd160(dict['name'],dict['version'])
-#        sha256 = checksum_sha256(dict['name'],dict['version'])
-        checksums_values = checksums(dict['name'],dict['version'])
-#        if rmd160 and sha256:
+        file.write('distname            py-{0}{1}\n\n'.format(
+                   dict['name'], dict['version']))
+        checksums_values = checksums(dict['name'], dict['version'])
         if checksums_values:
-            file.write('checksums           rmd160  {0} \\ \n'.format(checksums_values[0]))
-            file.write('                    sha256  {0}\n\n'.format(checksums_values[1]))
+            file.write('checksums           rmd160  {0} \\ \n'.format(
+                       checksums_values[0]))
+            file.write('                    sha256  {0}\n\n'.format(
+                       checksums_values[1]))
 
         python_vers = dict['requires_python']
         if python_vers:
-            file.write('python.versions     25 26 27 {0}\n\n'.format(dict['requires_python']))
+            file.write('python.versions     25 26 27 {0}\n\n'.format(
+                       dict['requires_python']))
         else:
             file.write('python.versions     25 26 27\n\n')
-    
+
         file.write('if {${name} ne ${subport}} {\n')
-        file.write('    depends_build       port:py${python.version}-setuptools\n')
-        deps = dependencies(dict['name'],dict['version'],True)
+        file.write('    depends_build       port:')
+        file.write('py${python.version}-setuptools\n')
+        deps = dependencies(dict['name'], dict['version'], True)
         if deps:
             for dep in deps:
                 file.write('                        port:py-{0}\n'.format(dep))
@@ -313,20 +286,14 @@
         file.write('} else {\n')
         file.write('    livecheck.type      regex\n')
         file.write('    livecheck.url       ${master_sites}\n')
-#        file.write('    livecheck.regex     \n')
         file.write('}\n')
 
-#        file.write('    post-destroot {\n')
 
-
-
-
-def print_portfile(pkg_name,pkg_version=None):
+def print_portfile(pkg_name, pkg_version=None):
     print "\n"
     root_dir = os.path.abspath("./sources")
-    port_dir = os.path.join(root_dir,'Python')
-    home_dir = os.path.join(port_dir,pkg_name)
-#    src_dir = os.path.join(home_dir,"PortFile")
+    port_dir = os.path.join(root_dir, 'Python')
+    home_dir = os.path.join(port_dir, pkg_name)
     if not os.path.exists(root_dir):
         os.makedirs(root_dir)
     if not os.path.exists(port_dir):
@@ -334,39 +301,34 @@
     if not os.path.exists(home_dir):
         os.makedirs(home_dir)
 
-    dict = client.release_data(pkg_name,pkg_version)
-    dict2 = client.release_urls(pkg_name,pkg_version)
+    dict = client.release_data(pkg_name, pkg_version)
+    dict2 = client.release_urls(pkg_name, pkg_version)
 
-    file_name = os.path.join(home_dir,"Portfile")
-#    try:
-#        create_portfile(dict,file_name,dict2)
-#        print "SUCCESS\n"
-    create_portfile(dict,file_name,dict2)
+    file_name = os.path.join(home_dir, "Portfile")
+    create_portfile(dict, file_name, dict2)
     print "SUCCESS\n"
-#    except:
-#        print "ERROR"
 
+
 def main(argv):
     parser = argparse.ArgumentParser(description="Pypi2Port Tester")
     parser.add_argument('-l', '--list', action='store_true', dest='list',
                         default=False, required=False,
                         help='List all packages')
     parser.add_argument('-s', '--search', action='store', type=str,
-                        dest='packages_search', nargs='*', required=False, 
-                        help='Search for a package by <package_name>')
+                        dest='packages_search', nargs='*', required=False,
+                        help='Search for a package')
     parser.add_argument('-d', '--data', action='store',
                         dest='packages_data', nargs='*', type=str,
-                        help='Releases data for a package by <package_name>')
+                        help='Releases data for a package')
     parser.add_argument('-f', '--fetch', action='store', type=str,
-                        dest='package_fetch', nargs='*', required=False, 
-                        help='Fetches distfiles for a package by <package_name> and <package_version>')
+                        dest='package_fetch', nargs='*', required=False,
+                        help='Fetches distfiles for a package')
     parser.add_argument('-p', '--portfile', action='store', type=str,
-                        dest='package_portfile', nargs='*', required=False, 
-                        help='Prints the portfile for a package by <package_name> and <package_version>')
+                        dest='package_portfile', nargs='*', required=False,
+                        help='Prints the portfile for a package')
     options = parser.parse_args()
-#    print options
 
-    if options.list == True:
+    if options.list:
         list_all()
         return
 
@@ -379,24 +341,25 @@
         pkg_name = options.packages_data[0]
         if len(options.packages_data) > 1:
             pkg_version = options.packages_data[1]
-            release_data(pkg_name,pkg_version)
+            release_data(pkg_name, pkg_version)
         else:
             if client.package_releases(pkg_name):
                 pkg_version = client.package_releases(pkg_name)[0]
-                release_data(pkg_name,pkg_version)
-#            release_data(pkg_name)
+                release_data(pkg_name, pkg_version)
+            else:
+                print "No release found\n"
         return
 
     if options.package_fetch:
         pkg_name = options.package_fetch[0]
         if len(options.package_fetch) > 1:
             pkg_version = options.package_fetch[1]
-            fetch_url(pkg_name,pkg_version)
+            fetch_url(pkg_name, pkg_version)
         else:
-            releases =  client.package_releases(pkg_name)
+            releases = client.package_releases(pkg_name)
             if releases:
                 pkg_version = releases[0]
-                fetch_url(pkg_name,pkg_version)
+                fetch_url(pkg_name, pkg_version)
             else:
                 print "No release found\n"
         return
@@ -405,14 +368,14 @@
         pkg_name = options.package_portfile[0]
         if len(options.package_portfile) > 1:
             pkg_version = options.package_portfile[1]
-#            print "PORTFILE %s %s\n" % (pkg_name,pkg_version)
-            print_portfile(pkg_name,pkg_version)
+            print_portfile(pkg_name, pkg_version)
         else:
             vers = client.package_releases(pkg_name)
             if vers:
                 pkg_version = vers[0]
-#                print "PORTFILE %s %s\n" % (pkg_name,pkg_version)
-                print_portfile(pkg_name,pkg_version)
+                print_portfile(pkg_name, pkg_version)
+            else:
+                print "No release found\n"
         return
 
     parser.print_help()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20140613/fb9f8f0b/attachment-0001.html>


More information about the macports-changes mailing list