Skip to content

Instantly share code, notes, and snippets.

View corentinbettiol's full-sized avatar

Corentin Bettiol corentinbettiol

View GitHub Profile
@corentinbettiol
corentinbettiol / djangocms.sh
Created January 17, 2024 16:19
Create a djangocms (v4) website in a few commands.
mkdir mydumbproject
cd mydumbproject
python3 -m venv .venv
. .venv/bin/activate
python3 -m pip install django-cms
djangocms mydumbproject # will ask to type superuser name/email/password
python3 mydumbproject/manage.py runserver 0.0.0.0:8000
@corentinbettiol
corentinbettiol / README.md
Last active January 12, 2024 15:47
Tiny js code that will simulate a 3D view of your elements, like firefox used to do.
@corentinbettiol
corentinbettiol / djangocms_installer.md
Last active November 23, 2023 08:09
Automated install of django + django-cms + djangocms-blog website!
@corentinbettiol
corentinbettiol / goaccess.sh
Last active August 24, 2023 12:21
Goaccess script to get a real-time html page with hostnames in requests.
tail -q -n +0 -f \
/var/log/apache2/logs-for-website-1.log \
/var/log/apache2/logs-for-website-2.log \
/var/log/apache2/logs-for-website-3.log \
/var/log/apache2/logs-for-website-4.log \
| awk '$8=$1$8' \
| goaccess \
--log-format='%v %h %l %u [%d:%t +%^] \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"' \
--date-format=%d/%b/%Y \
--time-format=%T \

Install

You should never download a file before checking it, but here you go: just put the function run in your ~/.zshrc.

curl https://gist.githubusercontent.com/corentinbettiol/689d5d9f0989b2f71613b56ab5bc67f6/raw/run.sh >> ~/.zshrc
source ~/.zshrc

@corentinbettiol
corentinbettiol / wacom.sh
Last active June 4, 2023 18:13
Utility used to select the screen to link to all devices of wacom bamboo tablets connected to the computer.
#!/bin/sh
# Author: Corentin Bettiol
# Contact: corentin [at] 244466666 [dot] xyz
# Version: v040623
# License: WTFPL2 (https://wtfpl2.com/)
# Source: https://gist.github.com/corentinbettiol/de6cbeb7a9286d06339b4a80d64a7876
echo "Utility used to select the screen to link to all devices of wacom bamboo tablets connected to the computer."
@corentinbettiol
corentinbettiol / README.md
Last active April 20, 2023 11:33
Python & Pip invoke commands as a *monkey extension

This extension just replaces python by python3 and pip by python3 -m pip.

Example

image

Here's how to list all plugins in the post_content placeholder of a djangocms-blog post:

for plugin in post_content.get_plugins():
    print(f"{plugin.plugin_type} - [{plugin.position}][{plugin.depth}][{plugin.path}]")
    try:
        print(plugin.get_plugin_instance()[0].body[:50])
    except:
        pass
 print("\n----\n")
@corentinbettiol
corentinbettiol / fake_plugin.md
Last active August 12, 2022 14:53
Display djangocms cmsplugin instance (and childs) from another page.

Do you ever wanted to display a cms plugin content on any page, without having to copy the plugin? Display multiple plugins too?

Then listenread this

  1. Create a new model:
# my_plugin/models.py
from cms.models.pluginmodel import CMSPlugin

class MyPlugin():
@corentinbettiol
corentinbettiol / get_page.md
Last active August 9, 2022 15:15
Get a djangocms Page object from a slug, without having to launch all the stuff behind djangocms.

Here's a small gist allowing you to find a Page (the DjangoCMS object) from a slug:

def get_page(self, page_url):
    """Try to find a cms page with the same slug, and returns the id of its public page."""
    potential_pages = Page.objects.filter(title_set__slug=page_url.split("/")[-2])  # get "dede" in "https://aa.aa/aa/aa/aa/dede/"
    for page in potential_pages:
        if page.get_absolute_url() == page_url.replace(domain_name, "") and page.publisher_is_draft == False:
            return page
    breakpoint()