mirror of
https://github.com/hellosteadman/bambu-buffer.git
synced 2025-05-05 00:39:52 +00:00
Get ready for Django 1.8
This commit is contained in:
parent
5704abdda5
commit
05cc898e8e
6 changed files with 85 additions and 142 deletions
|
@ -8,7 +8,8 @@ from datetime import datetime, date
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
__version__ = '2.1.1'
|
__version__ = '3.0'
|
||||||
|
default_app_config = 'bambu_buffer.apps.BufferConfig'
|
||||||
|
|
||||||
class BufferThread(Thread):
|
class BufferThread(Thread):
|
||||||
def __init__(self, token, data, *args, **kwargs):
|
def __init__(self, token, data, *args, **kwargs):
|
||||||
|
|
5
bambu_buffer/apps.py
Normal file
5
bambu_buffer/apps.py
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
from django.apps import AppConfig
|
||||||
|
|
||||||
|
class BufferConfig(AppConfig):
|
||||||
|
name = 'bambu_buffer'
|
||||||
|
verbose_name = 'Buffer'
|
|
@ -1,143 +1,80 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
import datetime
|
from __future__ import unicode_literals
|
||||||
from south.db import db
|
|
||||||
from south.v2 import SchemaMigration
|
from django.db import models, migrations
|
||||||
from django.db import models
|
from django.conf import settings
|
||||||
|
|
||||||
|
|
||||||
class Migration(SchemaMigration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
def forwards(self, orm):
|
dependencies = [
|
||||||
# Adding model 'BufferToken'
|
('contenttypes', '0002_remove_content_type_name'),
|
||||||
db.create_table('buffer_token', (
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||||
(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'])
|
|
||||||
|
|
||||||
# Adding model 'BufferService'
|
operations = [
|
||||||
db.create_table('buffer_service', (
|
migrations.CreateModel(
|
||||||
(u'id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
|
name='BufferedItem',
|
||||||
('token', self.gf('django.db.models.fields.related.ForeignKey')(related_name='services', to=orm['bambu_buffer.BufferToken'])),
|
fields=[
|
||||||
('name', self.gf('django.db.models.fields.CharField')(max_length=30)),
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||||
('remote_id', self.gf('django.db.models.fields.CharField')(max_length=36)),
|
('object_id', models.PositiveIntegerField()),
|
||||||
('username', self.gf('django.db.models.fields.CharField')(max_length=30)),
|
('content_type', models.ForeignKey(to='contenttypes.ContentType')),
|
||||||
))
|
],
|
||||||
db.send_create_signal('bambu_buffer', ['BufferService'])
|
options={
|
||||||
|
'db_table': 'buffer_buffereditem',
|
||||||
# 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'})
|
|
||||||
},
|
},
|
||||||
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'},
|
migrations.CreateModel(
|
||||||
'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
name='BufferProfile',
|
||||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
|
fields=[
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
|
('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'},
|
migrations.CreateModel(
|
||||||
'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
name='BufferService',
|
||||||
'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
|
fields=[
|
||||||
'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
|
('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)),
|
||||||
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "u'user_set'", 'blank': 'True', 'to': u"orm['auth.Group']"}),
|
('name', models.CharField(max_length=30)),
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
('remote_id', models.CharField(max_length=36)),
|
||||||
'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
('username', models.CharField(max_length=30)),
|
||||||
'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
],
|
||||||
'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
options={
|
||||||
'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
|
'db_table': 'buffer_service',
|
||||||
'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'})
|
|
||||||
},
|
},
|
||||||
'bambu_buffer.buffereditem': {
|
),
|
||||||
'Meta': {'unique_together': "(('content_type', 'object_id'),)", 'object_name': 'BufferedItem', 'db_table': "'buffer_buffereditem'"},
|
migrations.CreateModel(
|
||||||
'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
|
name='BufferToken',
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
fields=[
|
||||||
'object_id': ('django.db.models.fields.PositiveIntegerField', [], {})
|
('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'"},
|
migrations.AddField(
|
||||||
'avatar': ('django.db.models.fields.URLField', [], {'max_length': '255'}),
|
model_name='bufferservice',
|
||||||
'created_at': ('django.db.models.fields.DateTimeField', [], {}),
|
name='token',
|
||||||
'default': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
|
field=models.ForeignKey(related_name='services', to='bambu_buffer.BufferToken'),
|
||||||
'formatted_username': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
|
),
|
||||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
migrations.AddField(
|
||||||
'remote_id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '36'}),
|
model_name='bufferprofile',
|
||||||
'schedules': ('django.db.models.fields.TextField', [], {}),
|
name='service',
|
||||||
'selected': ('django.db.models.fields.BooleanField', [], {}),
|
field=models.ForeignKey(related_name='profiles', to='bambu_buffer.BufferService'),
|
||||||
'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'profiles'", 'to': "orm['bambu_buffer.BufferService']"})
|
),
|
||||||
},
|
migrations.AlterUniqueTogether(
|
||||||
'bambu_buffer.bufferservice': {
|
name='buffereditem',
|
||||||
'Meta': {'object_name': 'BufferService', 'db_table': "'buffer_service'"},
|
unique_together=set([('content_type', 'object_id')]),
|
||||||
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']
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ from datetime import datetime, timedelta
|
||||||
import requests, json
|
import requests, json
|
||||||
|
|
||||||
class BufferToken(models.Model):
|
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)
|
token = models.CharField(max_length = 36)
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
|
|
|
@ -58,7 +58,7 @@ def callback(request):
|
||||||
data = response.json()
|
data = response.json()
|
||||||
token = data.get('access_token')
|
token = data.get('access_token')
|
||||||
|
|
||||||
with transaction.commit_on_success():
|
with transaction.atomic():
|
||||||
request.user.buffer_tokens.all().delete()
|
request.user.buffer_tokens.all().delete()
|
||||||
request.user.buffer_tokens.create(
|
request.user.buffer_tokens.create(
|
||||||
token = token
|
token = token
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -4,7 +4,7 @@ from os import path
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name = 'bambu-buffer',
|
name = 'bambu-buffer',
|
||||||
version = '2.1.1',
|
version = '3.0,
|
||||||
description = 'Post to Buffer and manage profile settings through a Django-powered site',
|
description = 'Post to Buffer and manage profile settings through a Django-powered site',
|
||||||
author = 'Steadman',
|
author = 'Steadman',
|
||||||
author_email = 'mark@steadman.io',
|
author_email = 'mark@steadman.io',
|
||||||
|
|
Loading…
Reference in a new issue