This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# If it's complex, Django's Generic CBVs will probably | |
# make your life harder. And if it's simple, they probably | |
# will too. | |
# Before: | |
from django.views import generic | |
class ReportPDFDetailView(generic.DetailView): | |
model = DesignerReport |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/fluent.runtime/fluent/runtime/codegen.py b/fluent.runtime/fluent/runtime/codegen.py | |
index f00f750..b76b147 100644 | |
--- a/fluent.runtime/fluent/runtime/codegen.py | |
+++ b/fluent.runtime/fluent/runtime/codegen.py | |
@@ -3,6 +3,7 @@ Utilities for doing Python code generation | |
""" | |
from __future__ import absolute_import, unicode_literals | |
+import ast | |
import keyword |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Views | |
def two_form_view(request): | |
context = {} | |
if request.method == "POST": | |
question_form = QuestionForm(request.POST) | |
answer_form = AnswerForm(request.POST) | |
success = False | |
if 'q_button' in request.POST and question_form.is_valid() | |
question_form.save() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import visidata | |
from django.db.models import QuerySet | |
def get_main_attrs(instance): | |
retval = [] | |
if hasattr(instance, '_meta'): | |
for field in instance._meta.get_fields(): | |
if not hasattr(field, 'get_attname'): | |
continue |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
showcase production | |
+--------------------------+--------------------------+------------------------------------------------------------------+ │+--------------------------+--------------------------+------------------------------------------------------------------+ | |
| Column | Type | Modifiers | │| Column | Type | Modifiers | | |
|--------------------------+--------------------------+------------------------------------------------------------------| │|--------------------------+--------------------------+------------------------------------------------------------------| | |
| id |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Quick and dirty URL checker: | |
# | |
# - checks presence of parameters to every callback registered in main urlconf | |
# - checks for bad additional parameters (args without default) | |
# - checks type of parameters if possible | |
# - can handle all Django's built-in path converters, | |
# and any other that has a type annotation on the `to_python` method | |
# | |
# Limitations | |
# - can't check callbacks defined using ``**kwargs`` (e.g. most CBVs) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def product_detail(request, slug): | |
try: | |
product = Product.objects.get(slug=slug) | |
except Product.DoesNotExist: | |
raise Http404() | |
return TemplateResponse(request, 'products/product_detail.html', { | |
'product': product, | |
}) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from datetime import date | |
import visidata | |
from django.db.models import QuerySet | |
def get_main_attrs(instance): | |
if hasattr(instance, '_meta'): | |
return meta_to_col_list(instance._meta) | |
elif hasattr(instance, '__attrs_attrs__'): | |
return [(field.name, field.type or visidata.anytype) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# list_detail.object_list replacement with all the things I need | |
def object_list(request, queryset, extra_context=None, | |
template_name='', paginate_by=None): | |
class ObjectList(ListView): | |
def post(self, request, *args, **kwargs): | |
return self.get(request, *args, **kwargs) | |
def get_context_data(self, **kwargs): | |
c = super(ObjectList, self).get_context_data(**kwargs) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pyparsing as pp | |
def hollerith(): | |
intExpr = pp.Word(pp.nums).setParseAction(lambda t: int(t[0])) | |
stringExpr = pp.Forward() | |
def countedParseAction(toks): | |
n = toks[0] | |
contents = pp.CharsNotIn('', exact=n) | |
stringExpr << (pp.Suppress(pp.CaselessLiteral('H')) + contents) |