Example #1
0
    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.")
Example #2
0
    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)
Example #3
0
 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)
Example #4
0
    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.")
Example #5
0
 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)
Example #6
0
    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.")
Example #7
0
 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()
Example #8
0
 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)
Example #9
0
 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)
Example #10
0
 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()
Example #11
0
 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)
Example #12
0
 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)
Example #13
0
 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)
Example #14
0
 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()
Example #15
0
 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()
Example #16
0
 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()
Example #17
0
 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)
Example #18
0
 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()
Example #19
0
 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)
Example #20
0
 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()
Example #21
0
 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'])
Example #22
0
 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)
Example #23
0
 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()
Example #24
0
 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()
Example #25
0
    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)
Example #26
0
    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)
Example #27
0
 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)
Example #28
0
 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)