Skip to content
Snippets Groups Projects
Verified Commit b1458f8f authored by Georg Krause's avatar Georg Krause
Browse files

Fix formatting of python files

parent 9a824193
No related branches found
No related tags found
No related merge requests found
Pipeline #16417 passed
#!/usr/bin/env python
# -*- coding: utf-8 -*- #
AUTHOR = 'Funkwhale Collective'
SITENAME = 'Funkwhale Blog'
SITEURL = '.'
AUTHOR = "Funkwhale Collective"
SITENAME = "Funkwhale Blog"
SITEURL = "."
THEME = 'theme/funkwhale'
THEME = "theme/funkwhale"
DISPLAY_SUMMARY = True
AVATAR = '/theme/images/logo-monochrome.svg'
AVATAR = "/theme/images/logo-monochrome.svg"
PATH = 'content'
PATH = "content"
TIMEZONE = 'Europe/Paris'
TIMEZONE = "Europe/Paris"
DEFAULT_LANG = 'en'
DEFAULT_LANG = "en"
# Feed generation is usually not desired when developing
FEED_ALL_ATOM = None
......@@ -23,11 +23,10 @@ AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None
# Blogroll
LINKS = (('Website', 'https://funkwhale.audio/'),
)
LINKS = (("Website", "https://funkwhale.audio/"),)
# Social widget
SOCIAL = (('mastodon', 'https://mastodon.eliotberriot.com/@funkwhale'),)
SOCIAL = (("mastodon", "https://mastodon.eliotberriot.com/@funkwhale"),)
DEFAULT_PAGINATION = 10
......
......@@ -6,15 +6,16 @@
import os
import sys
sys.path.append(os.curdir)
from pelicanconf import *
# If your site is available via HTTPS, make sure SITEURL begins with https://
SITEURL = 'https://blog.funkwhale.audio'
SITEURL = "https://blog.funkwhale.audio"
RELATIVE_URLS = False
FEED_ALL_ATOM = 'feeds/all.atom.xml'
CATEGORY_FEED_ATOM = 'feeds/{slug}.atom.xml'
FEED_ALL_ATOM = "feeds/all.atom.xml"
CATEGORY_FEED_ATOM = "feeds/{slug}.atom.xml"
DELETE_OUTPUT_DIRECTORY = True
......
......@@ -13,48 +13,53 @@ from pelican import main as pelican_main
from pelican.server import ComplexHTTPRequestHandler, RootedHTTPServer
from pelican.settings import DEFAULT_CONFIG, get_settings_from_file
SETTINGS_FILE_BASE = 'pelicanconf.py'
SETTINGS_FILE_BASE = "pelicanconf.py"
SETTINGS = {}
SETTINGS.update(DEFAULT_CONFIG)
LOCAL_SETTINGS = get_settings_from_file(SETTINGS_FILE_BASE)
SETTINGS.update(LOCAL_SETTINGS)
CONFIG = {
'settings_base': SETTINGS_FILE_BASE,
'settings_publish': 'publishconf.py',
"settings_base": SETTINGS_FILE_BASE,
"settings_publish": "publishconf.py",
# Output path. Can be absolute or relative to tasks.py. Default: 'output'
'deploy_path': SETTINGS['OUTPUT_PATH'],
"deploy_path": SETTINGS["OUTPUT_PATH"],
# Remote server configuration
'ssh_user': 'root',
'ssh_host': 'localhost',
'ssh_port': '22',
'ssh_path': '/var/www',
"ssh_user": "root",
"ssh_host": "localhost",
"ssh_port": "22",
"ssh_path": "/var/www",
# Host and port for `serve`
'host': 'localhost',
'port': 8000,
"host": "localhost",
"port": 8000,
}
@task
def clean(c):
"""Remove generated files"""
if os.path.isdir(CONFIG['deploy_path']):
shutil.rmtree(CONFIG['deploy_path'])
os.makedirs(CONFIG['deploy_path'])
if os.path.isdir(CONFIG["deploy_path"]):
shutil.rmtree(CONFIG["deploy_path"])
os.makedirs(CONFIG["deploy_path"])
@task
def build(c):
"""Build local version of site"""
pelican_run('-s {settings_base}'.format(**CONFIG))
pelican_run("-s {settings_base}".format(**CONFIG))
@task
def rebuild(c):
"""`build` with the delete switch"""
pelican_run('-d -s {settings_base}'.format(**CONFIG))
pelican_run("-d -s {settings_base}".format(**CONFIG))
@task
def regenerate(c):
"""Automatically regenerate site upon file modification"""
pelican_run('-r -s {settings_base}'.format(**CONFIG))
pelican_run("-r -s {settings_base}".format(**CONFIG))
@task
def serve(c):
......@@ -64,23 +69,27 @@ def serve(c):
allow_reuse_address = True
server = AddressReuseTCPServer(
CONFIG['deploy_path'],
(CONFIG['host'], CONFIG['port']),
ComplexHTTPRequestHandler)
CONFIG["deploy_path"],
(CONFIG["host"], CONFIG["port"]),
ComplexHTTPRequestHandler,
)
sys.stderr.write('Serving at {host}:{port} ...\n'.format(**CONFIG))
sys.stderr.write("Serving at {host}:{port} ...\n".format(**CONFIG))
server.serve_forever()
@task
def reserve(c):
"""`build`, then `serve`"""
build(c)
serve(c)
@task
def preview(c):
"""Build production version of site"""
pelican_run('-s {settings_publish}'.format(**CONFIG))
pelican_run("-s {settings_publish}".format(**CONFIG))
@task
def livereload(c):
......@@ -88,44 +97,45 @@ def livereload(c):
from livereload import Server
def cached_build():
cmd = '-s {settings_base} -e CACHE_CONTENT=True LOAD_CONTENT_CACHE=True'
cmd = "-s {settings_base} -e CACHE_CONTENT=True LOAD_CONTENT_CACHE=True"
pelican_run(cmd.format(**CONFIG))
cached_build()
server = Server()
theme_path = SETTINGS['THEME']
theme_path = SETTINGS["THEME"]
watched_globs = [
CONFIG['settings_base'],
'{}/templates/**/*.html'.format(theme_path),
CONFIG["settings_base"],
"{}/templates/**/*.html".format(theme_path),
]
content_file_extensions = ['.md', '.rst']
content_file_extensions = [".md", ".rst"]
for extension in content_file_extensions:
content_glob = '{0}/**/*{1}'.format(SETTINGS['PATH'], extension)
content_glob = "{0}/**/*{1}".format(SETTINGS["PATH"], extension)
watched_globs.append(content_glob)
static_file_extensions = ['.css', '.js']
static_file_extensions = [".css", ".js"]
for extension in static_file_extensions:
static_file_glob = '{0}/static/**/*{1}'.format(theme_path, extension)
static_file_glob = "{0}/static/**/*{1}".format(theme_path, extension)
watched_globs.append(static_file_glob)
for glob in watched_globs:
server.watch(glob, cached_build)
server.serve(host=CONFIG['host'], port=CONFIG['port'], root=CONFIG['deploy_path'])
server.serve(host=CONFIG["host"], port=CONFIG["port"], root=CONFIG["deploy_path"])
@task
def publish(c):
"""Publish to production via rsync"""
pelican_run('-s {settings_publish}'.format(**CONFIG))
pelican_run("-s {settings_publish}".format(**CONFIG))
c.run(
'rsync --delete --exclude ".DS_Store" -pthrvz -c '
'-e "ssh -p {ssh_port}" '
'{} {ssh_user}@{ssh_host}:{ssh_path}'.format(
CONFIG['deploy_path'].rstrip('/') + '/',
**CONFIG))
"{} {ssh_user}@{ssh_host}:{ssh_path}".format(
CONFIG["deploy_path"].rstrip("/") + "/", **CONFIG
)
)
def pelican_run(cmd):
cmd += ' ' + program.core.remainder # allows to pass-through args to pelican
cmd += " " + program.core.remainder # allows to pass-through args to pelican
pelican_main(shlex.split(cmd))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment