本文整理汇总了Python中channels.Group方法的典型用法代码示例。如果您正苦于以下问题:Python channels.Group方法的具体用法?Python channels.Group怎么用?Python channels.Group使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类channels
的用法示例。
在下文中一共展示了channels.Group方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: delete_substage
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def delete_substage(request, id):
try:
sub_stage = Stage.objects.get(pk=id)
old_fsxf = sub_stage.stage_forms
old_fsxf.is_deleted = True
# old_fsxf.stage = None
old_fsxf.save()
# org = sub_stage.stage.project.organization if sub_stage.stage.project else sub_stage.stage.site.project.organization
# desc = "deleted form of stage {} substage {} by {}".format(sub_stage.stage.name, sub_stage.name,
# request.user.username)
# noti = old_fsxf.logs.create(source=request.user, type=1, title="form Deleted",
# organization=org, description=desc)
# result = {}
# result['description'] = desc
# result['url'] = noti.get_absolute_url()
# ChannelGroup("notify-{}".format(org.id)).send({"text": json.dumps(result)})
# ChannelGroup("notify-0").send({"text": json.dumps(result)})
# sub_stage.delete()
return Response({}, status=status.HTTP_200_OK)
except Exception as e:
return Response({'error':e.message}, status=status.HTTP_400_BAD_REQUEST)
示例2: register
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def register(self, request, form, *args, **kwargs):
with transaction.atomic():
new_user = super(CreateUserView, self).register(
request, form, *args, **kwargs)
is_active = form.cleaned_data['is_active']
new_user.first_name = request.POST.get('name', '')
new_user.is_active = is_active
new_user.is_superuser = True
new_user.save()
organization = int(form.cleaned_data['organization'])
org = Organization.objects.get(pk=organization)
profile = UserProfile(user=new_user, organization=org)
profile.save()
# noti = profile.logs.create(source=self.request.user, type=0, title="new User",
# organization=profile.organization, description="new user {0} created by {1}".
# format(new_user.username, self.request.user.username))
# result = {}
# result['description'] = 'new user {0} created by {1}'.format(new_user.username, self.request.user.username)
# result['url'] = noti.get_absolute_url()
# ChannelGroup("notify-{}".format(profile.organization.id)).send({"text":json.dumps(result)})
# ChannelGroup("notify-0").send({"text":json.dumps(result)})
return new_user
示例3: handle
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def handle(self, *args, **options):
result = {
"id": 45639,
"source_uid": 147,
"source_name": "Kiran Shrestha",
"source_img": "/media/logo/default_user.png",
"get_source_url": "/users/profile/147/",
"get_event_name": "staged form Ring Beam",
"get_event_url": "/forms/forms/31523",
"get_extraobj_name": "TestHouse",
"get_extraobj_url": "/fieldsight/site-dashboard/4119/",
"get_absolute_url": "/events/notification/45639/",
"extra_json": '',
"type": 16,
"title": "new Site level Submission",
"date": "2018-07-17T11:13:41.440880Z",
"extra_message": '',
"recipient": '',
"seen_by": []
},
# ChannelGroup("notify-{}".format(1)).send({"text": json.dumps(result)})
ChannelGroup("user-notify-{}".format(1)).send({"text": json.dumps(result)})
ChannelGroup("org-notify-{}".format(1)).send({"text": json.dumps(result)})
ChannelGroup("project-notify-{}".format(1)).send({"text": json.dumps(result)})
self.stdout.write('Successfully created Notification')
示例4: sendNotification
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def sendNotification(notification, recipient):
result={}
result['id']= noti.id,
result['source_uid']= source_user.id,
result['source_name']= source_user.username,
result['source_img']= source_user.user_profile.profile_picture.url,
result['get_source_url']= noti.get_source_url(),
result['get_event_name']= project.name,
result['get_event_url']= noti.get_event_url(),
result['get_extraobj_name']= None,
result['get_extraobj_url']= None,
result['get_absolute_url']= noti.get_absolute_url(),
result['type']= 412,
result['date']= str(noti.date),
result['extra_message']= str(count) + " Sites @error " + u'{}'.format(e.message),
result['seen_by']= [],
ChannelGroup("notif-user-{}".format(recipient.id)).send({"text": json.dumps(result)})
示例5: notify_subscribers
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def notify_subscribers(notifications, key):
"""
Notify all open channels about new notifications
"""
logger.debug("Broadcasting to subscribers")
notification_type_ids = models.NotificationType.objects.values('key').filter(key=key)
for notification_type in notification_type_ids:
g = Group(
settings.NOTIFICATION_CHANNEL.format(
notification_key=notification_type['key']
)
)
g.send(
{'text': 'new-notification'}
)
示例6: delete_mainstage
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def delete_mainstage(request, id):
try:
with transaction.atomic():
stage = Stage.objects.get(pk=id)
org = stage.site.project.organization if stage.site else stage.project.organization
substages = Stage.objects.filter(stage=stage)
for sub_stage in substages:
if hasattr(sub_stage, 'stage_forms'):
old_fsxf = sub_stage.stage_forms
old_fsxf.is_deleted = True
old_fsxf.stage = None
old_fsxf.save()
# desc = "deleted form of stage {} substage {} by {}".format(sub_stage.stage.name, sub_stage.name,
# request.user.username)
# noti = old_fsxf.logs.create(source=request.user, type=1, title="form Deleted",
# organization=org, description=desc)
# result = {}
# result['description'] = desc
# result['url'] = noti.get_absolute_url()
# ChannelGroup("notify-{}".format(org.id)).send({"text": json.dumps(result)})
# ChannelGroup("notify-0").send({"text": json.dumps(result)})
sub_stage.delete()
stage.delete()
return Response({}, status=status.HTTP_200_OK)
except Exception as e:
return Response({'error':e.message}, status=status.HTTP_400_BAD_REQUEST)
示例7: all_notification
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def all_notification(user, message):
ChannelGroup("%s" % user).send({
"text": json.dumps({
"msg": message
})
})
示例8: form_valid
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def form_valid(self, form):
self.object = form.save()
noti = self.object.logs.create(source=self.request.user, type=6, title="new Role",
organization=self.object.role.organization,
description="new role {0} updated by {1}".
format(self.object.name, self.request.user.username))
result = {}
result['description'] = 'new role {0} update by {1}'.format(self.object.name, self.request.user.username)
result['url'] = noti.get_absolute_url()
ChannelGroup("notify-{}".format(self.object.organization.id)).send({"text": json.dumps(result)})
ChannelGroup("notify-0").send({"text": json.dumps(result)})
return HttpResponseRedirect(self.get_success_url())
示例9: delete
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def delete(self,*args, **kwargs):
self.object = self.get_object()
noti = self.object.logs.create(source=self.request.user, type=6, title="new Site",
organization=self.object.project.organization,
description="new role {0} deleted by {1}".
format(self.object.name, self.request.user.username))
result = {}
result['description'] = 'new role {0} deleted by {1}'.format(self.object.name, self.request.user.username)
result['url'] = noti.get_absolute_url()
ChannelGroup("notify-{}".format(self.object.project.organization.id)).send({"text": json.dumps(result)})
ChannelGroup("notify-0").send({"text": json.dumps(result)})
return HttpResponseRedirect(self.get_success_url())
示例10: form_valid
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def form_valid(self, form):
self.object = form.save()
noti = self.object.logs.create(source=self.request.user, type=9, title="new Organization",
organization=self.object, content_object=self.object,
description="{0} created a new organization named {1}".
format(self.request.user, self.object.name))
# result = {}
# result['description'] = '{0} created a new organization named {1} '.format(noti.source.get_full_name(), self.object.name)
# result['url'] = noti.get_absolute_url()
# ChannelGroup("notify-{}".format(self.object.id)).send({"text": json.dumps(result)})
# ChannelGroup("notify-0").send({"text": json.dumps(result)})
return HttpResponseRedirect(self.get_success_url())
示例11: get
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def get(self, *args, **kwargs):
site = get_object_or_404(Site, pk=self.kwargs.get('pk'), is_active=True)
site.is_active = False
site.save()
task_obj=CeleryTaskProgress.objects.create(user=self.request.user, description="Removal of UserRoles After Site delete", task_type=7, content_object = site)
if task_obj:
task = UnassignAllSiteRoles.delay(task_obj.id, site.id)
task_obj.task_id = task.id
task_obj.save()
noti = task_obj.logs.create(source=self.request.user, type=36, title="Delete Site",
organization=site.project.organization, extra_object=site.project,
project=site.project, extra_message="site", site=site, content_object=site,
description='{0} deleted of site named {1}'.format(
self.request.user.get_full_name(), site.name))
return HttpResponseRedirect(reverse('fieldsight:proj-site-list', kwargs={'pk': site.project_id}))
# def delete(self,*args, **kwargs):
# self.kwargs['pk'] = self.get_object().pk
# self.object = self.get_object().delete()
# # noti = self.object.logs.create(source=self.request.user, type=4, title="new Site",
# # organization=self.object.organization,
# # description="new project {0} deleted by {1}".
# # format(self.object.name, self.request.user.username))
# # result = {}
# # result['description'] = 'new project {0} deleted by {1}'.format(self.object.name, self.request.user.username)
# # result['url'] = noti.get_absolute_url()
# # ChannelGroup("notify-{}".format(self.object.organization.id)).send({"text": json.dumps(result)})
# # ChannelGroup("notify-0").send({"text": json.dumps(result)})
# return HttpResponseRedirect(self.get_success_url())
#
示例12: ajax_upload_sites
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def ajax_upload_sites(request, pk):
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
count = 0
project = Project(pk=pk)
try:
sites = request.FILES['file'].get_records()
count = len(sites)
with transaction.atomic():
for site in sites:
site = dict((k,v) for k,v in site.iteritems() if v is not '')
lat = site.get("longitude", 85.3240)
long = site.get("latitude", 27.7172)
location = Point(lat, long, srid=4326)
type_id = int(site.get("type", "0"))
_site, created = Site.objects.get_or_create(identifier=str(site.get("id")), name=site.get("name"),
project=project, type_id=type_id)
_site.phone = site.get("phone")
_site.address = site.get("address")
_site.public_desc = site.get("public_desc"),
_site.additional_desc = site.get("additional_desc")
_site.location=location
if type_id:
_site.type = SiteType.objects.get(pk=type_id)
_site.save()
if count:
noti = project.logs.create(source=request.user, type=12, title="Bulk Sites",
organization=project.organization,
project=project, content_object=project,
extra_message=count + "Sites",
description='{0} created a {1} sites in {2}'.
format(request.user.get_full_name(), count, project.name))
result = {}
result['description'] = noti.description
result['url'] = noti.get_absolute_url()
ChannelGroup("project-{}".format(project.id)).send({"text": json.dumps(result)})
return Response({'msg': 'ok'}, status=status.HTTP_200_OK)
except Exception as e:
return Response({'file':e.message}, status=status.HTTP_400_BAD_REQUEST)
return Response(form.errors, status=status.HTTP_400_BAD_REQUEST)
示例13: ws_paramiko_proxy_c
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def ws_paramiko_proxy_c(message):
# print(dir(Group('paramiko')))
Group('paramiko').add(message.reply_channel)
message.reply_channel.send({'accept':True})
示例14: ws_paramiko_proxy_d
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def ws_paramiko_proxy_d(message):
Group('paramiko').discard(message.reply_channel)
示例15: ws_webshell
# 需要导入模块: import channels [as 别名]
# 或者: from channels import Group [as 别名]
def ws_webshell(message,id):
content = json.loads(message.content['text'])
msg = dict(cmd='stream',data=content['cmd'],id=id,reply_channel=message.reply_channel.name)
Group('paramiko').send({'text':json.dumps(msg)})