Get ready for Django 1.8

This commit is contained in:
Steadman 2015-05-26 16:44:05 +01:00
parent 5704abdda5
commit 05cc898e8e
6 changed files with 85 additions and 142 deletions

View file

@ -8,7 +8,8 @@ from datetime import datetime, date
from threading import Thread
import requests
__version__ = '2.1.1'
__version__ = '3.0'
default_app_config = 'bambu_buffer.apps.BufferConfig'
class BufferThread(Thread):
def __init__(self, token, data, *args, **kwargs):

5
bambu_buffer/apps.py Normal file
View file

@ -0,0 +1,5 @@
from django.apps import AppConfig
class BufferConfig(AppConfig):
name = 'bambu_buffer'
verbose_name = 'Buffer'

View file

@ -1,143 +1,80 @@
# -*- coding: utf-8 -*-
import datetime
from south.db import db
from south.v2 import SchemaMigration
from django.db import models
from __future__ import unicode_literals
from django.db import models, migrations
from django.conf import settings
class Migration(SchemaMigration):
class Migration(migrations.Migration):
def forwards(self, orm):
# Adding model 'BufferToken'
db.create_table('buffer_token', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('user', self.gf('django.db.models.fields.related.ForeignKey')(related_name='buffer_tokens', unique=True, to=orm['auth.User'])),
('token', self.gf('django.db.models.fields.CharField')(max_length=36)),
))
db.send_create_signal('bambu_buffer', ['BufferToken'])
dependencies = [
('contenttypes', '0002_remove_content_type_name'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
# Adding model 'BufferService'
db.create_table('buffer_service', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('token', self.gf('django.db.models.fields.related.ForeignKey')(related_name='services', to=orm['bambu_buffer.BufferToken'])),
('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
('remote_id', self.gf('django.db.models.fields.CharField')(max_length=36)),
('username', self.gf('django.db.models.fields.CharField')(max_length=30)),
))
db.send_create_signal('bambu_buffer', ['BufferService'])
# Adding model 'BufferProfile'
db.create_table('buffer_profile', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('service', self.gf('django.db.models.fields.related.ForeignKey')(related_name='profiles', to=orm['bambu_buffer.BufferService'])),
('avatar', self.gf('django.db.models.fields.URLField')(max_length=255)),
('created_at', self.gf('django.db.models.fields.DateTimeField')()),
('default', self.gf('django.db.models.fields.BooleanField')(default=True)),
('formatted_username', self.gf('django.db.models.fields.CharField')(max_length=100)),
('remote_id', self.gf('django.db.models.fields.CharField')(unique=True, max_length=36)),
('schedules', self.gf('django.db.models.fields.TextField')()),
('selected', self.gf('django.db.models.fields.BooleanField')()),
))
db.send_create_signal('bambu_buffer', ['BufferProfile'])
# Adding model 'BufferedItem'
db.create_table('buffer_buffereditem', (
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
('content_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['contenttypes.ContentType'])),
('object_id', self.gf('django.db.models.fields.PositiveIntegerField')()),
))
db.send_create_signal('bambu_buffer', ['BufferedItem'])
# Adding unique constraint on 'BufferedItem', fields ['content_type', 'object_id']
db.create_unique('buffer_buffereditem', ['content_type_id', 'object_id'])
def backwards(self, orm):
# Removing unique constraint on 'BufferedItem', fields ['content_type', 'object_id']
db.delete_unique('buffer_buffereditem', ['content_type_id', 'object_id'])
# Deleting model 'BufferToken'
db.delete_table('buffer_token')
# Deleting model 'BufferService'
db.delete_table('buffer_service')
# Deleting model 'BufferProfile'
db.delete_table('buffer_profile')
# Deleting model 'BufferedItem'
db.delete_table('buffer_buffereditem')
models = {
u'auth.group': {
'Meta': {'object_name': 'Group'},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
operations = [
migrations.CreateModel(
name='BufferedItem',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('object_id', models.PositiveIntegerField()),
('content_type', models.ForeignKey(to='contenttypes.ContentType')),
],
options={
'db_table': 'buffer_buffereditem',
},
u'auth.permission': {
'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
),
migrations.CreateModel(
name='BufferProfile',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('avatar', models.URLField(max_length=255)),
('created_at', models.DateTimeField()),
('default', models.BooleanField(default=True)),
('formatted_username', models.CharField(max_length=100)),
('remote_id', models.CharField(unique=True, max_length=36)),
('schedules', models.TextField()),
('selected', models.BooleanField()),
],
options={
'db_table': 'buffer_profile',
},
u'auth.user': {
'Meta': {'object_name': 'User'},
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Permission']"}),
'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
),
migrations.CreateModel(
name='BufferService',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('name', models.CharField(max_length=30)),
('remote_id', models.CharField(max_length=36)),
('username', models.CharField(max_length=30)),
],
options={
'db_table': 'buffer_service',
},
'bambu_buffer.buffereditem': {
'Meta': {'unique_together': "(('content_type', 'object_id'),)", 'object_name': 'BufferedItem', 'db_table': "'buffer_buffereditem'"},
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'object_id': ('django.db.models.fields.PositiveIntegerField', [], {})
),
migrations.CreateModel(
name='BufferToken',
fields=[
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
('token', models.CharField(max_length=36)),
('user', models.OneToOneField(related_name='buffer_tokens', to=settings.AUTH_USER_MODEL)),
],
options={
'db_table': 'buffer_token',
},
'bambu_buffer.bufferprofile': {
'Meta': {'object_name': 'BufferProfile', 'db_table': "'buffer_profile'"},
'avatar': ('django.db.models.fields.URLField', [], {'max_length': '255'}),
'created_at': ('django.db.models.fields.DateTimeField', [], {}),
'default': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
'formatted_username': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'remote_id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '36'}),
'schedules': ('django.db.models.fields.TextField', [], {}),
'selected': ('django.db.models.fields.BooleanField', [], {}),
'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'profiles'", 'to': "orm['bambu_buffer.BufferService']"})
},
'bambu_buffer.bufferservice': {
'Meta': {'object_name': 'BufferService', 'db_table': "'buffer_service'"},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
'remote_id': ('django.db.models.fields.CharField', [], {'max_length': '36'}),
'token': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'services'", 'to': "orm['bambu_buffer.BufferToken']"}),
'username': ('django.db.models.fields.CharField', [], {'max_length': '30'})
},
'bambu_buffer.buffertoken': {
'Meta': {'object_name': 'BufferToken', 'db_table': "'buffer_token'"},
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'token': ('django.db.models.fields.CharField', [], {'max_length': '36'}),
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'buffer_tokens'", 'unique': 'True', 'to': u"orm['auth.User']"})
},
u'contenttypes.contenttype': {
'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
}
}
complete_apps = ['bambu_buffer']
),
migrations.AddField(
model_name='bufferservice',
name='token',
field=models.ForeignKey(related_name='services', to='bambu_buffer.BufferToken'),
),
migrations.AddField(
model_name='bufferprofile',
name='service',
field=models.ForeignKey(related_name='profiles', to='bambu_buffer.BufferService'),
),
migrations.AlterUniqueTogether(
name='buffereditem',
unique_together=set([('content_type', 'object_id')]),
),
]

View file

@ -7,7 +7,7 @@ from datetime import datetime, timedelta
import requests, json
class BufferToken(models.Model):
user = models.ForeignKey('auth.User', related_name = 'buffer_tokens', unique = True)
user = models.OneToOneField('auth.User', related_name = 'buffer_tokens')
token = models.CharField(max_length = 36)
def __unicode__(self):

View file

@ -58,7 +58,7 @@ def callback(request):
data = response.json()
token = data.get('access_token')
with transaction.commit_on_success():
with transaction.atomic():
request.user.buffer_tokens.all().delete()
request.user.buffer_tokens.create(
token = token

View file

@ -4,7 +4,7 @@ from os import path
setup(
name = 'bambu-buffer',
version = '2.1.1',
version = '3.0,
description = 'Post to Buffer and manage profile settings through a Django-powered site',
author = 'Steadman',
author_email = 'mark@steadman.io',