Show More
@@ -0,0 +1,20 b'' | |||
|
1 | from django.core.management import BaseCommand | |
|
2 | from django.db import transaction | |
|
3 | ||
|
4 | from boards.models import GlobalId | |
|
5 | ||
|
6 | __author__ = 'neko259' | |
|
7 | ||
|
8 | ||
|
9 | class Command(BaseCommand): | |
|
10 | help = 'Removes local global ID cache' | |
|
11 | ||
|
12 | @transaction.atomic | |
|
13 | def handle(self, *args, **options): | |
|
14 | count = 0 | |
|
15 | for global_id in GlobalId.objects.all(): | |
|
16 | if global_id.is_local() and global_id.content is not None: | |
|
17 | global_id.content = None | |
|
18 | global_id.save() | |
|
19 | count += 1 | |
|
20 | print('Invalidated {} caches.'.format(count)) |
@@ -3,8 +3,8 b" STATUS_BUMPLIMIT = 'bumplimit'" | |||
|
3 | 3 | STATUS_ARCHIVE = 'archived' |
|
4 | 4 | |
|
5 | 5 | |
|
6 | from boards.models.sync_key import KeyPair | |
|
6 | 7 | from boards.models.signature import GlobalId, Signature |
|
7 | from boards.models.sync_key import KeyPair | |
|
8 | 8 | from boards.models.image import PostImage |
|
9 | 9 | from boards.models.attachment import Attachment |
|
10 | 10 | from boards.models.thread import Thread |
@@ -43,6 +43,9 b" ATTR_MIMETYPE = 'mimetype'" | |||
|
43 | 43 | ATTR_KEY = 'key' |
|
44 | 44 | ATTR_REF = 'ref' |
|
45 | 45 | ATTR_URL = 'url' |
|
46 | ATTR_ID_TYPE = 'id-type' | |
|
47 | ||
|
48 | ID_TYPE_MD5 = 'md5' | |
|
46 | 49 | |
|
47 | 50 | STATUS_SUCCESS = 'success' |
|
48 | 51 | |
@@ -269,6 +272,7 b' class SyncManager:' | |||
|
269 | 272 | mimetype = get_file_mimetype(file) |
|
270 | 273 | attachment = et.SubElement(tag_attachments, TAG_ATTACHMENT) |
|
271 | 274 | attachment.set(ATTR_MIMETYPE, mimetype) |
|
275 | attachment.set(ATTR_ID_TYPE, ID_TYPE_MD5) | |
|
272 | 276 | attachment.text = hash |
|
273 | 277 | |
|
274 | 278 | attachment_ref = et.SubElement(tag_refs, TAG_ATTACHMENT_REF) |
@@ -1,5 +1,6 b'' | |||
|
1 | 1 | import xml.etree.ElementTree as et |
|
2 | 2 | from django.db import models |
|
3 | from boards.models import KeyPair | |
|
3 | 4 | |
|
4 | 5 | |
|
5 | 6 | TAG_MODEL = 'model' |
@@ -124,6 +125,11 b' class GlobalId(models.Model):' | |||
|
124 | 125 | key_type=element.get(ATTR_KEY_TYPE), |
|
125 | 126 | local_id=int(element.get(ATTR_LOCAL_ID))), False |
|
126 | 127 | |
|
128 | def is_local(self): | |
|
129 | """Checks fo the ID is local model's""" | |
|
130 | return KeyPair.objects.filter( | |
|
131 | key_type=self.key_type, public_key=self.key).exists() | |
|
132 | ||
|
127 | 133 | |
|
128 | 134 | class Signature(models.Model): |
|
129 | 135 | class Meta: |
General Comments 0
You need to be logged in to leave comments.
Login now