Merge remote-tracking branch 'fox/master'

This commit is contained in:
Corentin Chary
2012-07-28 11:32:41 +02:00
19 changed files with 102 additions and 52 deletions

View File

@ -10,18 +10,18 @@ class Migration(DataMigration):
def forwards(self, orm):
every_day = orm["djcelery.CrontabSchedule"].objects.create(
minute = "00",
hour = "01",
day_of_week = "*",
day_of_month = "*",
month_of_year = "*"
minute="00",
hour="01",
day_of_week="*",
day_of_month="*",
month_of_year="*"
)
every_week = orm["djcelery.CrontabSchedule"].objects.create(
minute = "00",
hour = "03",
day_of_week = "1",
day_of_month = "*",
month_of_year = "*"
minute="00",
hour="03",
day_of_week="1",
day_of_month="*",
month_of_year="*"
)
orm["djcelery.PeriodicTask"].objects.create(
name="Daily portage update",

View File

@ -217,6 +217,7 @@ class EuscanResult(models.Model):
self.full_clean()
super(EuscanResult, self).save(*args, **kwargs)
@property
def messages(self):
result = json.loads(self.result)
@ -324,6 +325,13 @@ class RefreshPackageQuery(models.Model):
priority = models.IntegerField(default=0)
users = models.ManyToManyField(User)
@property
def position(self):
ordered = RefreshPackageQuery.objects.all().order_by("-priority")
for pos, obj in enumerate(ordered, start=1):
if obj == self:
return pos
def __unicode__(self):
return u'[%d] %s' % (self.priority, self.package)

View File

@ -54,7 +54,8 @@ class ScanMetadata(object):
return
except Exception as e:
self.logger.error(
self.style.ERROR('%s/%s: %s' % (pkg.category, pkg.name, str(e)))
self.style.ERROR('%s/%s: %s' %
(pkg.category, pkg.name, str(e)))
)
return

View File

@ -173,7 +173,7 @@ def update_portage(packages=None):
@task
def update_upstream():
if settings.TASKS_UPSTREAM_GROUPS >= 1:
packages = Package.objects.all()
packages = Package.objects.all().order_by("pk")
scan_upstream_sub = group_chunks(scan_upstream, packages,
settings.TASKS_UPSTREAM_GROUPS,

View File

@ -33,7 +33,7 @@
{% endif %}
{% endwith %}
{{ package.last_version_gentoo.version }}
{{ package.last_version_gentoo.version|truncatechars:15 }}
</td>
<td>{{ package.last_version_overlay.version }}</td>
<td>{{ package.last_version_upstream.version }}</td>

View File

@ -11,7 +11,9 @@
{{ block.super }}
<li>
<img src="{{ STATIC_URL }}/img/feed.png" alt="feed" />
<a title="{{ category }} Feed" href="{% url "category_feed" category %}">{{ category }}</a>
<a title="{{ category }} Feed" href="{% url "category_feed" category %}">
{{ category|truncatechars:15 }}
</a>
</li>
{% endblock %}

View File

@ -11,7 +11,9 @@
{{ block.super }}
<li>
<img src="{{ STATIC_URL }}/img/feed.png" alt="feed" />
<a title="{{ herd.herd }} Feed" href="{% url "herd_feed" herd.herd %}">{{ herd.herd }}</a>
<a title="{{ herd.herd }} Feed" href="{% url "herd_feed" herd.herd %}">
{{ herd.herd|truncatechars:15 }}
</a>
</li>
{% endblock %}

View File

@ -12,7 +12,7 @@
<li>
<img src="{{ STATIC_URL }}/img/feed.png" alt="feed" />
<a title="{{ maintainer.name }} Feed" href="{% url "maintainer_feed" maintainer.id %}">
{{ maintainer.name }}
{{ maintainer.name|truncatechars:15 }}
</a>
</li>
{% endblock %}

View File

@ -14,7 +14,7 @@
<li>
<img src="{{ STATIC_URL }}/img/feed.png" alt="feed" />
<a title="{{ package }} Feed" href="{% url "package_feed" package.category package.name %}">
{{ package }}
{{ package|truncatechars:15 }}
</a>
</li>
{% endblock %}
@ -25,8 +25,9 @@
{% block content %}
<div class="refresh-alert alert {% if not refreshed %}hide{% endif %}">
A refresh request is in progress, please wait...
<div class="refresh-alert alert {% if not refresh_pos %}hide{% endif %}">
<p>A refresh request is in progress, please wait...</p>
<p>Queue position: <span id="refresh-pos">{{ refresh_pos }}</span></p>
</div>
<h2>
@ -34,10 +35,10 @@
{% if user.is_authenticated %}
<span class="pull-right">
<button class="btn refresh-button {% if refreshed %}hide{% endif %}" data-category="{{ package.category }}" data-package="{{ package.name }}">
<button class="btn refresh-button {% if refresh_requested %}hide{% endif %}" data-category="{{ package.category }}" data-package="{{ package.name }}">
<img src="{{ STATIC_URL}}/img/refresh-active.png" alt="Refresh" >
</button>
<button class="btn refresh-button-disabled disabled {% if not refreshed %}hide{% endif %}">
<button class="btn refresh-button-disabled disabled {% if not refresh_requested %}hide{% endif %}">
<img src="{{ STATIC_URL}}/img/refresh-inactive.png" alt="Refresh" >
</button>
<button class="btn favourite-button {% if favourited %}hide{% endif %}" data-url="{% url "favourite_package" package.category package.name %}">
@ -67,9 +68,10 @@
$(".refresh-button").click(function() {
var url = "{% url "refresh_package" "XXX" "YYY" %}";
$.post(url.replace("XXX", $(this).data("category")).replace("YYY", $(this).data("package")),
function() {
function(data) {
$(".refresh-button").addClass("hide");
$(".refresh-button-disabled").removeClass("hide");
$("#refresh-pos").text(data.position);
$(".refresh-alert").show("slow");
});
});

View File

@ -195,10 +195,13 @@ def package(request, category, package):
favourited = True
try:
refreshed = request.user in \
RefreshPackageQuery.objects.get(package=package).users.all()
refresh_query = RefreshPackageQuery.objects.get(package=package)
except RefreshPackageQuery.DoesNotExist:
refreshed = False
refresh_requested = False
refresh_pos = None
else:
refresh_requested = request.user in refresh_query.users.all()
refresh_pos = refresh_query.position
return {
'package': package,
@ -206,10 +209,11 @@ def package(request, category, package):
'upstream': upstream,
'vlog': vlog,
'log': log,
'msg': log.messages() if log else "",
'msg': log.messages if log else "",
'last_scan': last_scan,
'favourited': favourited,
'refreshed': refreshed,
'refresh_requested': refresh_requested,
'refresh_pos': refresh_pos,
}
@ -245,7 +249,7 @@ def problem(request, category, package):
'package': package,
'packaged': packaged,
'upstream': upstream,
'msg': log.messages() if log else "",
'msg': log.messages if log else "",
}
@ -369,7 +373,8 @@ def refresh_package(request, category, package):
if not created:
obj.priority += 1
obj.save()
return {"result": "success"}
return {"result": "success", "position": obj.position}
@login_required