Commit fc46b8a8 authored by Mario Chirinos Colunga's avatar Mario Chirinos Colunga 💬

update

parent e77142b8
......@@ -8,12 +8,11 @@ from django.contrib.admin.widgets import FilteredSelectMultiple
import os
from django.conf import settings
from django.urls import reverse
#-------------------------------------------------------------------------------
class SearchForm(forms.ModelForm):
class Meta:
model = Search
exclude = ["user"]
# fields = '__all__'
widgets = {'startDate': forms.DateInput(attrs={'type':'date', 'class':"form-control"}),
'endDate': forms.DateInput(attrs={'type':'date', 'class':"form-control"}),
......@@ -28,7 +27,7 @@ class SearchForm(forms.ModelForm):
form.user = user
form.save()
#-------------------------------------------------------------------------------
class ProfileForm(forms.Form):
subscriptions = forms.ModelMultipleChoiceField(queryset=Publisher.objects.all(), widget=FilteredSelectMultiple("Publishers", is_stacked=False), required=False)
class Media:
......@@ -38,7 +37,7 @@ class ProfileForm(forms.Form):
# in the temple
css = {'all': (os.path.join(settings.BASE_DIR, '/static/admin/css/widgets.css'),),}
js = ('/catalog/js/jsi18n',)
#-------------------------------------------------------------------------------
class SubscriptionsForm(forms.ModelForm):
# def __init__(self, *args, **kwargs):
......@@ -61,7 +60,4 @@ class SubscriptionsForm(forms.ModelForm):
css = {'all': (os.path.join(settings.BASE_DIR, '/static/admin/css/widgets.css'),),}
js = ('/catalog/js/jsi18n')
#forms.MultipleChoiceField(label="Fuentes", widget=forms.SelectMultiple(attrs={'class':"form-control"}), choices=choice, required=False)
......@@ -17,6 +17,8 @@ class Command(BaseCommand):
parser.add_argument('basedir', nargs=1, type=str)
def handle(self, *args, **options):
if True:
#update radio stations recotding time
print("Recording Time:")
recordingsDir = "/home/mario/virtualHDD/m3/recordings/"
......@@ -31,81 +33,55 @@ class Command(BaseCommand):
if len(sortedFiles)>2:
print("timestamp: " + sortedFiles[0])
print("len timestamp: " + str(len(sortedFiles[0])))
#print (files)
#print (sortedFiles)
since = datetime.datetime.utcfromtimestamp(int(sortedFiles[0]))
audioTime.objects.update_or_create(publisher=p, defaults={'minutes': minutes, "startDate": since},)
#load news
os.chdir(options['basedir'][0])
publisherList = os.listdir(options['basedir'][0])
for p in publisherList:
print p
print (p)
os.chdir(p)
publisher = Publisher.objects.all().filter(shortName=p)[0]
news = News.objects.all().filter(publisher=publisher.id).order_by("-date")
# print publisher.id
minYear = 0
lastDate = datetime.datetime(1950,1,1)
# print news.count()
if news.count()>0:
minYear = news[0].date.year
lastDate = news[0].date
yearList = [ int(y) for y in os.listdir('.')]
# print "LastDate"+str(lastDate)
print yearList
print (yearList)
for y in yearList:
if y >=minYear:
os.chdir(str(y))
print os.getcwd()
print (os.getcwd())
filesList = os.listdir(".")
for f in filesList:
# print "file: " + f
fileDate = datetime.datetime.strptime(f[:f.find(".")], "%Y-%m-%d").date()
if fileDate >= lastDate.date():
# print "fileDate: " + str(fileDate)
with open(f) as data_file:
try:
data = json.load(data_file)
for d in data:
# if d['date'].find("+") >=0:
# date =d['date'][:d['date'].find("+")].replace("T", " ")
# newsDate = datetime.datetime.strptime(date, "%Y-%m-%d %H:%M:%S")
# else:
# date = d['date']
# newsDate = datetime.datetime.strptime(date, "%Y-%m-%d")
# print d['date']
# print d['title']
newsDate = dateutil.parser.parse(d['date'])
# newsDate = timezone.make_aware(newsDate, timezone.get_current_timezone())
# print "newsDate:"
# print newsDate
if News.objects.all().filter(Q(publisher=publisher.id)&Q(title=d['title'])&Q(date__gte=newsDate)).count() == 0:
# print "no news match"
if d['title'] == None:
d['title'] = "Sin Titulo"
if len(d['title']) >= 512:
d['title'] = d['title'][:500]
print p + " "+ str(newsDate) + ": " + d['title']
# print type(d['topic'])
print (p + " "+ str(newsDate) + ": " + d['title'])
news = News()
news.publisher = publisher
# print "title"
news.title = d['title']
# print "text"
news.text = d['text']
# print "url"
news.url = d['url']
# print "date"
news.date = newsDate
news.save()
# print "TOPIC: " + str(d['topic'])
# print type(d['topic'])
if d['topic'] == "" or d['topic'] == None or d['topic'] ==[]:
d['topic'] = "Sin Tema"
......@@ -116,21 +92,15 @@ class Command(BaseCommand):
else:
topic, created = Topic.objects.all().get_or_create(name=d['topic'])
news.topic.add(topic)
# print news.date
# print d['date']
# #news.save()
# except (RuntimeError, TypeError, NameError, ValueError) as e:
except ValueError as e:
print e
# print e.NameError
print "Error: " + os.getcwd()+"/"+f
print type(d['topic'])
# print "TOPIC: " + str(d['topic'])
except ValueError as e:
print (e)
print ("Error: " + os.getcwd()+"/"+f)
print (type(d['topic']))
data_file.close()
os.chdir("..")
os.chdir("..")
......@@ -10,8 +10,8 @@ class AuthRequiredMiddleware(object):
# the view (and later middleware) are called.
response = self.get_response(request)
print request.path_info
print reverse('login')
print (request.path_info)
print (reverse('login'))
if request.path_info == reverse('ws-news-list2'):
return response
......
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2017-08-15 20:59
# Generated by Django 1.11.10 on 2018-02-14 15:48
from __future__ import unicode_literals
from django.db import migrations, models
......@@ -18,15 +18,15 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=128)),
('shortName', models.CharField(default=b'', max_length=32)),
('crawler', models.CharField(default=b'', max_length=32)),
('type', models.CharField(default=b'', max_length=32)),
('url', models.URLField(default=b'')),
('shortName', models.CharField(default='', max_length=32)),
('crawler', models.CharField(default='', max_length=64)),
('type', models.CharField(default='', max_length=32)),
('url', models.URLField(default='')),
],
options={
'ordering': ('name',),
'verbose_name': 'Medio',
'verbose_name_plural': 'Medios',
'ordering': ('name',),
},
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2017-08-15 20:59
# Generated by Django 1.11.10 on 2018-02-14 15:49
from __future__ import unicode_literals
from django.db import migrations, models
......@@ -16,12 +16,12 @@ class Migration(migrations.Migration):
name='Topic',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=256, verbose_name=b'Tema')),
('name', models.CharField(max_length=256, verbose_name='Tema')),
],
options={
'ordering': ('name',),
'verbose_name': 'Tema',
'verbose_name_plural': 'Temas',
'ordering': ('name',),
},
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2017-08-15 20:59
# Generated by Django 1.11.10 on 2018-02-14 15:49
from __future__ import unicode_literals
import django.contrib.postgres.indexes
import django.contrib.postgres.search
from django.db import migrations, models
import django.db.models.deletion
......@@ -18,16 +20,21 @@ class Migration(migrations.Migration):
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=512)),
('date', models.DateTimeField(verbose_name=b'Publication Date')),
('text', models.TextField(blank=True, default=b'', verbose_name=b'News Text')),
('url', models.URLField(max_length=512, verbose_name=b'URL')),
('publisher', models.ForeignKey(default=b'', on_delete=django.db.models.deletion.CASCADE, to='catalog.Publisher')),
('topic', models.ManyToManyField(blank=True, to='catalog.Topic', verbose_name=b'Topic(s)')),
('date', models.DateTimeField(verbose_name='Publication Date')),
('text', models.TextField(blank=True, default='', verbose_name='News Text')),
('url', models.URLField(max_length=512, verbose_name='URL')),
('search_vector', django.contrib.postgres.search.SearchVectorField(null=True)),
('publisher', models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, to='catalog.Publisher')),
('topic', models.ManyToManyField(blank=True, to='catalog.Topic', verbose_name='Topic(s)')),
],
options={
'ordering': ('date',),
'verbose_name': 'Noticia',
'verbose_name_plural': 'Noticias',
'ordering': ('date',),
},
),
migrations.AddIndex(
model_name='news',
index=django.contrib.postgres.indexes.GinIndex(fields=['search_vector'], name='catalog_new_search__62ed1c_gin'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2017-08-16 03:52
from __future__ import unicode_literals
import django.contrib.postgres.search
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('catalog', '0003_news'),
]
operations = [
migrations.AddField(
model_name='news',
name='search_vector',
field=django.contrib.postgres.search.SearchVectorField(null=True),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-12-14 18:25
# Generated by Django 1.11.10 on 2018-02-14 15:49
from __future__ import unicode_literals
from django.conf import settings
......@@ -11,7 +11,7 @@ class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('catalog', '0008_profile_subscriptions'),
('catalog', '0003_auto_20180214_1549'),
]
operations = [
......@@ -19,10 +19,10 @@ class Migration(migrations.Migration):
name='Search',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('startDate', models.DateTimeField(verbose_name=b'Start Date')),
('endDate', models.DateTimeField(verbose_name=b'End Date')),
('text', models.CharField(max_length=128)),
('publishers', models.ManyToManyField(to='catalog.Publisher')),
('startDate', models.DateTimeField(verbose_name='Start Date')),
('endDate', models.DateTimeField(verbose_name='End Date')),
('text', models.CharField(blank=True, max_length=128)),
('publishers', models.ManyToManyField(blank=True, to='catalog.Publisher')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
......
# -*- coding: utf-8 -*-
# Generated by Django 1.11.4 on 2017-08-19 20:50
from __future__ import unicode_literals
import django.contrib.postgres.indexes
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('catalog', '0004_news_search_vector'),
]
operations = [
migrations.AddIndex(
model_name='news',
index=django.contrib.postgres.indexes.GinIndex(fields=[b'search_vector'], name='catalog_new_search__62ed1c_gin'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-12-13 00:06
# Generated by Django 1.11.10 on 2018-02-14 15:50
from __future__ import unicode_literals
from django.conf import settings
......@@ -11,7 +11,7 @@ class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('catalog', '0006_auto_20171126_0109'),
('catalog', '0004_search'),
]
operations = [
......@@ -19,6 +19,7 @@ class Migration(migrations.Migration):
name='Profile',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('subscriptions', models.ManyToManyField(to='catalog.Publisher')),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
......
# -*- coding: utf-8 -*-
# Generated by Django 1.11.9 on 2018-01-31 20:50
# Generated by Django 1.11.10 on 2018-02-14 15:50
from __future__ import unicode_literals
from django.db import migrations, models
......@@ -9,7 +9,7 @@ import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('catalog', '0014_auto_20171221_1820'),
('catalog', '0005_profile'),
]
operations = [
......@@ -17,8 +17,8 @@ class Migration(migrations.Migration):
name='audioTime',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('startDate', models.DateTimeField(verbose_name=b'Start Date')),
('seconds', models.BigIntegerField(default=0)),
('startDate', models.DateTimeField(verbose_name='Start Date')),
('minutes', models.BigIntegerField(default=0)),
('publisher', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='catalog.Publisher')),
],
),
......
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-11-26 01:09
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('catalog', '0005_auto_20170819_2050'),
]
operations = [
migrations.AlterField(
model_name='publisher',
name='crawler',
field=models.CharField(default=b'', max_length=64),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-12-13 01:57
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('catalog', '0007_profile'),
]
operations = [
migrations.AddField(
model_name='profile',
name='subscriptions',
field=models.ManyToManyField(to='catalog.Publisher'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-12-14 18:52
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('catalog', '0009_search'),
]
operations = [
migrations.AlterField(
model_name='search',
name='publishers',
field=models.ManyToManyField(blank=True, to='catalog.Publisher'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-12-18 18:43
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('catalog', '0010_auto_20171214_1852'),
]
operations = [
migrations.AlterField(
model_name='search',
name='text',
field=models.CharField(blank=True, max_length=128),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-12-21 16:47
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('catalog', '0011_auto_20171218_1843'),
]
operations = [
migrations.AlterField(
model_name='search',
name='endDate',
field=models.DateTimeField(blank=True, verbose_name=b'End Date'),
),
migrations.AlterField(
model_name='search',
name='startDate',
field=models.DateTimeField(blank=True, verbose_name=b'Start Date'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-12-21 17:28
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('catalog', '0012_auto_20171221_1647'),
]
operations = [
migrations.AlterField(
model_name='search',
name='endDate',
field=models.DateTimeField(blank=True, null=True, verbose_name=b'End Date'),
),
migrations.AlterField(
model_name='search',
name='startDate',
field=models.DateTimeField(blank=True, null=True, verbose_name=b'Start Date'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.7 on 2017-12-21 18:20
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('catalog', '0013_auto_20171221_1728'),
]
operations = [
migrations.AlterField(
model_name='search',
name='endDate',
field=models.DateTimeField(verbose_name=b'End Date'),
),
migrations.AlterField(
model_name='search',
name='startDate',
field=models.DateTimeField(verbose_name=b'Start Date'),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.11.9 on 2018-01-31 21:05
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('catalog', '0015_audiotime'),
]
operations = [
migrations.RenameField(
model_name='audiotime',
old_name='seconds',
new_name='minutes',
),
]
......@@ -79,9 +79,7 @@ class Search(models.Model):
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
subscriptions = models.ManyToManyField(Publisher)
# def __init__(self, *args, **kwargs):
# self.subscriptions = Publisher.objects.all()
# super().__init__(*args, **kwargs)
@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):
......
......@@ -31,7 +31,10 @@
<div class="panel-body">
<div id="audioCalendar"></div>
<div id="audioDiv">audio tag</div>
<div id="audioDiv">
<audio id="audioPlay" controls>
</audio>
</div>
<!-- /.table-responsive -->
</div>
......@@ -57,6 +60,8 @@
<script>
function getAudioList(publisher, startdate, enddate)
{
url = "/catalog/ws/playlist/?startdate="+startdate+"&enddate="+enddate+"&publisher="+publisher;
console.log(url);
var xmlhttp;
if (window.XMLHttpRequest)
{//IE7+, Firefox, Chrome, Opera, Safari
......@@ -74,10 +79,11 @@ function getAudioList(publisher, startdate, enddate)
var jsonObj = JSON.parse(xmlhttp.responseText);
console.log(jsonObj);
var audioDiv = document.getElementById("audioDiv");
audioDiv.appendChild(document.createElement("audio"));
}
}
xmlhttp.open("GET", "/catalog/ws/playlist/?startdate="+startdate+"&enddate="+enddate+"&publisher="+publisher,true);
xmlhttp.open("GET", url ,true);
xmlhttp.send();
};
$(document).ready(function () {
......@@ -110,16 +116,16 @@ $(document).ready(function () {
function rangeChanged(target, range) {
console.log(range);
var audioDiv = document.getElementById("audioDiv");
while (audioDiv.firstChild)
audioDiv.removeChild(audioDiv.firstChild);
var sound = document.createElement('audio');
sound.id = 'audio-player';
sound.controls = 'controls';
sound.src = 'media/Blue Browne.mp3';
sound.type = 'audio/mpeg';
audioDiv.appendChild(sound);
//var audioDiv = document.getElementById("audioDiv");
// while (audioDiv.firstChild)
// audioDiv.removeChild(audioDiv.firstChild);
// var sound = document.createElement('audio');
// sound.id = 'audio-player';
// sound.controls = 'controls';
// sound.src = 'media/Blue Browne.mp3';
// sound.type = 'audio/mpeg';
// audioDiv.appendChild(sound);
getAudioList("{{publisher.shortName}}",range.start,range.end);
}
......
......@@ -23,10 +23,10 @@ urlpatterns = [
url(r'^audio/$', views.audioList, name='audio'),
url(r'^audio/(?P<publisher>\w+)$', views.audioPublisher, name='audio'),
url(r'^settings/$', views.settings, name='settings'),
url(r'^settings/profile$', views.settings, name='settings-profile'),
url(r'^settings/subscriptions$', views.settings, name='settings-subscriptions'),
url(r'^settings/password$', views.settings, name='settings-password'),
url(r'^settings/$', views.settingsView, name='settings'),
url(r'^settings/profile$', views.settingsView, name='settings-profile'),
url(r'^settings/subscriptions$', views.settingsView, name='settings-subscriptions'),
url(r'^settings/password$', views.settingsView, name='settings-password'),
url(r'^settings/searches$', views.settingsSearches, name='settings-search'),
]
......
......@@ -5,7 +5,7 @@ from django.shortcuts import render
# Create your views here.
from django.conf import settings
from catalog.models import Publisher, News, Search, audioTime
from django.core.exceptions import ObjectDoesNotExist
from django.shortcuts import redirect
......@@ -27,20 +27,38 @@ import dateutil.parser
import urllib
import json
import StringIO
#import StringIO #python2
from io import StringIO #python3
import time
import zipfile
import csv
from quantiphy import Quantity
from .audioList import getAudioList
#from .audioList import getAudioList
from numpy import array_equal
import os
import shutil
#-------------------------------------------------------------------------------
def getAudiosList2Convert(streamPublisher, initTimestamp, endTimestamp, days):
def getAudiosList2Convert(request, streamPublisher, initTimestamp, endTimestamp, days):
if not request.session.session_key:
request.session.save()
session_id = request.session.session_key
cwd = settings.BASE_DIR
print ("CDW: " + cwd)
directory = cwd+"/catalog/static/audioPlayList/sessions/"+session_id+"/"
if not os.path.exists(directory):
os.mkdir(directory)
else:
shutil.rmtree(directory)
os.mkdir(directory)
recordingsPath = '/home/mario/virtualHDD/m3/recordings/'
initialDate = datetime.fromtimestamp(initTimestamp) #+ timedelta(hours=6)
endDate = datetime.fromtimestamp(endTimestamp) #+ timedelta(hours=6)
initialDate = datetime.datetime.fromtimestamp(initTimestamp) #+ timedelta(hours=6)
endDate = datetime.datetime.fromtimestamp(endTimestamp) #+ timedelta(hours=6)
audiosList = []
......@@ -58,19 +76,20 @@ def getAudiosList2Convert(streamPublisher, initTimestamp, endTimestamp, days):
for file in os.listdir(recordingsPath+audiosPath):
audioTimestamp = int(file.split(".")[0])
if audioTimestamp >= initTimestamp and audioTimestamp <= endTimestamp:
audiosList.append(recordingsPath+audiosPath+file)
#audiosList.append((recordingsPath+audiosPath, file))
audiosList.append(audiosPath+file)
os.symlink(recordingsPath+audiosPath+file, directory+file)
# Next day dir
initialDate += timedelta(days=1)
initialDate += datetime.timedelta(days=1)
return audiosList
#-------------------------------------------------------------------------------
def getRecordingDays(initTimestamp, endTimestamp):
initialDate = datetime.fromtimestamp(initTimestamp) #+ timedelta(hours=6)
endDate = datetime.fromtimestamp(endTimestamp) #+ timedelta(hours=6)
initialDate = datetime.datetime.fromtimestamp(initTimestamp) #+ timedelta(hours=6)
endDate = datetime.datetime.fromtimestamp(endTimestamp) #+ timedelta(hours=6)
print(initialDate)
print(endDate)
......@@ -85,18 +104,18 @@ def getRecordingDays(initTimestamp, endTimestamp):
else:
while not array_equal(iDate, eDate):
days += 1
initialDate += timedelta(days=1)
initialDate += datetime.timedelta(days=1)
iDate = [initialDate.day, initialDate.month, initialDate.year]
return days
#-------------------------------------------------------------------------------
def getAudiosList(streamPublisher, initTimestamp, endTimestamp):
def getAudiosList(request, streamPublisher, initTimestamp, endTimestamp):
initTimestamp = float(initTimestamp)
endTimestamp = float(endTimestamp)
days = getRecordingDays(initTimestamp, endTimestamp)
print('Recording days: {0}'.format(days))
audiosList = getAudiosList2Convert(streamPublisher, initTimestamp, endTimestamp, days)
audiosList = getAudiosList2Convert(request, streamPublisher, initTimestamp, endTimestamp, days)
return audiosList
#-------------------------------------------------------------------------------
......@@ -112,7 +131,7 @@ def news2JSON(news):
data.append(item)
return data
#-------------------------------------------------------------------------------
def settings(request):
def settingsView(request):
# form = ProfileForm( initial={'subscriptions':[ v for v in request.user.profile.subscriptions.all().values_list('id', flat=True)]})
print ("subS",[ v for v in request.user.profile.subscriptions.all().values_list('id', flat=True)])
......@@ -205,7 +224,7 @@ def index(request):
for q in queryset:
myRequest = request.GET.copy()
myRequest.update({"publishers":q['publisher']})
urlDict[q['publisher']] = urllib.urlencode(myRequest)
urlDict[q['publisher']] = urllib.parse.urlencode(myRequest)
# print (urlDict)
donutChart = [{"label": Publisher.objects.get(id=q['publisher']).name, "value":q["count"], "url":urlDict[q['publisher']]} for q in queryset]
......@@ -250,7 +269,7 @@ def publisherList(request, type="all"):
if 'publishers' in myRequest:
del myRequest['publishers']
return render(request,'publisherList.html',{"form":form, "publishers":publishers, "queryurl":urllib.urlencode(myRequest)})
return render(request,'publisherList.html',{"form":form, "publishers":publishers, "queryurl":urllib.parse.urlencode(myRequest)})
#-------------------------------------------------------------------------------
def newsList(request, publisherShortName="all"):
......@@ -262,14 +281,15 @@ def wsAudioList(request):
data = dict()
print("wsAudioList", request.GET)
startDate = dateutil.parser.parse(request.GET['startdate']).strftime('%s')
endDate = dateutil.parser.parse(request.GET['enddate']).strftime('%s')
print ("STARTDATE", startDate)
audioList = getAudioList(request.GET['publisher'], startDate, endDate)
# audioList = getAudioList('RadioFormula1041', '1512158400', '1512396000')
audioList = getAudiosList(request, request.GET['publisher'], startDate, endDate)
# audioList = getAudiosList(request, 'RadioFormula1041', '1512158400', '1512396000')
print ("audioList", audioList)
return HttpResponse(json.dumps(data), content_type="application/json")
return HttpResponse(json.dumps(audioList), content_type="application/json")
#-------------------------------------------------------------------------------
def wsSearchList(request):
......@@ -281,15 +301,13 @@ def wsSearchList(request):
data['recordsTotal'] = searches.count()
data['recordsFiltered'] = searches.count()
return HttpResponse(json.dumps(data), content_type="application/json")
#-------------------------------------------------------------------------------
def wsNewsList2(request):
news = getNewsByRequest(request)
data = [{"id":n.id, "text":n.text, "date":n.date.strftime('%Y-%m-%d')} for n in news]
data = [{"id":n.id, "publisher":n.publisher.name, "text":n.text, "date":n.date.strftime('%Y-%m-%d')} for n in news]
return HttpResponse(json.dumps(data), content_type="application/json")
#-------------------------------------------------------------------------------
def wsNewsList(request):#, publisherShortName="all"):
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment