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()
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()
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()
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()