from nodefs.lib.shortcuts import profile, absnode schema = { 'default': profile([ absnode(StaticSelector('folder_1'), [ absnode(StaticSelector('folder_1.1'), [ absnode(MemorySelector(), writable=True), absnode(StaticSelector('folder_1.1.2')), absnode( StaticSelector( projection='contentfile.txt', contentfile_path=os.path.dirname(__file__) + "/contentfile.txt", ), ), ]), absnode(StaticSelector(projection='folder_1.2'), [ absnode(StaticSelector('folder_1.2.1')), absnode(StaticSelector('folder_1.2.2')), ]), ]), absnode(StaticSelector(projection='folder_2'), [ absnode(StaticSelector(projection='folder_2.1'), [ absnode(StaticSelector(projection='folder_2.1.1')), ]), ]), ]) }
from nodefs.lib.shortcuts import profile, absnode from nodefs.lib.selectors import StaticSelector from selectors import ModelSelector, ModelFileSelector from models import Thing, BoxOfThings schema = { 'default': profile([ absnode(StaticSelector('simple_things'), [ absnode(ModelSelector(projection='%(label)s', model_class=Thing)), ]), absnode(StaticSelector('nested_things'), [ absnode(ModelSelector(projection='%(create_date.year)d', model_class=Thing), [ absnode(ModelSelector(projection='%(create_date.month)d', model_class=Thing), [ ]), ]), ]), absnode(StaticSelector('boxes_of_things'), [ absnode(ModelSelector(projection='%(serial_number)s', model_class=BoxOfThings), [ absnode(ModelSelector(projection='%(label)s', model_class=Thing), [ absnode(ModelFileSelector(projection='%(content_file)s', file_field_name='content_file', model_class=Thing)), ]), ]) ]), ]) }
'default': profile([ #absnode(StaticSelector('users'), [ #absnode(ModelSelector('%(username)s', User), [ absnode( QuerySetSelector( 'deste_mes', Controle.objects.extra(where=["strftime('%%Y%%m', data) = strftime('%%Y%%m', date('now'))"]) ), [ absnode( ModelSelector('%(nome)s (%(status)s)', Conta), [ absnode(ModelFileSelector(projection='%(arquivo)s', model_class=Conta, file_field_name='arquivo'), writable=True), ] ), ] ), absnode( QuerySetSelector( 'mes_passado', Controle.objects.extra(where=[ "strftime('%%Y%%m', data) = strftime('%%Y%%m', date('now', 'start of month', '-1 month'))" ]) ), [ absnode( ModelSelector('%(nome)s (%(status)s)', Conta), [ absnode(ModelFileSelector(projection='%(arquivo)s', model_class=Conta, file_field_name='arquivo'), writable=True), ] ), ] ), absnode(StaticSelector('este_ano'), [ absnode( QuerySetSelector( '%(data.month)s-%(month_name)s', Controle.objects.extra(where=["strftime('%%Y', data) = strftime('%%Y', date('now'))"]) ), [ absnode( ModelSelector('%(nome)s (%(status)s)', Conta), [ absnode(ModelFileSelector(projection='%(arquivo)s', model_class=Conta, file_field_name='arquivo'), writable=True), ] ), ] ), ]), #absnode(StaticSelector('outros_anos'), [ #absnode(QuerySetSelector('%(data.year)s', Controle.objects.extra(where=["strftime('%%Y', data) < strftime('%%Y', date('now'))"]).order_by('-data')), [ #absnode(ModelSelector('%(data.month)s-%(month_name)s', Controle), [ #absnode( #ModelSelector('%(nome)s (%(status)s)', Conta), [ #absnode(ModelFileSelector(projection='%(arquivo)s', model_class=Conta, file_field_name='arquivo'), writable=True), #] #), #]), #]), #]), absnode(StaticSelector('separadas por tipo'), [ absnode( QuerySetSelector('%(nome)s', Conta.objects.order_by('nome')), [ absnode(QuerySetSelector('%(data.year)s %(data.month)s-%(month_name)s', Controle.objects.order_by('-data')), [ absnode(ModelFileSelector(projection='%(arquivo)s', model_class=Conta, file_field_name='arquivo')), ]), ] ), ]) #]), #]), ]),
'default': profile([ absnode(StaticSelector('boxes_of_things'), [ absnode(ModelSelector(projection='%(serial_number)s', model_class=BoxOfThings), [ absnode(ModelSelector(projection='%(label)s', model_class=Thing), [ absnode(ModelFileSelector(projection='%(content_file)s', file_field_name='content_file', model_class=Thing), writable=True), ]), ]), ]), absnode(StaticSelector('simple_things'), [ absnode(ModelSelector(projection='%(label)s', model_class=Thing)), ]), absnode(StaticSelector('nested_things'), [ absnode(ModelSelector(projection='%(create_date.year)d', model_class=Thing), [ absnode(ModelSelector(projection='%(create_date.month)d', model_class=Thing), [ ]), ]), ]), absnode(StaticSelector('pre_filtered_things'), [ absnode(StaticSelector('first_things'), [ absnode( QuerySetSelector('%(label)s', query_set=Thing.objects.filter(label__icontains='First')), [ absnode(ModelFileSelector(projection='%(content_file)s', file_field_name='content_file', model_class=Thing), writable=True), absnode(ModelSelector('_%(serial_number)s', model_class=BoxOfThings), [ absnode(QuerySetSelector('%(label)s', query_set=Thing.objects.exclude(box__thing__label__icontains='First'), append=False), [ ]), ]), ] ), ]), absnode(StaticSelector('repeated_things'), [ absnode(StaticSelector('box_1'), [ absnode(QuerySetSelector('%(label)s', query_set=Thing.objects.filter(label__icontains='RepeatedThingLabel', box__serial_number__icontains='B1')), [ absnode(ModelFileSelector(projection='%(content_file)s', file_field_name='content_file', model_class=Thing), writable=True), ]) ]) ]), ]) ]),