[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