Browse Source

move setting a downloaded image as avatar to MumbleUser.setTextureFromUrl, add setting gravatar when registering

Natenom/support-murmur-13-1446181288462
Michael Ziegler 14 years ago
parent
commit
86b687aec4
  1. 14
      pyweb/mumble/models.py
  2. 4
      pyweb/mumble/views.py
  3. 7
      pyweb/settings.py

14
pyweb/mumble/models.py

@ -15,7 +15,10 @@
""" """
import socket, Ice, re import socket, Ice, re
from sys import stderr
from sys import stderr
from urllib import urlopen
from StringIO import StringIO
from PIL import Image
from django.utils.translation import ugettext_noop, ugettext_lazy as _ from django.utils.translation import ugettext_noop, ugettext_lazy as _
from django.contrib.auth.models import User from django.contrib.auth.models import User
@ -621,6 +624,10 @@ class MumbleUser( models.Model ):
# Don't save the users' passwords, we don't need them anyway # Don't save the users' passwords, we don't need them anyway
self.password = ''; self.password = '';
# If enabled (and possible), set Gravatar as default Avatar
if settings.USE_GRAVATAR and self.gravatar:
self.setTextureFromUrl( self.gravatar )
return models.Model.save( self ); return models.Model.save( self );
def __init__( self, *args, **kwargs ): def __init__( self, *args, **kwargs ):
@ -667,6 +674,11 @@ class MumbleUser( models.Model ):
""" Install the given image as the user's texture. """ """ Install the given image as the user's texture. """
self.server.ctl.setTexture(self.server.srvid, self.mumbleid, image) self.server.ctl.setTexture(self.server.srvid, self.mumbleid, image)
def setTextureFromUrl( self, url, transparency=None ):
""" Retrieve the image at the given URL and set it as my texture. """
img = Image.open( StringIO( urlopen( url ).read() ) )
self.setTexture( img )
texture = property( getTexture, setTexture, texture = property( getTexture, setTexture,
doc="Get the texture as a PIL Image or set the Image as the texture." doc="Get the texture as a PIL Image or set the Image as the texture."
); );

4
pyweb/mumble/views.py

@ -15,7 +15,6 @@
""" """
import simplejson import simplejson
from urllib import urlopen
from StringIO import StringIO from StringIO import StringIO
from PIL import Image from PIL import Image
@ -167,8 +166,7 @@ def show( request, server ):
textureform = MumbleTextureForm( request.POST, request.FILES ); textureform = MumbleTextureForm( request.POST, request.FILES );
if textureform.is_valid(): if textureform.is_valid():
if 'usegravatar' in textureform.cleaned_data and textureform.cleaned_data['usegravatar'] and user.gravatar: if 'usegravatar' in textureform.cleaned_data and textureform.cleaned_data['usegravatar'] and user.gravatar:
gravatar = urlopen( user.gravatar256 );
user.setTexture( Image.open( gravatar ) );
user.setTextureFromUrl( user.gravatar );
elif 'texturefile' in request.FILES: elif 'texturefile' in request.FILES:
user.setTexture( Image.open( request.FILES['texturefile'] ) ); user.setTexture( Image.open( request.FILES['texturefile'] ) );
return HttpResponseRedirect( reverse( show, kwargs={ 'server': int(server), } ) ); return HttpResponseRedirect( reverse( show, kwargs={ 'server': int(server), } ) );

7
pyweb/settings.py

@ -21,7 +21,8 @@
## The slice to use for communication over ZeroC Ice. ## ## The slice to use for communication over ZeroC Ice. ##
## This must be set to the path to the Murmur.ice file that ## ## This must be set to the path to the Murmur.ice file that ##
## resides in your Murmur directory. ## ## resides in your Murmur directory. ##
SLICE = '/usr/share/slice/Murmur.ice' ##
SLICE = '/home/svedrin/murmur/Murmur.ice'
#SLICE = '/usr/share/slice/Murmur.ice' ##
## ## ## ##
################################################################# #################################################################
## ## ## ##
@ -60,9 +61,11 @@ if not MUMBLE_DJANGO_ROOT or not exists( MUMBLE_DJANGO_ROOT ):
# URL Template for constructing Gravatars. # URL Template for constructing Gravatars.
GRAVATAR_URL = 'http://www.gravatar.com/avatar/%(hash)s.jpg?d=monsterid&s=%(size)d' GRAVATAR_URL = 'http://www.gravatar.com/avatar/%(hash)s.jpg?d=monsterid&s=%(size)d'
# Automatically set the Gravatar as the user's avatar when creating new users?
USE_GRAVATAR = True
# The default connection string to set for newly created instances. # The default connection string to set for newly created instances.
# ICE:
# Ice:
DEFAULT_CONN = 'Meta:tcp -h 127.0.0.1 -p 6502' DEFAULT_CONN = 'Meta:tcp -h 127.0.0.1 -p 6502'
# DBus: # DBus:
#DEFAULT_CONN = 'net.sourceforge.mumble.murmur' #DEFAULT_CONN = 'net.sourceforge.mumble.murmur'

Loading…
Cancel
Save