--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldtplatform/management/commands/setpublic.py Fri Apr 28 13:20:39 2017 +0200
@@ -0,0 +1,52 @@
+'''
+set just created medias and contents public
+'''
+import csv
+
+from django.conf import settings
+from django.core.management.base import BaseCommand
+from django.contrib.auth.models import Group
+
+from ldt.security.cache import cached_assign
+from ldt.ldt_utils.models import Content, Media
+
+
+class Command(BaseCommand):
+ '''
+ command
+ '''
+
+ def add_arguments(self, parser):
+ '''
+ add arguments
+ '''
+ parser.add_argument('-p',
+ nargs='+',
+ dest='pathes',
+ default=None)
+
+ def handle(self, *args, **options):
+ '''
+ handle command
+ '''
+ sources = []
+ for path in options['pathes']:
+ self.stdout.write(path)
+ try:
+ csvfile = open(path, 'r')
+ except IOError:
+ self.stdout.write('file can\'t be opened')
+ continue
+ files = csv.reader(csvfile)
+ sources += list([content[0] for content in files])
+ csvfile.close()
+ everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME)
+ for source in sources:
+ media = Media.objects.get(src=source)
+ content = Content.objects.get(media_obj_id=media.id)
+ content.is_public = True
+ content.save()
+ cached_assign('view_content', everyone, content)
+ cached_assign('view_media', everyone, media)
+
+
\ No newline at end of file