def __call__(self, args): pony = r''' .,,. ,;;*;;;;, .-'``;-');;. /' .-. /*;; .' \d \;; .;;;, / o ` \; ,__. ,;*;;;*;, \__, _.__,' \_.-') __)--.;;;;;*;;;;, `""`;;;\ /-')_) __) `\' ';;;;;; ;*;;; -') `)_) |\ | ;;;;*; ;;;;| `---` O | | ;;*;;; *;*;\| O / ;;;;;* ;;;;;/| .-------\ / ;*;;;;; ;;;*;/ \ | '. (`. ;;;*;;; ;;;;;'. ; | ) \ | ;;;;;; ,;*;;;;\/ |. / /` | ';;;*; ;;;;;;/ |/ / /__/ ';;; '*jgs/ | / | ;*; `""""` `""""` ;' ''' import time logger.info("Starting to develop a pony.") for line in pony.split("\n"): time.sleep(0.25) print(line) logger.info("Done.")
def __call__(self): options, args = self.parser.parse_args(sys.argv[2:]) config = self.develop.config # Find out which packages to checkout if len(args) == 0: if options.auto_checkout: packages = self.develop.auto_checkout else: print self.parser.format_help() sys.exit(0) else: packages = self.get_packages(args) if options.auto_checkout: packages = [x for x in packages if x in self.develop.auto_checkout] if len(packages) == 0: if len(args) > 1: regexps = "%s or '%s'" % (", ".join("'%s'" % x for x in args[:-1]), args[-1]) else: regexps = "'%s'" % args[0] logger.error("No package matched %s." % regexps) sys.exit(1) # Actually checkout try: workingcopies = WorkingCopies(self.develop.sources) workingcopies.checkout(packages, verbose=options.verbose) for name in packages: config.develop[name] = True logger.info("Activated '%s'." % name) logger.warn("Don't forget to run buildout again, so the checked out packages are used as develop eggs.") config.save() except (ValueError, KeyError), e: logger.error(e) sys.exit(1)
def __call__(self, args): config = self.develop.config packages = self.get_packages(getattr(args, 'package-regexp'), auto_checkout=args.auto_checkout) try: workingcopies = self.get_workingcopies(self.develop.sources) workingcopies.checkout( sorted(packages), verbose=args.verbose, submodules=self.develop.update_git_submodules, always_accept_server_certificate=self.develop. always_accept_server_certificate) for name in sorted(packages): source = self.develop.sources[name] if not source.get('egg', True): continue config.develop[name] = True logger.info("Activated '%s'." % name) logger.warn( "Don't forget to run buildout again, so the checked out packages are used as develop eggs." ) config.save() except (ValueError, KeyError), e: logger.error(e) sys.exit(1)
def __call__(self): options, args = self.parser.parse_args(sys.argv[2:]) pony = '''\x1b[35m .,,. ,;;*;;;;, .-'``;-');;. /' .-. /*;; .' \d \;; .;;;, / o ` \; ,__. ,;*;;;*;, \__, _.__,' \_.-') __)--.;;;;;*;;;;, `""`;;;\ /-')_) __) `\' ';;;;;; ;*;;; -') `)_) |\ | ;;;;*; ;;;;| `---` O | | ;;*;;; *;*;\| O / ;;;;;* ;;;;;/| .-------\ / ;*;;;;; ;;;*;/ \ | '. (`. ;;;*;;; ;;;;;'. ; | ) \ | ;;;;;; ,;*;;;;\/ |. / /` | ';;;*; ;;;;;;/ |/ / /__/ ';;; '*jgs/ | / | ;*; `""""` `""""` ;'\x1b[39m ''' import time logger.info("Starting to develop a pony.") for line in pony.split("\n"): time.sleep(0.25) print line logger.info("Done.")
def __call__(self, args): buildout_dir = self.develop.buildout_dir packages = self.get_packages(getattr(args, 'package-regexp'), checked_out=True) packages = packages - self.develop.auto_checkout packages = packages - set(self.develop.develeggs) workingcopies = WorkingCopies(self.develop.sources) if args.dry_run: logger.info("Dry run, nothing will be removed.") for name in packages: source = self.develop.sources[name] path = source['path'] if path.startswith(buildout_dir): path = path[len(buildout_dir)+1:] if source['kind'] != 'svn': logger.warn("The directory of package '%s' at '%s' might contain unrecoverable files and will not be removed." % (name, path)) continue if workingcopies.status(source) != 'clean': logger.warn("The package '%s' is dirty and will not be removed." % name) continue logger.info("Removing package '%s' at '%s'." % (name, path)) if not args.dry_run: shutil.rmtree(source['path'], ignore_errors=False, onerror=self.handle_remove_readonly)
def __call__(self, args): pony = ''' .,,. ,;;*;;;;, .-'``;-');;. /' .-. /*;; .' \d \;; .;;;, / o ` \; ,__. ,;*;;;*;, \__, _.__,' \_.-') __)--.;;;;;*;;;;, `""`;;;\ /-')_) __) `\' ';;;;;; ;*;;; -') `)_) |\ | ;;;;*; ;;;;| `---` O | | ;;*;;; *;*;\| O / ;;;;;* ;;;;;/| .-------\ / ;*;;;;; ;;;*;/ \ | '. (`. ;;;*;;; ;;;;;'. ; | ) \ | ;;;;;; ,;*;;;;\/ |. / /` | ';;;*; ;;;;;;/ |/ / /__/ ';;; '*jgs/ | / | ;*; `""""` `""""` ;' ''' import time logger.info("Starting to develop a pony.") for line in pony.split("\n"): time.sleep(0.25) print line logger.info("Done.")
def __call__(self, args): sources = {} for name in getattr(args, 'package-name'): if name in self.develop.sources: sources[name] = self.develop.sources[name] else: logger.error('Unknown package %s' % name) sys.exit(1) config = self.develop.config workingcopies = self.get_workingcopies(sources) created = 0 for name, source in sources.items(): if not workingcopies.new_feature( name, verbose=args.verbose, submodules=self.develop.update_git_submodules, always_accept_server_certificate=self.develop. always_accept_server_certificate): continue if not source.get('egg', True): continue created += 1 config.develop[name] = True logger.info("Activated '%s'." % name) if created: logger.warn("Don't forget to update and run buildout again.") config.save()
def __call__(self, args): buildout_dir = self.develop.buildout_dir buildout_args = self.develop.config.buildout_args print("Last used buildout arguments: %s" % " ".join(buildout_args[1:])) logger.info("Running buildout.") os.chdir(buildout_dir) subprocess.call(buildout_args)
def __call__(self, args): config = self.develop.config packages = self.get_packages(getattr(args, 'package-regexp'), auto_checkout=args.auto_checkout, checked_out=args.checked_out, develop=args.develop) changed = False for name in sorted(packages): source = self.develop.sources[name] if not source.exists(): logger.warning( "The package '%s' matched, but isn't checked out." % name) continue if not source.get('egg', True): logger.warning("The package '%s' isn't an egg." % name) continue if config.develop.get(name) is not False: config.develop[name] = False logger.info("Deactivated '%s'." % name) changed = True if changed: logger.warn( "Don't forget to run buildout again, so the deactived packages are actually not used anymore." ) config.save()
def __call__(self, args): buildout_dir = self.develop.buildout_dir buildout_args = self.develop.config.buildout_args print "Last used buildout arguments:", print " ".join(buildout_args[1:]) if args.dry_run: logger.warning("Dry run, buildout not invoked.") return else: logger.info("Running buildout.") os.chdir(buildout_dir) subprocess.call(buildout_args)
def __call__(self, args): buildout_dir = self.develop.buildout_dir buildout_args = self.develop.config.buildout_args print("Last used buildout arguments: %s" % " ".join(buildout_args[1:])) if args.dry_run: logger.warning("Dry run, buildout not invoked.") logger.warning("DEPRECATED: The use of '-n' and '--dry-run' is deprecated, use the 'arguments' command instead.") return else: logger.info("Running buildout.") os.chdir(buildout_dir) subprocess.call(buildout_args)
def __call__(self, args): config = self.develop.config packages = self.get_packages(getattr(args, 'package-regexp'), auto_checkout=args.auto_checkout, checked_out=args.checked_out, develop=args.develop) changed = False for name in sorted(packages): if name in config.develop: del config.develop[name] logger.info("Reset develop state of '%s'." % name) changed = True if changed: logger.warn("Don't forget to run buildout again, so the deactived packages are actually not used anymore.") config.save()
def __call__(self): options, args = self.parser.parse_args(sys.argv[2:]) config = self.develop.config packages = self.get_packages(args, auto_checkout=options.auto_checkout, checked_out=options.checked_out, develop=options.develop) changed = False for name in sorted(packages): if name in config.develop: del config.develop[name] logger.info("Reset develop state of '%s'." % name) changed = True if changed: logger.warn("Don't forget to run buildout again, so the deactived packages are actually not used anymore.") config.save()
def __call__(self, args): config = self.develop.config packages = self.get_packages(getattr(args, 'package-regexp'), auto_checkout=args.auto_checkout) try: workingcopies = WorkingCopies(self.develop.sources) workingcopies.checkout(sorted(packages), verbose=args.verbose) for name in sorted(packages): source = self.develop.sources[name] if not source.get('egg', True): continue config.develop[name] = True logger.info("Activated '%s'." % name) logger.warn("Don't forget to run buildout again, so the checked out packages are used as develop eggs.") config.save() except (ValueError, KeyError), e: logger.error(e) sys.exit(1)
def __call__(self): options, args = self.parser.parse_args(sys.argv[2:]) config = self.develop.config packages = self.get_packages(args, auto_checkout=options.auto_checkout, checked_out=options.checked_out, develop=options.develop) changed = False for name in sorted(packages): source = self.develop.sources[name] if not source.exists(): logger.warning("The package '%s' matched, but isn't checked out." % name) continue config.develop[name] = True logger.info("Activated '%s'." % name) changed = True if changed: logger.warn("Don't forget to run buildout again, so the actived packages are actually used.") config.save()
def __call__(self): options, args = self.parser.parse_args(sys.argv[2:]) config = self.develop.config if len(args) == 0 and not options.auto_checkout: print self.parser.format_help() sys.exit(0) packages = self.get_packages(args, auto_checkout=options.auto_checkout) try: workingcopies = WorkingCopies(self.develop.sources) workingcopies.checkout(sorted(packages), verbose=options.verbose) for name in sorted(packages): config.develop[name] = True logger.info("Activated '%s'." % name) logger.warn("Don't forget to run buildout again, so the checked out packages are used as develop eggs.") config.save() except (ValueError, KeyError), e: logger.error(e) sys.exit(1)
def __call__(self): options, args = self.parser.parse_args(sys.argv[2:]) sources = self.develop.sources config = self.develop.config packages = set(self.get_packages(args)) workingcopies = WorkingCopies(sources) changed = False for name in sorted(sources): source = sources[name] if args and name not in packages: continue if not os.path.exists(source["path"]): continue if name in config.develop: del config.develop[name] logger.info("Reset develop state of '%s'." % name) changed = True if changed: logger.warn("Don't forget to run buildout again, so the deactived packages are actually not used anymore.") config.save()
def __call__(self): options, args = self.parser.parse_args(sys.argv[2:]) buildout_dir = self.develop.buildout_dir packages = self.get_packages(args, checked_out=True) packages = packages - self.develop.auto_checkout packages = packages - set(self.develop.develeggs) workingcopies = WorkingCopies(self.develop.sources) for name in packages: source = self.develop.sources[name] path = source['path'] if path.startswith(buildout_dir): path = path[len(buildout_dir)+1:] if source['kind'] != 'svn': logger.warn("The directory of package '%s' at '%s' might contain unrecoverable files and will not be removed." % (name, path)) continue if workingcopies.status(source) != 'clean': logger.warn("The package '%s' is dirty and will not be removed." % name) continue logger.info("Removing package '%s' at '%s'." % (name, path)) shutil.rmtree(source['path'])
def __call__(self, args): config = self.develop.config packages = self.get_packages(getattr(args, 'package-regexp'), auto_checkout=args.auto_checkout) try: workingcopies = self.get_workingcopies(self.develop.sources) workingcopies.checkout(sorted(packages), verbose=args.verbose, submodules=self.develop.update_git_submodules, always_accept_server_certificate=self.develop.always_accept_server_certificate) for name in sorted(packages): source = self.develop.sources[name] if not source.get('egg', True): continue config.develop[name] = True logger.info("Activated '%s'." % name) logger.warning("Don't forget to run buildout again, so the checked out packages are used as develop eggs.") config.save() except (ValueError, KeyError): logger.error(sys.exc_info()[1]) sys.exit(1)
def __call__(self, args): config = self.develop.config packages = self.get_packages(getattr(args, 'package-regexp'), auto_checkout=args.auto_checkout, checked_out=args.checked_out, develop=args.develop) changed = False for name in sorted(packages): source = self.develop.sources[name] if not source.exists(): logger.warning("The package '%s' matched, but isn't checked out." % name) continue if not source.get('egg', True): logger.warning("The package '%s' isn't an egg." % name) continue config.develop[name] = True logger.info("Activated '%s'." % name) changed = True if changed: logger.warn("Don't forget to run buildout again, so the actived packages are actually used.") config.save()
def __call__(self): options, args = self.parser.parse_args(sys.argv[2:]) sources = self.develop.sources auto_checkout = self.develop.auto_checkout config = self.develop.config packages = set(self.get_packages(args)) workingcopies = WorkingCopies(sources) changed = False for name in sorted(sources): if options.auto_checkout and name not in auto_checkout: continue source = sources[name] if args and name not in packages: continue if not os.path.exists(source["path"]): logger.warning("The package '%s' matched, but isn't checked out." % name) continue config.develop[name] = True logger.info("Activated '%s'." % name) changed = True if changed: logger.warn("Don't forget to run buildout again, so the actived packages are actually used.") config.save()
def __call__(self, args): buildout_dir = self.develop.buildout_dir packages = self.get_packages(getattr(args, 'package-regexp'), checked_out=True) packages = packages - self.develop.auto_checkout packages = packages - set(self.develop.develeggs) force = args.force force_all = False workingcopies = self.get_workingcopies(self.develop.sources) if args.dry_run: logger.info("Dry run, nothing will be removed.") for name in packages: source = self.develop.sources[name] path = source['path'] if path.startswith(buildout_dir): path = path[len(buildout_dir) + 1:] need_force = False if source['kind'] != 'svn': need_force = True logger.warn( "The directory of package '%s' at '%s' might contain unrecoverable files and will not be removed without --force." % (name, path)) if workingcopies.status(source) != 'clean': need_force = True logger.warn( "The package '%s' is dirty and will not be removed without --force." % name) if need_force: if not force: continue # We only get here when a --force is needed and we # have actually added the --force argument on the # command line. if not force_all: answer = yesno("Do you want to purge it anyway?", default=False, all=True) if not answer: logger.info("Skipped purge of '%s'." % name) continue if answer == 'all': force_all = True logger.info("Removing package '%s' at '%s'." % (name, path)) if not args.dry_run: shutil.rmtree(source['path'], ignore_errors=False, onerror=self.handle_remove_readonly)
def __call__(self, args): buildout_dir = self.develop.buildout_dir packages = self.get_packages(getattr(args, 'package-regexp'), checked_out=True) packages = packages - self.develop.auto_checkout packages = packages - set(self.develop.develeggs) force = args.force force_all = False workingcopies = self.get_workingcopies(self.develop.sources) if args.dry_run: logger.info("Dry run, nothing will be removed.") for name in packages: source = self.develop.sources[name] path = source['path'] if path.startswith(buildout_dir): path = path[len(buildout_dir) + 1:] need_force = False if source['kind'] != 'svn': need_force = True logger.warn("The directory of package '%s' at '%s' might contain unrecoverable files and will not be removed without --force." % (name, path)) if workingcopies.status(source) != 'clean': need_force = True logger.warn("The package '%s' is dirty and will not be removed without --force." % name) if need_force: if not force: continue # We only get here when a --force is needed and we # have actually added the --force argument on the # command line. if not force_all: answer = yesno("Do you want to purge it anyway?", default=False, all=True) if not answer: logger.info("Skipped purge of '%s'." % name) continue if answer == 'all': force_all = True logger.info("Removing package '%s' at '%s'." % (name, path)) if not args.dry_run: shutil.rmtree(source['path'], ignore_errors=False, onerror=self.handle_remove_readonly)
def unknown(self): logger.error("Unknown command '%s'." % sys.argv[1]) logger.info("Type '%s help' for usage." % os.path.basename(sys.argv[0])) sys.exit(1)