From 4c64e923201693b3efab1828b4a6bcaf6060b873 Mon Sep 17 00:00:00 2001 From: "A. Svensson" Date: Mon, 6 Apr 2015 02:45:05 +0200 Subject: [PATCH] Fixed the fucking unicode issues with the models. --- src/gameservers/management/commands/update_server_stats.py | 6 +++--- src/gameservers/models.py | 6 +++++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/gameservers/management/commands/update_server_stats.py b/src/gameservers/management/commands/update_server_stats.py index e84cbbe..038bf65 100755 --- a/src/gameservers/management/commands/update_server_stats.py +++ b/src/gameservers/management/commands/update_server_stats.py @@ -51,19 +51,19 @@ class ServerParser(object): def _parse_server_data(self, data): '''Parse the individual parts of each server.''' try: - title = data.find('b').get_text().splitlines()[0].strip().encode('utf-8') + title = data.find('b').get_text().splitlines()[0].strip() except AttributeError: # HACK: I think this happends because the raw data was incomplete. # No complete data, no server update. return None - game_url = data.find('span', 'smaller').text.encode('utf-8') + game_url = data.find('span', 'smaller').text tmp = data.find('a') site_url = None # Default means the server hasn't set a custom site url if tmp and not tmp.text == 'Default': try: - site_url = tmp['href'].encode('utf-8') + site_url = tmp['href'] # Handle some funky servers... if site_url == 'http://': site_url = '' diff --git a/src/gameservers/models.py b/src/gameservers/models.py index 97426ca..a9a85e4 100644 --- a/src/gameservers/models.py +++ b/src/gameservers/models.py @@ -1,9 +1,11 @@ +from __future__ import unicode_literals from datetime import timedelta from ast import literal_eval from django.db import models from django.utils import timezone +from django.utils.encoding import python_2_unicode_compatible DAY_NAMES = [ @@ -17,6 +19,7 @@ DAY_NAMES = [ ] +@python_2_unicode_compatible class Server(models.Model): title = models.CharField(max_length=255) game_url = models.CharField(max_length=255) @@ -100,6 +103,7 @@ class Server(models.Model): tmp = [0,0,0,0,0,0,0] return zip(DAY_NAMES, tmp) +@python_2_unicode_compatible class ServerHistory(models.Model): server = models.ForeignKey(Server) created = models.DateTimeField(default=timezone.now) @@ -109,5 +113,5 @@ class ServerHistory(models.Model): ordering = ['-created', 'server'] def __str__(self): - return 'History for {} at {}.'.format(self.server, self.created) + return 'History for {} at {}.'.format(self.server.title, self.created)