예제 #1
0
from query.transformers.sort_transformer import SortTransformer
from unomi_query_language.query.parser import Parser
from unomi_query_language.query.grammar.grammars import read

from unomi_query_language.query.transformers.select_transformer import SelectTransformer

p = Parser(read('uql_sort.lark'), start='sort')
t = p.parse("""
    # SELECT EVENT WHERE event:type="view"
    SORT BY version ASC, ala.x DESC
    """)
#
query = SortTransformer().transform(t)
# print(query)
예제 #2
0
import json

from unomi_query_language.query.dispatcher import Host, Dispatcher
from unomi_query_language.query.parser import Parser
from unomi_query_language.query.grammar.grammars import read
from pprint import pprint

from unomi_query_language.query.transformers.select_transformer import SelectTransformer

p = Parser(read('uql_select.lark'), start='select')
t = p.parse("""
    SELECT SESSION WHERE duration between 100s AND 200h
    """)

query = SelectTransformer().transform(t)
print(query)
host = Host('localhost', port=8181,
            protocol='http').credentials('karaf', 'karaf')
dispatcher = Dispatcher(host)
response, exp_status = dispatcher.fetch(query)
if response.status_code == exp_status:
    pprint(json.loads(response.content))
else:
    print(response.content)
예제 #3
0
from unomi_query_language.query.parser import Parser
from unomi_query_language.query.grammar.grammars import read
from pprint import pprint
from unomi_query_language.query.transformers.function_transformer import FunctionTransformer

p = Parser(read('uql_function.lark'), start='function')
t = p.parse("""
    funct(1,2)
    """)

print(t)
pprint(FunctionTransformer().transform(t))
예제 #4
0
import json

from unomi_query_language.query.dispatcher import Host, Dispatcher
from unomi_query_language.query.parser import Parser
from unomi_query_language.query.grammar.grammars import read
from pprint import pprint

from unomi_query_language.query.transformers.select_transformer import SelectTransformer

p = Parser(read('uql_insert.lark'), start='insert')
t = p.parse("""
    INSERT EVENT "ala-ma-kota" IN SCOPE "kuptoo" PROPERTIES {"a":1, "b": 2}
    """)

query = InsertTransformer().transform(t)

host = Host('localhost', port=8181,
            protocol='http').credentials('karaf', 'karaf')
dispatcher = Dispatcher(host)
response = dispatcher.fetch(query)
if response.status_code == 200:
    pprint(json.loads(response.content))
else:
    print(response.content)
import json

from unomi_query_language.query.dispatcher import Host, Dispatcher
from unomi_query_language.query.parser import Parser
from unomi_query_language.query.grammar.grammars import read
from pprint import pprint
from unomi_query_language.query.transformers.delete_transformer import DeleteTransformer
p = Parser(read('uql_delete.lark'), start='delete')
t = p.parse("delete rule \"number-of-views\"")

query = DeleteTransformer().transform(t)
print(query)
host = Host('localhost', port=8181,
            protocol='http').credentials('karaf', 'karaf')
dispatcher = Dispatcher(host)
response, exp_status = dispatcher.fetch(query)
if response.status_code == exp_status:
    pprint(json.loads(response.content))
else:
    print(response.content)
from unomi_query_language.query.parser import Parser
from unomi_query_language.query.grammar.grammars import read
from pprint import pprint

from unomi_query_language.query.transformers.condition_transformer import ConditionTransformer

p = Parser(read('uql_expr.lark'), start='expr')
t = p.parse(
    """
    properties.name="asasas" and funct() and a=1
    """
)

print(t)
pprint(ConditionTransformer().transform(t))
예제 #7
0
import json

from unomi_query_language.query.parser import Parser
from unomi_query_language.query.grammar.grammars import read
from pprint import pprint

from unomi_query_language.query.transformers.uql_transformer import UqlTransformer

p = Parser(read('uql.lark'), start="start")
t = p.parse("""
    
    CREATE RULE "if identify the event properties to profile" 
    // DESCRIBE "Copies user data from events target properties to profile"
    IN SCOPE "kuptoo" 
    WHEN event:type="identify" AND event:scope BETWEEN 1 AND 2 and event:scope is null and event:scope = [1,2.3]
    THEN copyEventsToProfileProperties(), setProfilePropertyFromEvent("x","lastName")
    
    """)

print(t)
r = UqlTransformer().transform(t)
pprint(r)
print(json.dumps(r[2]))
예제 #8
0
from unomi_query_language.query.parser import Parser
from unomi_query_language.query.grammar.grammars import read
from pprint import pprint

from unomi_query_language.query.transformers.common_transformer import CommonTransformer
from unomi_query_language.query.transformers.function_transformer import FunctionTransformer

p = Parser(read('uql_common.lark'), start='ESCAPED_STRING')
t = p.parse("""
    "asasasa"
    """)

print(t)
pprint(CommonTransformer().transform(t))
import json

from unomi_query_language.query.parser import Parser
from unomi_query_language.query.grammar.grammars import read
from pprint import pprint
from unomi_query_language.query.transformers.create_segment_transformer import CreateSegmentTransformer

p = Parser(read('uql_create_segment.lark'), start='create_segment')
t = p.parse("""
    # CREATE SEGMENT 
    # WITH TAGS ["długa","bśćółęńć-"] 
    # "At least 1 visit"
    # DESCRIBE "Copies user data from events target properties to profile"
    # IN SCOPE \"dupa\" 
    # WHEN profile:properties.nbOfVisits>=1
    
    CREATE SEGMENT "Frequent customers" 
    DESCRIBE "Frequent customers who made purchase at least 3 time a month." 
    IN SCOPE "site-1" 
    WHEN event.type="order"

    """)

print(t)
r = CreateSegmentTransformer().transform(t)
pprint(r)
print(json.dumps(r[3]))