diff options
author | Nathanaël Lécaudé <Nat@localhost.localdomain> | 2006-11-27 20:23:17 (GMT) |
---|---|---|
committer | Nathanaël Lécaudé <Nat@localhost.localdomain> | 2006-11-27 20:23:17 (GMT) |
commit | eec0f1653dad97ef24787195a7da2ad91fe62386 (patch) | |
tree | b06142fe85ea448c606ef4866006361c1677ad9d /setup.py | |
parent | ed7581b13b44abe41ea7bd70cee5d0bcd08921fe (diff) |
New setup.py
Diffstat (limited to 'setup.py')
-rw-r--r--[-rwxr-xr-x] | setup.py | 126 |
1 files changed, 21 insertions, 105 deletions
@@ -1,105 +1,21 @@ -#!/usr/bin/python - -# Copyright (C) 2006, Red Hat, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -import sys -import os -import zipfile - -from sugar.activity.bundle import Bundle - -class SvnFileList(list): - def __init__(self): - f = os.popen('svn list -R') - for line in f.readlines(): - filename = line.strip() - if os.path.isfile(filename): - self.append(filename) - f.close() - -class GitFileList(list): - def __init__(self): - f = os.popen('git-ls-files') - for line in f.readlines(): - filename = line.strip() - if not filename.startswith('.'): - self.append(filename) - f.close() - -def get_source_path(): - return os.path.dirname(os.path.abspath(__file__)) - -def get_activities_path(): - path = os.path.expanduser('~/Activities') - if not os.path.isdir(path): - os.mkdir(path) - return path - -def get_bundle_dir(): - bundle_name = os.path.basename(get_source_path()) - return bundle_name + '.activity' - -def get_bundle_path(): - return os.path.join(get_activities_path(), get_bundle_dir()) - -def print_help(): - print 'Usage: \n\ -setup.py dev - setup for development \n\ -setup.py package - create a bundle package \n\ -setup.py help - print this message \n\ -' - -def setup_dev(): - bundle_path = get_bundle_path() - try: - os.symlink(get_source_path(), bundle_path) - except OSError: - if os.path.islink(bundle_path): - print 'ERROR - The bundle has been already setup for development.' - else: - print 'ERROR - A bundle with the same name is already installed.' - -def build_package(): - orig_path = os.getcwd() - os.chdir(get_source_path()) - - if os.path.isdir('.git'): - file_list = GitFileList() - elif os.path.isdir('.svn'): - file_list = SvnFileList() - else: - print 'ERROR - The command works only with git or svn repositories.' - - bundle = Bundle(get_source_path()) - - zipname = '%s-%d.xo' % (bundle.get_name(), bundle.get_activity_version()) - bundle_zip = zipfile.ZipFile(zipname, 'w') - - for filename in file_list: - arcname = os.path.join(get_bundle_dir(), filename) - bundle_zip.write(filename, arcname) - - bundle_zip.close() - - os.chdir(orig_path) - -if len(sys.argv) < 2 or sys.argv[1] == 'help': - print_help() -elif sys.argv[1] == 'dev': - setup_dev() -elif sys.argv[1] == 'package': - build_package() +#!/usr/bin/python
+
+# Copyright (C) 2006, Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+from sugar.activity import bundlebuilder
+
+bundlebuilder.start()
|