let defaultTcpHandler (host : string) (port : int) : Task<TcpClient> =
task {
let tcpClient = new TcpClient()
let! _ = tcpClient.ConnectAsync(host, port) |> Async.AwaitTask
return tcpClient
}
client.TcpHandler <- Client.TcpFactory(defaultTcpHandler)
<?php
$loader = require_once __DIR__ . '/../vendor/autoload.php';
$loader->getClassMap();
import yaml
from coreapi.codecs.base import BaseCodec
from coreapi.document import Document
from coreapi.exceptions import ParseError
from openapi_codec.decode import _parse_document
class SwaggerAPICodec(BaseCodec):
format = 'openapi'
media_type = 'application/openapi+yaml'
def decode(self, bytes, **options):
try:
data = yaml.safe_load(bytes)
except ValueError as exc:
raise ParseError('Malformed YAML. {}'.format(exc))
base_url = options.get('base_url')
doc = _parse_document(data, base_url)
if not isinstance(doc, Document):
raise ParseError('Top level node must be a document.')
return doc
def encode(self, document, **options):
# TODO SwaggerAPICodec.encode() freeze
raise AttributeError('.encode() method not yet developed.')
from rest_framework.views import APIView as BaseAPIView
from rest_framework.permissions import AllowAny
from rest_framework_swagger import renderers
from rest_framework.response import Response
from api.helpers.SwaggerAPICodec import SwaggerAPICodec
class ApiView(BaseAPIView):
permission_classes = [AllowAny]
renderer_classes = [
renderers.OpenAPIRenderer,
renderers.SwaggerUIRenderer,
]
def get(self, request):
codec = SwaggerAPICodec()
bytestr = open('api/swagger.yaml', 'rb').read()
schema = codec.decode(bytestr)
return Response(schema)
from django.urls import path
from .views.ApiView import ApiView
urlpatterns = [
path('swagger/', ApiView.as_view()),
# ...
]
module: {
rules: [
{
test: /\.(eot|svg|woff|woff2|ttf)$/,
use: [{
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: 'fonts/',
publicPath: 'static/fonts/'
}
}]
},
]
# forms.py
class EditThumbsForm(forms.ModelForm):
class Meta:
model = Thumb
fields = ('src', )
src = forms.CharField()
EditThumbsFormSet = forms.inlineformset_factory(Video, Thumb, form=EditThumbsForm, extra=0)
class EditVideosForm(forms.ModelForm):
class Meta:
model = Video
fields = ('id', 'video_id', 'title', )
id = forms.IntegerField()
video_id = forms.IntegerField()
title = forms.CharField()
class EditVideosModelFormSet(BaseModelFormSet):
def add_fields(self, form, index):
super(__class__, self).add_fields(form, index)
form.thumb_formset = EditThumbsFormSet(
instance=form.instance,
data=form.is_bound and form.data or None,
files=form.is_bound and form.files or None,
prefix='thumb-%s-%s' % (
form.prefix,
EditThumbsFormSet.get_default_prefix()
)
)
EditVideosFormSet = forms.modelformset_factory(Video, EditVideosForm, formset=EditVideosModelFormSet, extra=0)
class EditVideosView(View):
template_name = 'admin/edit_videos.html'
def get(self, request):
instance = Video.objects.all()
formset = EditVideosFormSet(queryset=instance)
return render(request, self.template_name, context={'formset': formset})
{% for form in formset %}
<li>
{{ form }}
{% if form.thumb_formset %}
{{ form.thumb_formset.management_form }}
<ul>
{% for thumb in form.thumb_formset %}
<li>
{{ thumb.src }}
</li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan receive]:
main.main()
c:/Users/chapplin/go/src/example1/test.go:59 +0x3cf
goroutine 18 [chan receive]:
main.writer(0xc04202c0c0, 0xc042050070)
c:/Users/chapplin/go/src/example1/test.go:23 +0x5e
created by main.main
c:/Users/chapplin/go/src/example1/test.go:37 +0xf0
exit status 2
Для продолжения нажмите любую клавишу . . .
// <- done
func writer(result <- chan string, done chan bool) {
for line := range result {
fmt.Println(line)
}
done <- true
}
func writer(result <- chan string, done chan bool) {
for line := range result {
if (<- done) == true {
break
}
fmt.Println(line)
}
done <- true
}
package main
import "fmt"
type Parent struct {
foo int
}
type Child struct {
Parent *Parent
bar int
}
func main() {
var parent = &Parent{ foo: 12 }
var child = &Child{ Parent: *&parent, bar: 111 }
child.Parent.foo++
fmt.Println(&parent.foo, &child.Parent.foo)
fmt.Println(child.Parent.foo, parent.foo)
}
разве что мы сначала вытащим её из мапы в переменную и вызовем метод на ней