コード例 #1
0
    def test_url_generator(self):
        self.app.config['SERVER_NAME'] = 'www.example.com'
        sitemap = Sitemap(app=self.app)
        now = datetime.now().isoformat()

        @self.app.route('/')
        def index():
            pass

        @self.app.route('/<username>')
        def user(username):
            pass

        @sitemap.register_generator
        def user():
            yield 'http://www.example.com/first'
            yield {'username': '******'}
            yield 'user', {'username': '******'}
            yield 'user', {'username': '******'}, now

        results = sitemap._generate_all_urls()
        assert next(results)['loc'] == 'http://www.example.com/first'
        assert next(results)['loc'] == 'http://www.example.com/second'
        assert next(results)['loc'] == 'http://www.example.com/third'
        assert next(results)['loc'] == 'http://www.example.com/fourth'

        with open(
                os.path.join(os.path.dirname(__file__), 'data', 'sitemap.xml'),
                'r') as f:
            out = f.read().format(now=now).strip()
            assert out == sitemap.sitemap()
コード例 #2
0
    def test_url_generator(self):
        self.app.config['SERVER_NAME'] = 'www.example.com'
        sitemap = Sitemap(app=self.app)
        now = datetime.now().isoformat()

        @self.app.route('/')
        def index():
            pass

        @self.app.route('/<username>')
        def user(username):
            pass

        @sitemap.register_generator
        def user():
            yield 'http://www.example.com/first'
            yield {'username': '******'}
            yield 'user', {'username': '******'}
            yield 'user', {'username': '******'}, now

        results = sitemap._generate_all_urls()
        assert next(results)['loc'] == 'http://www.example.com/first'
        assert next(results)['loc'] == 'http://www.example.com/second'
        assert next(results)['loc'] == 'http://www.example.com/third'
        assert next(results)['loc'] == 'http://www.example.com/fourth'

        with open(os.path.join(
                os.path.dirname(__file__), 'data', 'sitemap.xml'), 'r') as f:
            out = f.read().format(now=now).strip()
            assert out == sitemap.sitemap()
コード例 #3
0
ファイル: manage.py プロジェクト: nikhilkalige/atom-website
def sitemap():
    app_instance.config["SERVER_NAME"] = "atom.shortcircuits.io"
    sitemap = Sitemap(app=app_instance)

    @app_instance.route('/package/<name>')
    def package(name):
        pass

    @app_instance.route("/")
    def index():
        pass

    @app_instance.route('/search')
    def search():
        pass

    @sitemap.register_generator
    def package_urls():
        import datetime
        from app.packages.models import Package, Downloads

        yield 'index', {}, datetime.datetime.today().date().isoformat(
        ), "daily", 1
        yield 'search', {}, datetime.datetime.today().date().isoformat(
        ), "daily", 0.5

        package_list = Package.query.all()
        for item in package_list:
            latest = item.downloads.order_by(Downloads.date.desc()).first()
            time = latest.date.date().isoformat() if latest is not None else ""
            yield 'package', {'name': item.name}, time, "daily", 0.5

    out = sitemap.sitemap()
    if not os.path.exists(SITEMAP_DIR):
        os.makedirs(SITEMAP_DIR)

    f = open(os.path.join(SITEMAP_DIR, SITEMAP_NAME), 'w')
    f.write(out)
    f.close()
コード例 #4
0
ファイル: manage.py プロジェクト: nikhilkalige/atom-website
def sitemap():
    app_instance.config["SERVER_NAME"] = "atom.shortcircuits.io"
    sitemap = Sitemap(app=app_instance)

    @app_instance.route('/package/<name>')
    def package(name):
        pass

    @app_instance.route("/")
    def index():
        pass

    @app_instance.route('/search')
    def search():
        pass

    @sitemap.register_generator
    def package_urls():
        import datetime
        from app.packages.models import Package, Downloads

        yield 'index', {}, datetime.datetime.today().date().isoformat(), "daily", 1
        yield 'search', {}, datetime.datetime.today().date().isoformat(), "daily", 0.5

        package_list = Package.query.all()
        for item in package_list:
            latest = item.downloads.order_by(Downloads.date.desc()).first()
            time = latest.date.date().isoformat() if latest is not None else ""
            yield 'package', {'name': item.name}, time, "daily", 0.5

    out = sitemap.sitemap()
    if not os.path.exists(SITEMAP_DIR):
        os.makedirs(SITEMAP_DIR)

    f = open(os.path.join(SITEMAP_DIR, SITEMAP_NAME), 'w')
    f.write(out)
    f.close()