Skip to content

Instantly share code, notes, and snippets.

View vjandrea's full-sized avatar

Andrea Bergamasco vjandrea

View GitHub Profile
@vjandrea
vjandrea / controller_inheritance_and_extension.md
Created March 15, 2022 06:25
Controller inheritance and extension
<?php
# src/Controller/ParentController.php

namespace App\Controller;

use App\Entity\Product;
use Doctrine\ORM\EntityManagerInterface;
use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
@vjandrea
vjandrea / AccessChecker.php
Last active July 29, 2021 12:04 — forked from leotiger/allowed_roles_for_route.md
Symfony 4: Check if a route is accessible to a User based on their roles
<?php
/**
* @Author Andrea Bergamasco <andrea@bergamasco.me>
* Inspired by @leotiger: https://gist.github.com/leotiger/ca496d1b16c30afea060904bd5e78714
*
* Usage:
* $token = $this->security->getToken();
* $this->accessChecker->userTokenCanAccessRoute($token, 'admin.index');
*/
@vjandrea
vjandrea / artboard_sort.js
Created April 22, 2020 14:06
Sort Illustrator artboards alphabetically - by OMOTI
/**
Kudos to OMOTI
https://community.adobe.com/t5/illustrator/script-to-sort-artboard-list-alphabetically/m-p/9558396?page=1#M77799
*/
function sortArtboard() {
var doc = app.activeDocument,
properties = [],
i,
max;
@vjandrea
vjandrea / workflow.yaml
Created January 6, 2020 14:29
workflow.yaml - testing double "from" marking
# Entity workflow - object names redacted
# A SuperUser can send an Entity to an Evaluator
# The Evaluator decides to optIn or optOut the request. They can change their mind until a timeout defined in the Entity.
# If Evaluator opts in, the Entity is then sent to the Recipient.
# The Recipient finally decides to accept or refuse
framework:
workflows:
Entity:
type: workflow
metadata:
@vjandrea
vjandrea / SymfonyExtension debugging
Last active September 11, 2019 05:14
FriendsOfBehat-SymfonyExtension_debug.md
$ composer require --dev friends-of-behat/symfony-extension:^2.0
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "4.3.*"
Nothing to install or update
Generating autoload files
ocramius/package-versions: Generating version class...
ocramius/package-versions: ...done generating version class
Executing script cache:clear [OK]
@vjandrea
vjandrea / cleanup.bat
Created May 20, 2019 11:08
Clean Mac folders on Windows
@echo Removing .DS_STORE...
DEL /S ".DS_STORE"
@echo ...OK
@echo.
@echo Removing Thumbs.db...
DEL /S /AH "Thumbs.db"
@echo ...OK
@echo.
@echo Removing __MACOSX...
for /f "tokens=* delims=" %%i in ('dir /s /b /a:d __MACOSX') do ( rd /s /q "%%i")
@vjandrea
vjandrea / charconv.py
Last active May 20, 2019 11:00
Correct the filenames of files extracted in Windows from archives compressed on Mac OS
import glob
import re
import os
path = 'puntata*/**/BLOCCO*/*.mp3'
def repair_filename(filename):
repair = {
'´╝ê': '(', # U+0028 LEFT PARENTHESIS
@vjandrea
vjandrea / quote_escaping_example.lua
Last active September 9, 2018 15:51
LUA Quote escaping in grandma2
--[[
I am struggling to find the best way to nest quotes while developing grandma2 plugins in LUA
This example shows the best solution i've found so far (ESCAPED SiNGLE QUOTES), but unfortunately
the command line doesn't like single quotes either. Any suggestion?
--]]
function quote_escaping_example()
gma.echo("Quote escaping example")
gma.cmd('Store Sequence 1.1 "QUOTE ESCAPING"');
@vjandrea
vjandrea / png_iconsets.py
Last active September 7, 2018 17:11
Generate .iconset folders from a bunch of .png files
import os, re, sys
# setup
path = './'
separator = '-' # this implies a filename as "iconname_somewords-16x16.png"
# runtime
current_folder = ""
files = sorted(os.listdir(path))
@vjandrea
vjandrea / quotes.json
Last active April 18, 2017 17:12
quotes.json for FCC Quote Machine challenge
[{"text":"Don't worry about what anybody else is going to do. The best way to predict the future is to invent it.","author":"Alan Kay"},{"text":"Premature optimization is the root of all evil (or at least most of it) in programming.","author":"Donald Knuth"},{"text":"Lisp has jokingly been called \"the most intelligent way to misuse a computer\". I think that description is a great compliment because it transmits the full flavor of liberation: it has assisted a number of our most gifted fellow humans in thinking previously impossible thoughts.","author":"Edsger Dijkstra, CACM, 15:10"},{"text":"Keep away from people who try to belittle your ambitions. Small people always do that, but the really great make you feel that you, too, can become great.","author":"Mark Twain"},{"text":"What Paul does, and does very well, is to take ideas and concepts that are beautiful in the abstract, and brings them down to a real world level. That's a rare talent to find in writing these days.","author":"Jeff \"hemos\" Bates, Dire