from django.core.management.base import BaseCommand
from django.utils import timezone
from datetime import datetime, timedelta
from news.models import News, NewsCategory, NewsTag
from core.models import CustomUser
from django.contrib.auth import get_user_model
import random

class Command(BaseCommand):
    help = 'Create dummy news data for Desa Pulo Sarok, Aceh Singkil'

    def handle(self, *args, **options):
        self.stdout.write('Creating dummy news data for Desa Pulo Sarok...')
        
        # Get or create admin user
        admin_user, created = CustomUser.objects.get_or_create(
            username='admin',
            defaults={
                'email': 'admin@pulosarok.desa.id',
                'first_name': 'Administrator',
                'last_name': 'Desa Pulo Sarok',
                'is_staff': True,
                'is_superuser': True
            }
        )
        
        # Get or create categories
        categories_data = [
            {'name': 'Pemerintahan Desa', 'slug': 'pemerintahan-desa', 'description': 'Berita tentang pemerintahan dan kebijakan desa'},
            {'name': 'Pembangunan', 'slug': 'pembangunan', 'description': 'Berita tentang pembangunan infrastruktur desa'},
            {'name': 'Sosial Budaya', 'slug': 'sosial-budaya', 'description': 'Berita tentang kegiatan sosial dan budaya masyarakat'},
            {'name': 'Ekonomi', 'slug': 'ekonomi', 'description': 'Berita tentang perkembangan ekonomi desa'},
            {'name': 'Lingkungan', 'slug': 'lingkungan', 'description': 'Berita tentang kelestarian lingkungan hidup'},
            {'name': 'Pendidikan', 'slug': 'pendidikan', 'description': 'Berita tentang pendidikan dan pengembangan SDM'},
            {'name': 'Kesehatan', 'slug': 'kesehatan', 'description': 'Berita tentang kesehatan masyarakat'},
        ]
        
        categories = {}
        for cat_data in categories_data:
            category, created = NewsCategory.objects.get_or_create(
                slug=cat_data['slug'],
                defaults=cat_data
            )
            categories[cat_data['slug']] = category
            if created:
                self.stdout.write(f'Created category: {category.name}')
        
        # Get or create tags
        tags_data = [
            {'name': 'Pulo Sarok', 'slug': 'pulo-sarok'},
            {'name': 'Aceh Singkil', 'slug': 'aceh-singkil'},
            {'name': 'Gotong Royong', 'slug': 'gotong-royong'},
            {'name': 'Pembangunan', 'slug': 'pembangunan'},
            {'name': 'Budaya', 'slug': 'budaya'},
            {'name': 'Lingkungan', 'slug': 'lingkungan'},
            {'name': 'Masyarakat', 'slug': 'masyarakat'},
            {'name': 'Pemerintah Desa', 'slug': 'pemerintah-desa'},
            {'name': 'Pendidikan', 'slug': 'pendidikan'},
            {'name': 'Kesehatan', 'slug': 'kesehatan'},
            {'name': 'Ekonomi', 'slug': 'ekonomi'},
        ]
        
        tags = {}
        for tag_data in tags_data:
            tag, created = NewsTag.objects.get_or_create(
                slug=tag_data['slug'],
                defaults=tag_data
            )
            tags[tag_data['slug']] = tag
            if created:
                self.stdout.write(f'Created tag: {tag.name}')
        
        # News data based on real information about Desa Pulo Sarok
        news_data = [
            {
                'title': 'Masyarakat Pulo Sarok Bersatu dalam Aksi Bersih Sampah Menyambut HUT Kabupaten Aceh Singkil',
                'slug': 'aksi-bersih-sampah-hut-aceh-singkil',
                'content': '''
                <p>Desa Pulo Sarok, Aceh Singkil - Dalam rangka menyambut Hari Ulang Tahun ke-25 Kabupaten Aceh Singkil, masyarakat Desa Pulo Sarok bersama kelompok pemuda dan pemerintah desa mengadakan aksi gotong royong membersihkan sampah di sekitar simpang pelabuhan crude palm oil (CPO) atau dekat Pelabuhan Sahbandar Pulo Sarok.</p>
                
                <p>Kegiatan yang digelar pada 21 April 2024 ini melibatkan seluruh komponen masyarakat, mulai dari tokoh masyarakat, pemuda, hingga ibu-ibu PKK. Aksi bersih-bersih ini bertujuan untuk menjaga kebersihan lingkungan dan menciptakan suasana yang bersih dan indah dalam menyambut perayaan HUT Kabupaten Aceh Singkil.</p>
                
                <p>Kepala Desa Pulo Sarok, Bapak Ahmad Fauzi, mengapresiasi semangat gotong royong masyarakat yang begitu tinggi. "Kegiatan ini menunjukkan bahwa masyarakat Pulo Sarok memiliki kesadaran tinggi akan pentingnya menjaga kebersihan lingkungan," ujarnya.</p>
                
                <p>Selama kegiatan berlangsung, masyarakat membersihkan berbagai jenis sampah yang menumpuk di sekitar pelabuhan, termasuk sampah plastik, dedaunan, dan sampah organik lainnya. Hasil sampah yang terkumpul kemudian dibuang ke tempat pembuangan sampah yang telah disediakan.</p>
                
                <p>Kegiatan ini diharapkan dapat menjadi momentum untuk meningkatkan kesadaran masyarakat akan pentingnya menjaga kebersihan lingkungan dan dapat dilaksanakan secara rutin di masa mendatang.</p>
                ''',
                'excerpt': 'Masyarakat Desa Pulo Sarok mengadakan aksi gotong royong membersihkan sampah di sekitar pelabuhan untuk menyambut HUT Kabupaten Aceh Singkil.',
                'category': categories['sosial-budaya'],
                'tags': [tags['pulo-sarok'], tags['aceh-singkil'], tags['gotong-royong'], tags['lingkungan']],
                'status': 'published',
                'is_featured': True,
                'is_breaking': False,
                'priority': 3,
                'published_date': timezone.now() - timedelta(days=30)
            },
            {
                'title': 'Desa Pulo Sarok Diusulkan Menjadi Desa Budaya oleh Disdikbud Aceh Singkil',
                'slug': 'pulo-sarok-desa-budaya-disdikbud',
                'content': '''
                <p>Aceh Singkil - Dinas Pendidikan dan Kebudayaan (Disdikbud) Aceh Singkil mengusulkan Desa Pulo Sarok bersama dua desa lainnya untuk menjadi desa budaya ke Balai Pelestarian Kebudayaan Aceh (BPKA).</p>
                
                <p>Usulan ini disampaikan pada 23 Desember 2024 dengan tujuan melestarikan dan menjaga warisan adat dan budaya yang ada di Desa Pulo Sarok. Kepala Disdikbud Aceh Singkil, Drs. Muhammad Ali, menjelaskan bahwa Desa Pulo Sarok memiliki potensi budaya yang sangat kaya dan perlu dilestarikan.</p>
                
                <p>"Desa Pulo Sarok memiliki tradisi dan adat istiadat yang unik yang perlu kita jaga dan lestarikan. Dengan menjadi desa budaya, kita berharap dapat mengembangkan potensi budaya yang ada," jelas Muhammad Ali.</p>
                
                <p>Beberapa tradisi budaya yang dimiliki Desa Pulo Sarok antara lain tradisi gotong royong, seni tari tradisional, dan berbagai ritual adat yang masih dilaksanakan hingga saat ini. Tradisi-tradisi ini menjadi kekayaan budaya yang tidak ternilai harganya.</p>
                
                <p>Pemerintah Desa Pulo Sarok menyambut baik usulan ini dan berkomitmen untuk mendukung program pelestarian budaya. "Kami siap mendukung program ini demi melestarikan budaya leluhur kita," ujar Kepala Desa Pulo Sarok.</p>
                ''',
                'excerpt': 'Disdikbud Aceh Singkil mengusulkan Desa Pulo Sarok menjadi desa budaya untuk melestarikan warisan adat dan budaya.',
                'category': categories['sosial-budaya'],
                'tags': [tags['pulo-sarok'], tags['aceh-singkil'], tags['budaya'], tags['pemerintah-desa']],
                'status': 'published',
                'is_featured': True,
                'is_breaking': False,
                'priority': 2,
                'published_date': timezone.now() - timedelta(days=45)
            },
            {
                'title': 'Pembangunan Jembatan Pulo Sarok Menimbulkan Keluhan Masyarakat',
                'slug': 'pembangunan-jembatan-pulo-sarok-keluhan',
                'content': '''
                <p>Pulo Sarok, Aceh Singkil - Proyek pembangunan jembatan di Desa Pulo Sarok menimbulkan keluhan dari masyarakat karena tidak disediakannya jalan alternatif selama proses pembangunan. Hal ini menyebabkan warga harus menempuh jarak lebih jauh untuk ke pasar atau mengantar anak ke sekolah.</p>
                
                <p>Keluhan ini disampaikan oleh sejumlah warga pada September 2024. Mereka mengaku kesulitan dalam menjalankan aktivitas sehari-hari karena akses jalan yang terbatas. "Kami harus memutar jauh untuk ke pasar atau mengantar anak sekolah," ujar salah satu warga.</p>
                
                <p>Pembangunan jembatan ini merupakan bagian dari program pembangunan infrastruktur yang dilakukan oleh pemerintah daerah. Namun, tampaknya perencanaan pembangunan belum mempertimbangkan kebutuhan masyarakat akan jalan alternatif.</p>
                
                <p>Masyarakat berharap pemerintah dapat menyediakan jalan alternatif atau mempercepat proses pembangunan agar tidak mengganggu aktivitas masyarakat. Mereka juga meminta komunikasi yang lebih baik antara pemerintah dan masyarakat dalam setiap program pembangunan.</p>
                
                <p>Kepala Desa Pulo Sarok mengaku telah menyampaikan keluhan masyarakat kepada pihak terkait dan berusaha mencari solusi terbaik untuk mengatasi masalah ini.</p>
                ''',
                'excerpt': 'Pembangunan jembatan di Desa Pulo Sarok menimbulkan keluhan masyarakat karena tidak ada jalan alternatif.',
                'category': categories['pembangunan'],
                'tags': [tags['pulo-sarok'], tags['aceh-singkil'], tags['pembangunan'], tags['masyarakat']],
                'status': 'published',
                'is_featured': False,
                'is_breaking': True,
                'priority': 4,
                'published_date': timezone.now() - timedelta(days=60)
            },
            {
                'title': 'Desa Pulo Sarok Jadi Pionir Program Desa Cinta Statistik di Aceh Singkil',
                'slug': 'pulo-sarok-desa-cantik-bps',
                'content': '''
                <p>Aceh Singkil - Desa Pulo Sarok resmi menjadi desa binaan Badan Pusat Statistik (BPS) dalam program Desa Cinta Statistik (Desa Cantik). Program ini diluncurkan pada 7 Mei 2025 dengan tujuan meningkatkan kapabilitas aparatur desa dalam pengelolaan data statistik yang akurat dan valid.</p>
                
                <p>Program Desa Cantik ini merupakan inisiatif BPS untuk membantu desa dalam mengelola data statistik yang diperlukan untuk perencanaan pembangunan. Desa Pulo Sarok dipilih sebagai pionir karena memiliki komitmen yang tinggi dalam pengelolaan data.</p>
                
                <p>Kepala BPS Aceh Singkil, Drs. Ahmad Yani, menjelaskan bahwa program ini akan memberikan pelatihan kepada aparatur desa dalam pengelolaan data statistik. "Kami akan memberikan pelatihan intensif kepada aparatur desa agar mereka mampu mengelola data dengan baik," ujarnya.</p>
                
                <p>Program ini mencakup pelatihan dalam pengumpulan data, pengolahan data, dan penyajian data statistik. Dengan kemampuan ini, diharapkan desa dapat menyusun perencanaan pembangunan yang lebih tepat sasaran.</p>
                
                <p>Kepala Desa Pulo Sarok menyambut baik program ini dan berkomitmen untuk mengikuti seluruh rangkaian pelatihan yang diselenggarakan. "Kami siap menjadi contoh bagi desa-desa lain dalam pengelolaan data statistik," ujarnya.</p>
                ''',
                'excerpt': 'Desa Pulo Sarok menjadi pionir program Desa Cinta Statistik (Desa Cantik) yang digagas BPS Aceh Singkil.',
                'category': categories['pemerintahan-desa'],
                'tags': [tags['pulo-sarok'], tags['aceh-singkil'], tags['pembangunan'], tags['pemerintah-desa']],
                'status': 'published',
                'is_featured': True,
                'is_breaking': False,
                'priority': 2,
                'published_date': timezone.now() - timedelta(days=15)
            },
            {
                'title': 'Kebakaran Hutan Melanda Desa Pulo Sarok, Empat Hektare Lahan Terbakar',
                'slug': 'kebakaran-hutan-pulo-sarok-aceh-singkil',
                'content': '''
                <p>Pulo Sarok, Aceh Singkil - Kebakaran hutan dan lahan melanda wilayah Desa Pulo Sarok pada 2 Juni 2025, menghanguskan sekitar empat hektare lahan. Peristiwa ini menimbulkan keprihatinan masyarakat dan memerlukan upaya pemadaman yang serius.</p>
                
                <p>Kebakaran yang terjadi di lahan perkebunan dan hutan sekunder ini diduga disebabkan oleh cuaca kering dan kemungkinan aktivitas manusia yang tidak bertanggung jawab. Tim gabungan dari BPBD, TNI, Polri, dan masyarakat setempat segera melakukan upaya pemadaman.</p>
                
                <p>Kepala BPBD Aceh Singkil, Ir. Hasan Basri, menyatakan bahwa tim gabungan telah dikerahkan untuk memadamkan api dan mencegah meluasnya kebakaran. "Kami telah mengerahkan seluruh tim dan peralatan yang ada untuk memadamkan api," ujarnya.</p>
                
                <p>Masyarakat Desa Pulo Sarok turut serta membantu upaya pemadaman dengan menyediakan air dan peralatan sederhana. Gotong royong masyarakat menjadi kunci dalam mengatasi bencana ini.</p>
                
                <p>Penyebab kebakaran masih dalam penyelidikan oleh pihak berwenang. Masyarakat diimbau untuk lebih berhati-hati dalam menggunakan api dan melaporkan jika melihat aktivitas mencurigakan.</p>
                ''',
                'excerpt': 'Kebakaran hutan melanda Desa Pulo Sarok menghanguskan empat hektare lahan, tim gabungan melakukan pemadaman.',
                'category': categories['lingkungan'],
                'tags': [tags['pulo-sarok'], tags['aceh-singkil'], tags['lingkungan'], tags['masyarakat']],
                'status': 'published',
                'is_featured': False,
                'is_breaking': True,
                'priority': 5,
                'published_date': timezone.now() - timedelta(days=5)
            },
            {
                'title': 'DTPHP Aceh Singkil Dukung Program Ketahanan Pangan di Desa Pulo Sarok',
                'slug': 'dtphp-dukung-ketahanan-pangan-pulo-sarok',
                'content': '''
                <p>Aceh Singkil - Dinas Tanaman Pangan, Hortikultura, dan Peternakan (DTPHP) Aceh Singkil mendukung pemerintah Desa Pulo Sarok dalam memanfaatkan lahan tidur seluas sekitar satu hektare untuk program ketahanan pangan.</p>
                
                <p>Dukungan ini diberikan pada 27 Maret 2023 dengan memberikan bantuan bibit jagung sebanyak 15 kilogram untuk ditanam di lahan yang sebelumnya tidak produktif. Program ini bertujuan meningkatkan ketahanan pangan di tingkat desa.</p>
                
                <p>Kepala DTPHP Aceh Singkil, Ir. Siti Aminah, menjelaskan bahwa program ini merupakan bagian dari upaya pemerintah dalam meningkatkan produksi pangan lokal. "Kita harus memanfaatkan setiap jengkal lahan yang ada untuk meningkatkan produksi pangan," ujarnya.</p>
                
                <p>Lahan seluas satu hektare di Desa Pulo Sarok akan ditanami jagung dengan sistem tanam yang efisien. Masyarakat desa akan dilibatkan dalam proses penanaman dan perawatan tanaman.</p>
                
                <p>Program ini diharapkan dapat menjadi model bagi desa-desa lain dalam mengelola lahan tidur untuk ketahanan pangan. Hasil panen jagung nantinya akan dimanfaatkan untuk kebutuhan pangan masyarakat desa.</p>
                ''',
                'excerpt': 'DTPHP Aceh Singkil memberikan bantuan bibit jagung untuk program ketahanan pangan di Desa Pulo Sarok.',
                'category': categories['ekonomi'],
                'tags': [tags['pulo-sarok'], tags['aceh-singkil'], tags['pembangunan'], tags['masyarakat']],
                'status': 'published',
                'is_featured': False,
                'is_breaking': False,
                'priority': 3,
                'published_date': timezone.now() - timedelta(days=90)
            },
            {
                'title': 'Wagub Aceh Dek Fad Tinjau Penerima Bantuan Rumah Layak Huni di Pulo Sarok',
                'slug': 'wagub-aceh-tinjau-bantuan-rumah-pulo-sarok',
                'content': '''
                <p>Aceh Singkil - Wakil Gubernur Aceh, Fadlullah (Dek Fad), mengunjungi Kabupaten Aceh Singkil dan meninjau calon penerima bantuan rumah layak huni di Pulo Sarok, Jalan Bahari pada 19 Maret 2025.</p>
                
                <p>Dalam kunjungan tersebut, Dek Fad berdialog langsung dengan Bustami, salah satu warga penerima bantuan, dan memberikan bantuan sembako sebagai bentuk kepedulian pemerintah terhadap masyarakat yang membutuhkan.</p>
                
                <p>"Program bantuan rumah layak huni ini merupakan bentuk kepedulian pemerintah terhadap masyarakat yang membutuhkan. Kami berkomitmen untuk membantu masyarakat memiliki rumah yang layak huni," ujar Dek Fad.</p>
                
                <p>Program bantuan rumah layak huni ini merupakan bagian dari program pemerintah Aceh dalam meningkatkan kesejahteraan masyarakat. Desa Pulo Sarok menjadi salah satu desa yang menerima bantuan ini.</p>
                
                <p>Bustami sebagai penerima bantuan mengucapkan terima kasih kepada pemerintah atas bantuan yang diberikan. "Alhamdulillah, kami mendapat bantuan rumah layak huni. Ini sangat membantu keluarga kami," ujarnya.</p>
                
                <p>Kunjungan Wagub Aceh ini menunjukkan komitmen pemerintah dalam memastikan program bantuan tepat sasaran dan bermanfaat bagi masyarakat yang membutuhkan.</p>
                ''',
                'excerpt': 'Wakil Gubernur Aceh Dek Fad meninjau penerima bantuan rumah layak huni di Desa Pulo Sarok.',
                'category': categories['pemerintahan-desa'],
                'tags': [tags['pulo-sarok'], tags['aceh-singkil'], tags['pembangunan'], tags['masyarakat']],
                'status': 'published',
                'is_featured': True,
                'is_breaking': False,
                'priority': 2,
                'published_date': timezone.now() - timedelta(days=20)
            },
            {
                'title': 'Peningkatan Akses Pendidikan di Desa Pulo Sarok Melalui Program Bantuan Beasiswa',
                'slug': 'bantuan-beasiswa-pendidikan-pulo-sarok',
                'content': '''
                <p>Pulo Sarok, Aceh Singkil - Pemerintah Desa Pulo Sarok bekerjasama dengan Yayasan Pendidikan Aceh Singkil meluncurkan program bantuan beasiswa untuk anak-anak kurang mampu di desa ini. Program ini bertujuan meningkatkan akses pendidikan berkualitas bagi seluruh anak di Desa Pulo Sarok.</p>
                
                <p>Program beasiswa ini memberikan bantuan biaya pendidikan mulai dari tingkat SD hingga SMA/SMK. Selain itu, program ini juga memberikan bantuan buku pelajaran dan perlengkapan sekolah lainnya.</p>
                
                <p>Kepala Desa Pulo Sarok, Ahmad Fauzi, menyatakan bahwa pendidikan adalah investasi terbaik untuk masa depan anak-anak. "Kita harus memastikan bahwa tidak ada anak di desa kita yang putus sekolah karena masalah biaya," ujarnya.</p>
                
                <p>Program ini telah membantu 25 anak di Desa Pulo Sarok untuk melanjutkan pendidikan mereka. Para penerima beasiswa dipilih berdasarkan kriteria ekonomi dan prestasi akademik.</p>
                
                <p>Yayasan Pendidikan Aceh Singkil berkomitmen untuk terus mendukung program ini dan berharap dapat memperluas jangkauan bantuan ke desa-desa lain di Aceh Singkil.</p>
                ''',
                'excerpt': 'Program bantuan beasiswa diluncurkan untuk meningkatkan akses pendidikan anak-anak kurang mampu di Desa Pulo Sarok.',
                'category': categories['pendidikan'],
                'tags': [tags['pulo-sarok'], tags['aceh-singkil'], tags['pendidikan'], tags['masyarakat']],
                'status': 'published',
                'is_featured': False,
                'is_breaking': False,
                'priority': 3,
                'published_date': timezone.now() - timedelta(days=75)
            },
            {
                'title': 'Program Posyandu Desa Pulo Sarok Raih Penghargaan Posyandu Terbaik Se-Aceh Singkil',
                'slug': 'posyandu-pulo-sarok-raih-penghargaan',
                'content': '''
                <p>Aceh Singkil - Program Posyandu Desa Pulo Sarok berhasil meraih penghargaan sebagai Posyandu Terbaik se-Kabupaten Aceh Singkil pada tahun 2024. Penghargaan ini diberikan atas prestasi luar biasa dalam memberikan pelayanan kesehatan kepada masyarakat, khususnya ibu dan anak.</p>
                
                <p>Posyandu Desa Pulo Sarok dinilai berhasil dalam berbagai aspek, mulai dari kelengkapan sarana prasarana, kualitas pelayanan, hingga partisipasi masyarakat. Program posyandu ini melayani lebih dari 200 keluarga di desa ini.</p>
                
                <p>Kepala Puskesmas Aceh Singkil, dr. Siti Nurhaliza, mengapresiasi kinerja Posyandu Desa Pulo Sarok. "Posyandu ini menjadi contoh bagi posyandu lain dalam memberikan pelayanan kesehatan yang berkualitas," ujarnya.</p>
                
                <p>Program Posyandu Desa Pulo Sarok tidak hanya memberikan pelayanan kesehatan dasar, tetapi juga melakukan edukasi kesehatan, pemberian makanan tambahan, dan pemantauan tumbuh kembang balita.</p>
                
                <p>Kepala Desa Pulo Sarok mengucapkan terima kasih kepada semua pihak yang telah mendukung program posyandu. "Penghargaan ini adalah hasil kerja keras kader posyandu dan dukungan masyarakat," ujarnya.</p>
                ''',
                'excerpt': 'Posyandu Desa Pulo Sarok meraih penghargaan sebagai Posyandu Terbaik se-Kabupaten Aceh Singkil tahun 2024.',
                'category': categories['kesehatan'],
                'tags': [tags['pulo-sarok'], tags['aceh-singkil'], tags['kesehatan'], tags['masyarakat']],
                'status': 'published',
                'is_featured': True,
                'is_breaking': False,
                'priority': 2,
                'published_date': timezone.now() - timedelta(days=10)
            }
        ]
        
        # Create news articles
        created_count = 0
        for news_item in news_data:
            # Check if news already exists
            if not News.objects.filter(slug=news_item['slug']).exists():
                news = News.objects.create(
                    title=news_item['title'],
                    slug=news_item['slug'],
                    content=news_item['content'],
                    excerpt=news_item['excerpt'],
                    category=news_item['category'],
                    author=admin_user,
                    status=news_item['status'],
                    is_featured=news_item['is_featured'],
                    is_breaking=news_item['is_breaking'],
                    priority=news_item['priority'],
                    published_date=news_item['published_date']
                )
                
                # Add tags
                for tag in news_item['tags']:
                    news.tags.add(tag)
                
                created_count += 1
                self.stdout.write(f'Created news: {news.title}')
            else:
                self.stdout.write(f'News already exists: {news_item["title"]}')
        
        self.stdout.write(
            self.style.SUCCESS(f'Successfully created {created_count} news articles for Desa Pulo Sarok')
        )
