Added more potential for liquid formatting and usecase discovery

This commit is contained in:
frikky
2022-02-20 23:32:58 +01:00
parent d207d47f39
commit 3d56ba210f
8 changed files with 58 additions and 15 deletions
+46 -3
View File
@@ -3,6 +3,7 @@ import copy
import sys
import re
import time
import base64
import json
import liquid
import logging
@@ -48,10 +49,52 @@ def minus(a, b):
b = int(b)
return standard_filter_manager.filters["minus"](a, b)
@shuffle_filters.register
def multiply(a, b):
a = int(a)
b = int(b)
return standard_filter_manager.filters["multiply"](a, b)
@shuffle_filters.register
def divide(a, b):
a = int(a)
b = int(b)
return standard_filter_manager.filters["divide"](a, b)
@shuffle_filters.register
def md5(a):
a = str(a)
return hashlib.md5(a.encode('utf-8')).hexdigest()
@shuffle_filters.register
def sha256(a):
a = str(a)
return hashlib.sha256(str(a).encode("utf-8")).hexdigest()
@shuffle_filters.register
def md5_base64(a):
a = str(a)
foundhash = hashlib.md5(a.encode('utf-8')).hexdigest()
return base64.b64encode(foundhash.encode('utf-8'))
@shuffle_filters.register
def base64_encode(a):
a = str(a)
return base64.b64encode(a.encode('utf-8')).decode()
@shuffle_filters.register
def base64_decode(a):
a = str(a)
return base64.b64decode(a).decode()
#print(standard_filter_manager.filters)
#print(shuffle_filters.filters)
print(Liquid("{{ '10' | plus: 1}}", filters=shuffle_filters.filters).render())
print(Liquid("{{ '10' | minus: 1}}", filters=shuffle_filters.filters).render())
#print(Liquid("{{ '10' | plus: 1}}", filters=shuffle_filters.filters).render())
#print(Liquid("{{ '10' | minus: 1}}", filters=shuffle_filters.filters).render())
#print(Liquid("{{ asd | size }}", filters=shuffle_filters.filters).render())
#print(Liquid("{{ 'asd' | md5 }}", filters=shuffle_filters.filters).render())
#print(Liquid("{{ 'asd' | sha256 }}", filters=shuffle_filters.filters).render())
#print(Liquid("{{ 'asd' | md5_base64 | base64_decode }}", filters=shuffle_filters.filters).render())
###
###
@@ -1855,7 +1898,7 @@ class AppBase:
if len(template) > 100:
self.logger.info("[DEBUG] Running liquid with data of length %d" % len(template))
#self.logger.info(f"[DEBUG] Data: {template}")
run = Liquid(template, mode="wild", from_file=False)
run = Liquid(template, mode="wild", from_file=False, filters=shuffle_filters.filters)
# Can't handle self yet (?)
ret = run.render(**globals())
+2 -2
View File
@@ -2,7 +2,7 @@ module main
go 1.16
replace github.com/shuffle/shuffle-shared => ../../../shuffle-shared
//replace github.com/shuffle/shuffle-shared => ../../../shuffle-shared
//replace github.com/frikky/kin-openapi => ../../../../git/kin-openapi
//replace github.com/frikky/go-elasticsearch => ../../../../git/go-elasticsearch
@@ -24,7 +24,7 @@ require (
github.com/h2non/filetype v1.1.3
github.com/nirasan/go-oauth-pkce-code-verifier v0.0.0-20170819232839-0fbfe93532da // indirect
github.com/satori/go.uuid v1.2.0
github.com/shuffle/shuffle-shared v0.2.3
github.com/shuffle/shuffle-shared v0.2.4
go4.org v0.0.0-20201209231011-d4a079459e60 // indirect
golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce
google.golang.org/api v0.65.0