[Erp5-report] r42855 rafael - /erp5/trunk/utils/erp5.utils.dists/src/erp5/utils/dists/
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Feb 1 01:37:05 CET 2011
Author: rafael
Date: Tue Feb 1 01:37:04 2011
New Revision: 42855
URL: http://svn.erp5.org?rev=42855&view=rev
Log:
Improve script and remove /tmp and lock usage.
Modified:
erp5/trunk/utils/erp5.utils.dists/src/erp5/utils/dists/repository.py
Modified: erp5/trunk/utils/erp5.utils.dists/src/erp5/utils/dists/repository.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.utils.dists/src/erp5/utils/dists/repository.py?rev=42855&r1=42854&r2=42855&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.utils.dists/src/erp5/utils/dists/repository.py [utf8] (original)
+++ erp5/trunk/utils/erp5.utils.dists/src/erp5/utils/dists/repository.py [utf8] Tue Feb 1 01:37:04 2011
@@ -36,70 +36,74 @@ import shutil
import genbt5list
from bt5 import compress_business_template_list
-# 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"
+DOWNLOAD_COMMAND = "svn co --trust-server-cert --non-interactive -q"
def load_options():
parser = OptionParser()
parser.add_option("-u", "--url", dest="url",
- help="write report to FILE", metavar="URL",
+ help="URL where the business templates will be downloaded from",
+ 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")
+ help="where the .bt5 will be placed")
parser.add_option("-d", "--download-dir",
- dest="downloaddir", default=DOWNLOADDIR,
+ dest="downloaddir", default=None,
help="don't print statu messages to stdout")
parser.add_option("-c", "--download-cmd",
- dest="downloadcmd", default=DOWNLOAD_COMMAND,
- help="don't print status messages to stdout")
+ dest="downloadcmd",
+ default=DOWNLOAD_COMMAND,
+ help="Command used to download bt5 from URL")
parser.add_option("-p", "--preserve-download",
- dest="downloadcmd", default=DOWNLOAD_COMMAND,
- help="don't print status messages to stdout")
+ dest="preserve_download",
+ action="store_true",
+ default=False,
+ help="Do not erase download after build.")
return parser.parse_args()
def build(url_list, destination,
- download_dir=DOWNLOADDIR,
+ download_dir=None,
download_cmd=DOWNLOAD_COMMAND,
preserve_download=True):
- if os.path.exists(LOCKFILE):
- raise ValueError("Lock file %s exists" % LOCKFILE)
+ lock_path = os.path.join(destination, ".lock")
+ workdir = os.path.join(destination, ".workdir")
+ if download_dir is None:
+ download_dir = os.path.join(destination, ".download")
+ if os.path.exists(lock_path):
+ raise ValueError("Lock file %s exists" % lock_path)
try:
- f = open(LOCKFILE, "w+"); f.close()
+ f = open(lock_path, "w+"); f.close()
if not os.path.exists(download_dir):
os.mkdir(download_dir)
- os.mkdir(WORKDIR)
+ 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))
- compress_business_template_list(WORKDIR, repos)
+ compress_business_template_list(workdir, repos)
### # Publish the repository
- for bt in os.listdir(WORKDIR):
+ 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)
+ shutil.move('%s/%s' % (workdir, bt), destination)
os.chdir(destination)
- genbt5list.main()
+ genbt5list._main()
finally:
- if os.path.exists(LOCKFILE):
- os.remove(LOCKFILE)
- shutil.rmtree(WORKDIR)
+ if os.path.exists(lock_path):
+ os.remove(lock_path)
+ shutil.rmtree(workdir)
if not preserve_download:
shutil.rmtree(download_dir)
return True
@@ -110,7 +114,7 @@ def main():
destination = options.repository,
download_dir=options.downloaddir,
download_cmd=options.downloadcmd,
- preserve_download=False
+ preserve_download=options.preserve_download
)
if __name__ == "__main__":
More information about the Erp5-report
mailing list