completely remove usages of django-adminplus
it was futzing up some /admin/ login stuff, and I hadn't actually used the three views using it in years, so probably better to just yeet it (technical term) into the sun. Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
This commit is contained in:
parent
e63740ca70
commit
e5b9f1634a
@ -38,7 +38,6 @@ INSTALLED_APPS = [
|
|||||||
'django.contrib.staticfiles',
|
'django.contrib.staticfiles',
|
||||||
'django.contrib.sites',
|
'django.contrib.sites',
|
||||||
'django_extensions',
|
'django_extensions',
|
||||||
'adminplus',
|
|
||||||
'bootstrap3',
|
'bootstrap3',
|
||||||
'rest_framework',
|
'rest_framework',
|
||||||
'countdown',
|
'countdown',
|
||||||
|
@ -1,14 +1,9 @@
|
|||||||
"""General/baselite/site-wide URLs."""
|
"""General/baselite/site-wide URLs."""
|
||||||
from adminplus.sites import AdminSitePlus
|
|
||||||
from django.conf.urls import include
|
from django.conf.urls import include
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.urls import path
|
from django.urls import path
|
||||||
from django.views.generic import TemplateView
|
from django.views.generic import TemplateView
|
||||||
|
|
||||||
admin.site = AdminSitePlus()
|
|
||||||
admin.sites.site = admin.site
|
|
||||||
admin.autodiscover()
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', TemplateView.as_view(template_name='index.html'), name='index'),
|
path('', TemplateView.as_view(template_name='index.html'), name='index'),
|
||||||
|
|
||||||
|
@ -1,36 +1,13 @@
|
|||||||
"""Manage ircbot models and admin actions in the admin interface."""
|
"""Manage ircbot models and admin actions in the admin interface."""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
import xmlrpc.client
|
|
||||||
|
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.shortcuts import render
|
|
||||||
|
|
||||||
from ircbot.forms import PrivmsgForm
|
|
||||||
from ircbot.models import Alias, BotUser, IrcChannel, IrcPlugin, IrcServer
|
from ircbot.models import Alias, BotUser, IrcChannel, IrcPlugin, IrcServer
|
||||||
|
|
||||||
log = logging.getLogger('ircbot.admin')
|
log = logging.getLogger('ircbot.admin')
|
||||||
|
|
||||||
|
|
||||||
def send_privmsg(request):
|
|
||||||
"""Send a privmsg over XML-RPC to the IRC bot."""
|
|
||||||
if request.method == 'POST':
|
|
||||||
form = PrivmsgForm(request.POST)
|
|
||||||
if form.is_valid():
|
|
||||||
target = form.cleaned_data['target']
|
|
||||||
message = form.cleaned_data['message']
|
|
||||||
|
|
||||||
bot_url = 'http://{0:s}:{1:d}/'.format(form.cleaned_data['xmlrpc_host'],
|
|
||||||
form.cleaned_data['xmlrpc_port'])
|
|
||||||
bot = xmlrpc.client.ServerProxy(bot_url, allow_none=True)
|
|
||||||
bot.reply(None, message, False, target)
|
|
||||||
form = PrivmsgForm()
|
|
||||||
else:
|
|
||||||
form = PrivmsgForm()
|
|
||||||
|
|
||||||
return render(request, 'privmsg.html', {'form': form})
|
|
||||||
|
|
||||||
|
|
||||||
admin.site.register(Alias)
|
admin.site.register(Alias)
|
||||||
admin.site.register(BotUser)
|
admin.site.register(BotUser)
|
||||||
admin.site.register(IrcChannel)
|
admin.site.register(IrcChannel)
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
{% extends 'adminplus/index.html' %}
|
|
||||||
|
|
||||||
{% block title %}Ircbot - Privmsg{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<div id="content-main">
|
|
||||||
<form id="ircbot_privmsg_form" action="{% url 'admin:ircbot_privmsg' %}" method="post">
|
|
||||||
{% csrf_token %}
|
|
||||||
<table>
|
|
||||||
{{ form }}
|
|
||||||
</table>
|
|
||||||
<input class="submit-button" type="submit" value="Privmsg"/>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
@ -1,15 +1,9 @@
|
|||||||
"""Manage Markov models and administrative commands."""
|
"""Manage Markov models and administrative commands."""
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.contrib.auth.decorators import permission_required
|
|
||||||
from django.shortcuts import render
|
|
||||||
|
|
||||||
from markov.forms import LogUploadForm, TeachLineForm
|
|
||||||
import markov.lib as markovlib
|
|
||||||
from markov.models import MarkovContext, MarkovTarget, MarkovState
|
|
||||||
|
|
||||||
|
from markov.models import MarkovContext, MarkovState, MarkovTarget
|
||||||
|
|
||||||
log = logging.getLogger('markov.admin')
|
log = logging.getLogger('markov.admin')
|
||||||
|
|
||||||
@ -17,91 +11,3 @@ log = logging.getLogger('markov.admin')
|
|||||||
admin.site.register(MarkovContext)
|
admin.site.register(MarkovContext)
|
||||||
admin.site.register(MarkovTarget)
|
admin.site.register(MarkovTarget)
|
||||||
admin.site.register(MarkovState)
|
admin.site.register(MarkovState)
|
||||||
|
|
||||||
|
|
||||||
@permission_required('import_text_file', raise_exception=True)
|
|
||||||
def import_file(request):
|
|
||||||
"""Accept a file upload and turn it into markov stuff.
|
|
||||||
|
|
||||||
Current file formats supported:
|
|
||||||
* weechat
|
|
||||||
"""
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
|
||||||
form = LogUploadForm(request.POST, request.FILES)
|
|
||||||
if form.is_valid():
|
|
||||||
if form.cleaned_data['text_file_format'] == LogUploadForm.FILE_FORMAT_WEECHAT:
|
|
||||||
text_file = request.FILES['text_file']
|
|
||||||
context = form.cleaned_data['context']
|
|
||||||
ignores = form.cleaned_data['ignore_nicks'].split(',')
|
|
||||||
strips = form.cleaned_data['strip_prefixes'].split(' ')
|
|
||||||
|
|
||||||
whos = []
|
|
||||||
for line in text_file:
|
|
||||||
log.debug(line)
|
|
||||||
(timestamp, who, what) = line.decode('utf-8').split('\t', 2)
|
|
||||||
|
|
||||||
if who in ('-->', '<--', '--', ' *'):
|
|
||||||
continue
|
|
||||||
|
|
||||||
if who in ignores:
|
|
||||||
continue
|
|
||||||
|
|
||||||
whos.append(who)
|
|
||||||
|
|
||||||
# this is a line we probably care about now
|
|
||||||
what = [x for x in what.rstrip().split(' ') if x not in strips]
|
|
||||||
markovlib.learn_line(' '.join(what), context)
|
|
||||||
log.debug("learned")
|
|
||||||
|
|
||||||
log.debug(set(whos))
|
|
||||||
form = LogUploadForm()
|
|
||||||
elif form.cleaned_data['text_file_format'] == LogUploadForm.FILE_FORMAT_RAW_TEXT:
|
|
||||||
text_file = request.FILES['text_file']
|
|
||||||
context = form.cleaned_data['context']
|
|
||||||
|
|
||||||
k1 = MarkovState._start1
|
|
||||||
k2 = MarkovState._start2
|
|
||||||
for line in text_file:
|
|
||||||
for word in [x for x in line.decode('utf-8') .rstrip().split(' ')]:
|
|
||||||
log.info(word)
|
|
||||||
if word:
|
|
||||||
state, created = MarkovState.objects.get_or_create(context=context, k1=k1,
|
|
||||||
k2=k2, v=word)
|
|
||||||
state.count += 1
|
|
||||||
state.save()
|
|
||||||
|
|
||||||
if word[-1] in ['.', '?', '!']:
|
|
||||||
state, created = MarkovState.objects.get_or_create(context=context, k1=k2,
|
|
||||||
k2=word, v=MarkovState._stop)
|
|
||||||
state.count += 1
|
|
||||||
state.save()
|
|
||||||
|
|
||||||
k1 = MarkovState._start1
|
|
||||||
k2 = MarkovState._start2
|
|
||||||
else:
|
|
||||||
k1 = k2
|
|
||||||
k2 = word
|
|
||||||
else:
|
|
||||||
form = LogUploadForm()
|
|
||||||
|
|
||||||
return render(request, 'markov/import_file.html', {'form': form})
|
|
||||||
|
|
||||||
|
|
||||||
@permission_required('teach_line', raise_exception=True)
|
|
||||||
def teach_line(request):
|
|
||||||
"""Teach one line directly."""
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
|
||||||
form = TeachLineForm(request.POST)
|
|
||||||
if form.is_valid():
|
|
||||||
line = form.cleaned_data['line']
|
|
||||||
context = form.cleaned_data['context']
|
|
||||||
strips = form.cleaned_data['strip_prefixes'].split(' ')
|
|
||||||
what = [x for x in line.rstrip().split(' ') if x not in strips]
|
|
||||||
markovlib.learn_line(' '.join(what), context)
|
|
||||||
form = TeachLineForm()
|
|
||||||
else:
|
|
||||||
form = TeachLineForm()
|
|
||||||
|
|
||||||
return render(request, 'markov/teach_line.html', {'form': form})
|
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
{% extends 'adminplus/index.html' %}
|
|
||||||
|
|
||||||
{% block title %}Markov - Import log file{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<div id="content-main">
|
|
||||||
<form id="markov_import_file_form" enctype="multipart/form-data" action="{% url 'admin:markov_import_file' %}" method="post">
|
|
||||||
{% csrf_token %}
|
|
||||||
<table>
|
|
||||||
{{ form }}
|
|
||||||
</table>
|
|
||||||
<input class="submit-button" type="submit" value="Import"/>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
@ -1,15 +0,0 @@
|
|||||||
{% extends 'adminplus/index.html' %}
|
|
||||||
|
|
||||||
{% block title %}Markov - Teach line{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<div id="content-main">
|
|
||||||
<form id="markov_teach_line_form" action="{% url 'admin:markov_teach_line' %}" method="post">
|
|
||||||
{% csrf_token %}
|
|
||||||
<table>
|
|
||||||
{{ form }}
|
|
||||||
</table>
|
|
||||||
<input class="submit-button" type="submit" value="Teach"/>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
{% endblock %}
|
|
@ -51,8 +51,6 @@ django==5.0.4
|
|||||||
# django-bootstrap3
|
# django-bootstrap3
|
||||||
# django-extensions
|
# django-extensions
|
||||||
# djangorestframework
|
# djangorestframework
|
||||||
django-adminplus==0.6
|
|
||||||
# via -r requirements/requirements.in
|
|
||||||
django-bootstrap3==24.2
|
django-bootstrap3==24.2
|
||||||
# via -r requirements/requirements.in
|
# via -r requirements/requirements.in
|
||||||
django-extensions==3.2.3
|
django-extensions==3.2.3
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
Django # core
|
Django # core
|
||||||
django-adminplus # admin.site.register_view
|
|
||||||
django-bootstrap3 # bootstrap layout
|
django-bootstrap3 # bootstrap layout
|
||||||
django-extensions # more commands
|
django-extensions # more commands
|
||||||
djangorestframework # WS API
|
djangorestframework # WS API
|
||||||
|
@ -16,8 +16,6 @@ django==5.0.4
|
|||||||
# django-bootstrap3
|
# django-bootstrap3
|
||||||
# django-extensions
|
# django-extensions
|
||||||
# djangorestframework
|
# djangorestframework
|
||||||
django-adminplus==0.6
|
|
||||||
# via -r requirements/requirements.in
|
|
||||||
django-bootstrap3==24.2
|
django-bootstrap3==24.2
|
||||||
# via -r requirements/requirements.in
|
# via -r requirements/requirements.in
|
||||||
django-extensions==3.2.3
|
django-extensions==3.2.3
|
||||||
|
Loading…
Reference in New Issue
Block a user