[Erp5-report] r42871 rafael - in /erp5/trunk/utils/erp5.recipe.btrepository: ./ src/erp5/re...

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Feb 1 08:01:25 CET 2011


Author: rafael
Date: Tue Feb  1 08:01:25 2011
New Revision: 42871

URL: http://svn.erp5.org?rev=42871&view=rev
Log:

Use erp5.utils.dists instead local implementation

Modified:
    erp5/trunk/utils/erp5.recipe.btrepository/setup.py
    erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/repository.py

Modified: erp5/trunk/utils/erp5.recipe.btrepository/setup.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.btrepository/setup.py?rev=42871&r1=42870&r2=42871&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.recipe.btrepository/setup.py [utf8] (original)
+++ erp5/trunk/utils/erp5.recipe.btrepository/setup.py [utf8] Tue Feb  1 08:01:25 2011
@@ -21,7 +21,7 @@ setup(
     "zc.buildout recipe that creates an repository of business template",
   long_description = long_description,
   license = "ZPL 2.1",
-  keywords = "businesstemplates buildout",
+  keywords = "bt5 erp5 buildout",
   classifiers = [
     "License :: OSI Approved :: Zope Public License",
     "Framework :: Buildout",
@@ -31,6 +31,6 @@ setup(
   packages = find_packages('src'),
   namespace_packages = ['erp5', 'erp5.recipe'],
   include_package_data = True,
-  install_requires = ['setuptools', 'zc.recipe.egg'],
+  install_requires = ['setuptools', 'zc.recipe.egg', "erp5.utils.dists"],
   entry_points = {'zc.buildout': ['default = %s:Recipe' % name]},
   )

Modified: erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/repository.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/repository.py?rev=42871&r1=42870&r2=42871&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/repository.py [utf8] (original)
+++ erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/repository.py [utf8] Tue Feb  1 08:01:25 2011
@@ -26,84 +26,13 @@
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #
 ##############################################################################
-from optparse import OptionParser
-try:
-  from hashlib import md5
-except ImportError:
-  from md5 import new as md5
-import os
-import shutil
-import genbt5list
-import tarfile
 
+from erp5.utils.dists import repository
 
-def load_options():
-  parser = OptionParser()
-  parser.add_option("-u", "--url", dest="url",
-                    help="write report to FILE", metavar="URL", 
-                    default="https://svn.erp5.org/repos/public/erp5/trunk/bt5,"\
-                            "https://svn.erp5.org/repos/public/erp5/trunk/products/ERP5/bootstrap")
-  
-  parser.add_option("-r", "--repository",
-                    dest="repository", default=os.getcwd(),
-                    help="don't print status messages to stdout")
-  
-  return parser.parse_args()
-
-# Lock file name
-LOCKFILE="/tmp/update_repository.lock"
-WORKDIR = "/tmp/update_repository_work"
-DOWNLOADDIR = "/tmp/update_repository_download"
-DOWNLOAD_COMMAND = "svn co --trust-server-cert --non-interactive --quiet"
-
-def pack_business_template(destination, source):
-  t = tarfile.open(destination, "w:gz")
-  def exclude_svn(filemane):
-    return ".svn" in filemane
-  t.add(source, exclude=exclude_svn)
-  t.close()
-
-def main(url_list, destination,
-         download_dir=DOWNLOADDIR, 
-         download_cmd=DOWNLOAD_COMMAND, 
-         preserve_download=True):
-
-  if os.path.exists(LOCKFILE):
-      raise ValueError("Lock file %s exists" % LOCKFILE)
-
-  try: 
-    f = open(LOCKFILE, "w+"); f.close()
-    if not os.path.exists(download_dir):
-      os.mkdir(download_dir)
-    os.mkdir(WORKDIR)
-    for url in url_list:
-      if url != "":
-        os.chdir(download_dir)
-        repos = md5(url).hexdigest()
-        os.system("%s %s %s" % (download_cmd, url, repos))
-        os.chdir(repos)
-        for bt in os.listdir("."):
-          if "." not in bt:
-            # We could use tarfile instead.
-            pack_business_template("%s/%s.bt5" % (WORKDIR,bt), bt)
-
-    ### # Publish the repository
-    for bt in os.listdir(WORKDIR):
-      bt_path = os.path.join(destination,bt)
-      if os.path.exists(bt_path):
-        os.remove(bt_path)
-      shutil.move('%s/%s' % (WORKDIR,bt), destination)
-    
-    os.chdir(destination)
-    genbt5list.main()
-  finally:
-    if os.path.exists(LOCKFILE):
-      os.remove(LOCKFILE)
-    shutil.rmtree(WORKDIR)
-    if not preserve_download:
-      shutil.rmtree(download_dir)
-  return True
-
-if __name__ == "__main__":
-  (options, args) = load_options()
-  main(url_list = options.url.split(","), destination = options.repository)
+def main(url_list, destination, download_dir, download_cmd, preserve_download):
+  return repository.build(
+          url_list, 
+          destination,
+          download_dir,
+          download_cmd,
+          preserve_download)



More information about the Erp5-report mailing list