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
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.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
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 );
def __init__( self, *args, **kwargs ):
@ -667,6 +674,11 @@ class MumbleUser( models.Model ):
""" Install the given image as the user's texture. """
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,
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
from urllib import urlopen
from StringIO import StringIO
from PIL import Image
@ -167,8 +166,7 @@ def show( request, server ):
textureform = MumbleTextureForm( request.POST, request.FILES );
if textureform.is_valid():
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:
user.setTexture( Image.open( request.FILES['texturefile'] ) );
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. ##
## This must be set to the path to the Murmur.ice file that ##
## 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.
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.
# ICE:
# Ice:
DEFAULT_CONN = 'Meta:tcp -h 127.0.0.1 -p 6502'
# DBus:
#DEFAULT_CONN = 'net.sourceforge.mumble.murmur'

Loading…
Cancel
Save