def test_no_boolean_extension(self): conf_file = inspect.cleandoc("""[site] with_blog = BOOM!""") args = FakeArgs() with tempfile.NamedTemporaryFile(delete=False) as f: f.write(conf_file.encode('utf-8')) with self.assertRaises(AbortError): configuration.build_config(f.name, args)
def test_no_boolean_extension(self): conf_file = inspect.cleandoc( """[site] with_blog = BOOM!""") args = FakeArgs() with tempfile.NamedTemporaryFile(delete=False) as f: f.write(conf_file.encode('utf-8')) with self.assertRaises(AbortError): configuration.build_config(f.name, args)
def prepare_director(args, site): """Prepare the director to produce a site.""" loader = ExtensionLoader() loader.load() config = build_config(site.config_file, args) extensions = loader.get_active_extensions(config) return Director(config, site, extensions)
def test_loads_domain_from_site(self): conf_file = inspect.cleandoc("""[site] domain = a_fake_domain""") args = FakeArgs() with tempfile.NamedTemporaryFile(delete=False) as f: f.write(conf_file.encode('utf-8')) config = configuration.build_config(f.name, args) self.assertEqual('a_fake_domain', config.domain)
def test_finds_active_extensions(self): conf_file = inspect.cleandoc("""[site] with_blog = true""") args = FakeArgs() with tempfile.NamedTemporaryFile(delete=False) as f: f.write(conf_file.encode('utf-8')) config = configuration.build_config(f.name, args) self.assertTrue('blog' in config.active_extensions)
def test_loads_domain_from_site(self): conf_file = inspect.cleandoc( """[site] domain = a_fake_domain""") args = FakeArgs() with tempfile.NamedTemporaryFile(delete=False) as f: f.write(conf_file.encode('utf-8')) config = configuration.build_config(f.name, args) self.assertEqual('a_fake_domain', config.domain)
def test_finds_active_extensions(self): conf_file = inspect.cleandoc( """[site] with_blog = true""") args = FakeArgs() with tempfile.NamedTemporaryFile(delete=False) as f: f.write(conf_file.encode('utf-8')) config = configuration.build_config(f.name, args) self.assertTrue('blog' in config.active_extensions)
def test_build_config_from_file(self): conf_file = inspect.cleandoc( """[site] outdir = out""") args = FakeArgs() with tempfile.NamedTemporaryFile(delete=False) as f: f.write(conf_file.encode('utf-8')) config = configuration.build_config(f.name, args) self.assertEqual('out', config.outdir)
def test_build_config_from_file(self): conf_file = inspect.cleandoc("""[site] outdir = out""") args = FakeArgs() with tempfile.NamedTemporaryFile(delete=False) as f: f.write(conf_file.encode('utf-8')) config = configuration.build_config(f.name, args) expected = os.path.join(os.path.dirname(f.name), 'out') self.assertEqual(expected, config.outdir)
def main(argv=sys.argv): args = parse_args(argv) if args.verbose: logger.setLevel(logging.INFO) if args.debug: logger.setLevel(logging.DEBUG) try: site = Site(args.site) valid, message = site.is_valid() if not valid: raise AbortError(_('Invalid site source: {0}').format(message)) config = build_config(site.config_file, args) director = Director(config, site) director.produce() print(_('Complete.')) except AbortError as abort: logger.error(str(abort)) sys.exit(_('Incomplete.'))