""" Populate ERPNext Website Content with real DiDi platform content. All text content is managed here - website pulls from ERPNext CMS. """ import frappe import json def execute(): populate_homepage() populate_services() populate_about() populate_contact() populate_privacy() populate_terms() frappe.db.commit() print("\n=== Content populated ===\n") def upsert(page_slug, section_key, content_ro, content_en, display_order=0, extra_data=""): """Create or update Website Content entry.""" name = f"{page_slug}-{section_key}" if frappe.db.exists("Website Content", name): doc = frappe.get_doc("Website Content", name) doc.content_ro = content_ro doc.content_en = content_en doc.display_order = display_order doc.extra_data = extra_data doc.is_active = 1 doc.save(ignore_permissions=True) else: doc = frappe.get_doc({ "doctype": "Website Content", "page_slug": page_slug, "section_key": section_key, "content_ro": content_ro, "content_en": content_en, "display_order": display_order, "extra_data": extra_data, "is_active": 1, }) doc.insert(ignore_permissions=True) print(f" {name}") def populate_homepage(): print("[1/6] Homepage...") upsert("homepage", "hero_title", "Combate dezinformarea cu inteligenta artificiala", "Fight disinformation with artificial intelligence", 1) upsert("homepage", "hero_subtitle", "Platforma DiDi de la Clossers analizeaza automat continut media — text, imagini, audio si video — pentru a detecta dezinformarea si a verifica informatiile in timp real.", "The DiDi platform by Clossers automatically analyzes media content — text, images, audio and video — to detect disinformation and verify information in real time.", 2) upsert("homepage", "hero_cta", "Incepe gratuit", "Start free", 3, json.dumps({"link": "/pricing", "secondary_text_ro": "Descopera serviciile", "secondary_text_en": "Discover services", "secondary_link": "/services"})) upsert("homepage", "features", "Servicii de detectie si analiza", "Detection and analysis services", 10, json.dumps([ {"icon": "text", "title_ro": "Analiza Text & NLP", "title_en": "Text Analysis & NLP", "desc_ro": "Detectie automata a propagandei, limbajului manipulativ si a informatiilor false din articole si postari", "desc_en": "Automatic detection of propaganda, manipulative language and false information from articles and posts"}, {"icon": "image", "title_ro": "Detectie Deepfake", "title_en": "Deepfake Detection", "desc_ro": "Identificare imagini si videoclipuri generate sau manipulate prin AI, inclusiv face-swap si lip-sync", "desc_en": "Identification of AI-generated or manipulated images and videos, including face-swap and lip-sync"}, {"icon": "check", "title_ro": "Fact-Checking Automat", "title_en": "Automated Fact-Checking", "desc_ro": "Verificare automata a afirmatiilor cu surse oficiale, baze de date credibile si articole de presa verificate", "desc_en": "Automatic verification of claims with official sources, credible databases and verified press articles"}, {"icon": "source", "title_ro": "Evaluare Surse", "title_en": "Source Assessment", "desc_ro": "Scor de credibilitate pentru domenii web, publicatii si conturi social media cu analiza in profunzime", "desc_en": "Credibility score for web domains, publications and social media accounts with in-depth analysis"}, ])) upsert("homepage", "how_it_works", "Cum functioneaza DiDi", "How DiDi works", 20, json.dumps([ {"step": 1, "title_ro": "Incarca continutul", "title_en": "Upload content", "desc_ro": "Trimite un text, URL, imagine sau video pentru analiza. Suportam toate formatele majore.", "desc_en": "Submit a text, URL, image or video for analysis. We support all major formats."}, {"step": 2, "title_ro": "Analiza AI multi-model", "title_en": "Multi-model AI analysis", "desc_ro": "6 module AI specializate ruleaza in paralel: analiza text, detectie deepfake, fact-checking, evaluare surse, detectie tehnici de manipulare si monitorizare.", "desc_en": "6 specialized AI modules run in parallel: text analysis, deepfake detection, fact-checking, source assessment, manipulation technique detection and monitoring."}, {"step": 3, "title_ro": "Validare Human-in-the-Loop", "title_en": "Human-in-the-Loop validation", "desc_ro": "Expertii nostri verifica si valideaza rezultatele AI pentru acuratete maxima. Combinam viteza AI cu expertiza umana.", "desc_en": "Our experts verify and validate AI results for maximum accuracy. We combine AI speed with human expertise."}, {"step": 4, "title_ro": "Raport detaliat", "title_en": "Detailed report", "desc_ro": "Primesti un raport complet: scor de incredere, dovezi, surse, tehnici identificate si recomandari. Export PDF disponibil.", "desc_en": "Receive a complete report: confidence score, evidence, sources, identified techniques and recommendations. PDF export available."}, ])) upsert("homepage", "stats", "DiDi in cifre", "DiDi in numbers", 30, json.dumps([ {"value": "6", "label_ro": "Module AI specializate", "label_en": "Specialized AI modules"}, {"value": "18+", "label_ro": "Tehnici de manipulare detectate", "label_en": "Manipulation techniques detected"}, {"value": "<30s", "label_ro": "Timp mediu analiza", "label_en": "Average analysis time"}, {"value": "99.5%", "label_ro": "Disponibilitate platforma", "label_en": "Platform availability"}, ])) upsert("homepage", "use_cases", "Cine foloseste DiDi?", "Who uses DiDi?", 40, json.dumps([ {"title_ro": "Redactii & Jurnalisti", "title_en": "Newsrooms & Journalists", "desc_ro": "Verificare rapida a informatiilor inainte de publicare. Detectie surse nesigure si continut manipulat.", "desc_en": "Quick information verification before publishing. Detection of unreliable sources and manipulated content."}, {"title_ro": "Agentii de comunicare", "title_en": "Communication agencies", "desc_ro": "Monitorizare spatiu mediatic, analiza narrativa si protectie brand impotriva dezinformarii.", "desc_en": "Media space monitoring, narrative analysis and brand protection against disinformation."}, {"title_ro": "Institutii publice", "title_en": "Public institutions", "desc_ro": "Detectie campanii de dezinformare care vizeaza institutii, alegeri sau politici publice.", "desc_en": "Detection of disinformation campaigns targeting institutions, elections or public policies."}, {"title_ro": "Cercetatori", "title_en": "Researchers", "desc_ro": "API si instrumente de analiza pentru studiul fenomenului dezinformarii in proiecte academice.", "desc_en": "API and analysis tools for studying the disinformation phenomenon in academic projects."}, {"title_ro": "ONG-uri & Fact-checkeri", "title_en": "NGOs & Fact-checkers", "desc_ro": "Automatizare si accelerare a procesului de verificare cu instrumente profesionale.", "desc_en": "Automation and acceleration of the verification process with professional tools."}, {"title_ro": "Companii", "title_en": "Companies", "desc_ro": "Protectia reputatiei impotriva stirilor false. Monitorizare si alerte automate.", "desc_en": "Reputation protection against fake news. Automated monitoring and alerts."}, ])) def populate_services(): print("[2/6] Services...") modules_data = [ {"id": "text-analysis", "order": 1, "title_ro": "Analiza Text & NLP", "title_en": "Text Analysis & NLP", "subtitle_ro": "Detectie automata a dezinformarii din articole, postari si documente", "subtitle_en": "Automatic detection of disinformation from articles, posts and documents", "desc_ro": "Motorul nostru de procesare a limbajului natural analizeaza textul la nivel semantic, identificand tipare de manipulare, limbaj emotional excesiv, afirmatii neverificabile si inconsistente factuale. Suporta limba romana si engleza cu modele antrenate pe corpus media local.", "desc_en": "Our natural language processing engine analyzes text at semantic level, identifying manipulation patterns, excessive emotional language, unverifiable claims and factual inconsistencies. Supports Romanian and English with models trained on local media corpus.", "capabilities_ro": ["Detectie propaganda si limbaj manipulativ", "Analiza sentimentului si a tonului emotional", "Identificare afirmatii factuale vs. opinii", "Detectie clickbait si titluri inselatoare", "Analiza coerenta narativa", "Suport limba romana si engleza"], "capabilities_en": ["Propaganda and manipulative language detection", "Sentiment and emotional tone analysis", "Factual claims vs opinions identification", "Clickbait and misleading headline detection", "Narrative coherence analysis", "Romanian and English support"]}, {"id": "deepfake", "order": 2, "title_ro": "Detectie Deepfake & Manipulare Media", "title_en": "Deepfake & Media Manipulation Detection", "subtitle_ro": "Identificare imagini si videoclipuri manipulate prin AI", "subtitle_en": "Identification of AI-manipulated images and videos", "desc_ro": "Modulul de analiza vizuala foloseste retele neuronale convolutionale si transformere vizuale pentru a detecta manipulari la nivel de pixel, artefacte de generare AI, inconsistente in iluminare si geometrie faciala.", "desc_en": "The visual analysis module uses convolutional neural networks and visual transformers to detect pixel-level manipulations, AI generation artifacts, lighting inconsistencies and facial geometry.", "capabilities_ro": ["Detectie imagini generate de AI (DALL-E, Midjourney, Stable Diffusion)", "Detectie deepfake video (face-swap, lip-sync)", "Analiza artefacte JPEG si metadata EXIF", "Detectie splice, copy-move, inpainting", "Verificare autenticitate fotografii", "Analiza consistenta iluminare si umbre"], "capabilities_en": ["AI-generated image detection (DALL-E, Midjourney, Stable Diffusion)", "Deepfake video detection (face-swap, lip-sync)", "JPEG artifacts and EXIF metadata analysis", "Splice, copy-move, inpainting detection", "Photo authenticity verification", "Lighting and shadow consistency analysis"]}, {"id": "fact-checking", "order": 3, "title_ro": "Fact-Checking Automat", "title_en": "Automated Fact-Checking", "subtitle_ro": "Verificare automata a afirmatiilor cu surse credibile", "subtitle_en": "Automatic claim verification with credible sources", "desc_ro": "Sistemul de fact-checking extrage automat afirmatiile verificabile din text, le compara cu baze de date de fapte verificate, surse oficiale si articole de presa credibile. Foloseste tehnici de retrieval-augmented generation (RAG) si reranking.", "desc_en": "The fact-checking system automatically extracts verifiable claims from text, compares them with verified fact databases, official sources and credible press articles. Uses retrieval-augmented generation (RAG) and reranking techniques.", "capabilities_ro": ["Extractie automata a afirmatiilor verificabile", "Cautare in baze de date de fact-checking", "Verificare cu surse oficiale (INS, Eurostat, OMS)", "Scor de credibilitate cu explicatii", "Linkuri directe catre surse", "Istoric verificari"], "capabilities_en": ["Automatic verifiable claim extraction", "Fact-checking database search", "Official source verification (INS, Eurostat, WHO)", "Credibility score with explanations", "Direct source links", "Verification history"]}, {"id": "source-assessment", "order": 4, "title_ro": "Evaluare Surse & Domenii", "title_en": "Source & Domain Assessment", "subtitle_ro": "Analiza credibilitatii surselor de informare", "subtitle_en": "Information source credibility analysis", "desc_ro": "Modulul de evaluare a surselor analizeaza domenii web, publicatii si conturi de social media pentru a determina nivelul de credibilitate. Combina indicatori tehnici cu indicatori editoriali.", "desc_en": "The source assessment module analyzes web domains, publications and social media accounts to determine credibility level. Combines technical and editorial indicators.", "capabilities_ro": ["Scor credibilitate domeniu (0-100)", "Verificare WHOIS si istoric domeniu", "Analiza retea de link-uri", "Detectie site-uri clone si typosquatting", "Monitorizare reputatie", "Baza de date surse de dezinformare"], "capabilities_en": ["Domain credibility score (0-100)", "WHOIS and domain history verification", "Link network analysis", "Clone sites and typosquatting detection", "Reputation monitoring", "Disinformation source database"]}, {"id": "techniques", "order": 5, "title_ro": "Detectie Tehnici de Manipulare", "title_en": "Manipulation Technique Detection", "subtitle_ro": "Identificarea tehnicilor de propaganda si dezinformare", "subtitle_en": "Identification of propaganda and disinformation techniques", "desc_ro": "Bazat pe taxonomia tehnicilor de propaganda dezvoltata in cercetare academica, acest modul identifica si clasifica tehnicile specifice de manipulare folosite intr-un text. De la apel la emotii pana la whataboutism si cherry-picking.", "desc_en": "Based on the propaganda techniques taxonomy developed in academic research, this module identifies and classifies specific manipulation techniques used in text. From appeal to emotions to whataboutism and cherry-picking.", "capabilities_ro": ["Clasificare pe 18+ tehnici de propaganda", "Apel la emotii (frica, furie, empatie falsa)", "Apel la autoritate falsa sau anonima", "Generalizari pripite si stereotipuri", "Whataboutism si false echivalente", "Cherry-picking si scoatere din context"], "capabilities_en": ["Classification of 18+ propaganda techniques", "Appeal to emotions (fear, anger, false empathy)", "Appeal to false or anonymous authority", "Hasty generalizations and stereotypes", "Whataboutism and false equivalences", "Cherry-picking and out-of-context"]}, {"id": "monitoring", "order": 6, "title_ro": "Monitorizare Media & Alerte", "title_en": "Media Monitoring & Alerts", "subtitle_ro": "Supraveghere continua a spatiului informational", "subtitle_en": "Continuous information space surveillance", "desc_ro": "Sistemul de monitorizare scaneaza in timp real surse media, retele sociale si site-uri de stiri pentru a identifica narrativa dezinformante emergente. Alertele automate notifica echipa cand se detecteaza campanii coordonate.", "desc_en": "The monitoring system scans media sources, social networks and news sites in real time to identify emerging disinformation narratives. Automatic alerts notify the team when coordinated campaigns are detected.", "capabilities_ro": ["Monitorizare 24/7 surse media si social media", "Detectie narrativa emergente si trenduri", "Alerte automate pe email si in dashboard", "Identificare campanii coordonate", "Harta de raspandire a dezinformarii", "Rapoarte periodice automate"], "capabilities_en": ["24/7 media and social media monitoring", "Emerging narrative and trend detection", "Automatic email and dashboard alerts", "Coordinated campaign identification", "Disinformation spread map", "Automatic periodic reports"]}, ] for mod in modules_data: upsert("services", f"module_{mod['id']}", f"

{mod['title_ro']}

{mod['subtitle_ro']}

{mod['desc_ro']}

", f"

{mod['title_en']}

{mod['subtitle_en']}

{mod['desc_en']}

", mod["order"], json.dumps({ "id": mod["id"], "title_ro": mod["title_ro"], "title_en": mod["title_en"], "subtitle_ro": mod["subtitle_ro"], "subtitle_en": mod["subtitle_en"], "desc_ro": mod["desc_ro"], "desc_en": mod["desc_en"], "capabilities_ro": mod["capabilities_ro"], "capabilities_en": mod["capabilities_en"], })) def populate_about(): print("[3/6] About...") upsert("about", "hero", "

Despre Clossers si platforma DiDi

TOP CLOSSERS SRL dezvolta solutii digitale inovatoare pentru combaterea dezinformarii si protectia spatiului informational romanesc si european.

", "

About Clossers and the DiDi platform

TOP CLOSSERS SRL develops innovative digital solutions for combating disinformation and protecting the Romanian and European information space.

", 1) upsert("about", "mission", "

Misiunea noastra

DiDi (Platforma Digitala Inteligenta pentru Prevenirea si Combaterea Dezinformarii) este raspunsul nostru la una dintre cele mai mari provocari ale erei digitale: dezinformarea. Combinam inteligenta artificiala de ultima generatie cu expertiza umana pentru a oferi instrumente profesionale de verificare a informatiilor.

", "

Our mission

DiDi (Intelligent Digital Platform for Preventing and Combating Disinformation) is our answer to one of the biggest challenges of the digital era: disinformation. We combine cutting-edge artificial intelligence with human expertise to provide professional information verification tools.

", 2) upsert("about", "project", "

Proiect PNRR

Platforma DiDi este dezvoltata in cadrul proiectului finantat prin Planul National de Redresare si Rezilienta (PNRR), Componenta C9 - Suport pentru sectorul privat, cercetare, dezvoltare si inovare, Investitia I3 - Scheme de ajutor pentru sectorul privat. Contract de finantare nr. 11.1.i3.c9/10.05.2024.

", "

PNRR Project

The DiDi platform is developed within the project funded by the National Recovery and Resilience Plan (NRRP), Component C9 - Support for private sector, research, development and innovation, Investment I3 - Aid schemes for private sector. Funding contract no. 11.1.i3.c9/10.05.2024.

", 3) upsert("about", "technology", "

Tehnologie

Platforma DiDi integreaza multiple modele AI/ML intr-o arhitectura de orchestrare multi-model. Fiecare tip de analiza (text, imagine, video, fact-checking) este procesat de module specializate care ruleaza in paralel, oferind rezultate in timp real. Arhitectura este containerizata, scalabila si gazduita in cloud pe servere din Uniunea Europeana.

", "

Technology

The DiDi platform integrates multiple AI/ML models in a multi-model orchestration architecture. Each type of analysis (text, image, video, fact-checking) is processed by specialized modules running in parallel, providing real-time results. The architecture is containerized, scalable and hosted in cloud on EU servers.

", 4) upsert("about", "company", "", "", 5, json.dumps({ "name": "TOP CLOSSERS SRL", "cui": "36193026", "reg_com": "J2022000345035", "address": "Str. Targovistei 15, Bl. 2, Et. 3, Ap. 22, Ploiesti, Prahova 100299", "email": "office@clossers.com", "phone": "+40721063078", "website": "https://clossers.com", })) def populate_contact(): print("[4/6] Contact...") upsert("contact", "title", "

Contacteaza-ne

Ai intrebari despre platforma DiDi sau vrei sa discutam despre nevoile tale? Echipa noastra iti sta la dispozitie.

", "

Contact us

Have questions about the DiDi platform or want to discuss your needs? Our team is here to help.

", 1) upsert("contact", "info", "", "", 2, json.dumps({ "email": "office@clossers.com", "phone": "+40721063078", "address_ro": "Str. Targovistei 15, Bl. 2, Et. 3, Ap. 22\nPloiesti, Prahova 100299\nRomania", "address_en": "15 Targovistei St., Bl. 2, Fl. 3, Ap. 22\nPloiesti, Prahova 100299\nRomania", "schedule_ro": "Luni - Vineri, 09:00 - 18:00", "schedule_en": "Monday - Friday, 09:00 - 18:00", })) def populate_privacy(): print("[5/6] Privacy...") upsert("privacy", "content", """

Politica de Confidentialitate

Ultima actualizare: 30 martie 2026

1. Introducere

TOP CLOSSERS SRL (CUI: 36193026), cu sediul in Ploiesti, Str. Targovistei 15, opereaza platforma DiDi si site-ul clossers.com. Respectam confidentialitatea datelor dumneavoastra personale si ne conformam Regulamentului General privind Protectia Datelor (GDPR - Regulamentul UE 2016/679).

2. Date colectate

Colectam urmatoarele categorii de date:

3. Scopul prelucrarii

4. Temeiul legal

5. Stocarea datelor

Toate datele sunt stocate exclusiv pe servere localizate in Uniunea Europeana, conform cerintelor GDPR. Datele sunt criptate in tranzit (TLS 1.2+) si la repaus (AES-256).

6. Drepturile dumneavoastra

Conform GDPR, aveti dreptul la:

7. Contact DPO

Pentru exercitarea drepturilor sau intrebari privind protectia datelor: office@clossers.com

""", """

Privacy Policy

Last updated: March 30, 2026

1. Introduction

TOP CLOSSERS SRL (Tax ID: 36193026), headquartered in Ploiesti, 15 Targovistei St., operates the DiDi platform and clossers.com website. We respect the privacy of your personal data and comply with the General Data Protection Regulation (GDPR - EU Regulation 2016/679).

2. Data collected

3. Purpose

4. Your rights

Under GDPR: access, rectification, erasure, portability, objection. Contact: office@clossers.com

""", 1) def populate_terms(): print("[6/6] Terms...") upsert("terms", "content", """

Termeni si Conditii

Ultima actualizare: 30 martie 2026

1. Definitii

2. Servicii oferite

Platforma DiDi ofera servicii de analiza automata a continutului media (text, imagini, audio, video) pentru detectarea dezinformarii, prin intermediul unor module AI specializate: analiza text, detectie deepfake, fact-checking automat, evaluare surse, detectie tehnici de manipulare si monitorizare media.

3. Inregistrare si cont

Accesul la servicii necesita crearea unui cont. Utilizatorul este responsabil pentru securitatea credentialelor de acces si pentru toate activitatile desfasurate prin contul sau.

4. Planuri si plata

Serviciile sunt disponibile in mai multe planuri (Free, Paid, Enterprise). Platile sunt procesate securizat prin Stripe. Facturile sunt generate automat si disponibile in dashboard.

5. Utilizare acceptabila

Utilizatorul se obliga sa nu foloseasca platforma pentru:

6. Proprietate intelectuala

Platforma DiDi, algoritmii, modelele AI si documentatia sunt proprietatea TOP CLOSSERS SRL. Utilizatorul pastreaza drepturile asupra continutului incarcat pentru analiza.

7. Limitarea raspunderii

Rezultatele analizelor DiDi sunt furnizate ca instrumente de suport decizional si nu constituie adevar absolut. TOP CLOSSERS SRL nu raspunde pentru decizii luate exclusiv pe baza rezultatelor platformei.

8. Legislatie aplicabila

Prezentii termeni sunt guvernati de legislatia din Romania. Orice litigiu va fi solutionat de instantele competente din Ploiesti, Romania.

9. Contact

office@clossers.com | +40 721 063 078

""", """

Terms and Conditions

Last updated: March 30, 2026

1. Definitions

2. Services

DiDi provides automated media content analysis services for disinformation detection through specialized AI modules.

3. Payment

Services available in Free, Paid, Enterprise plans. Payments processed via Stripe. Invoices generated automatically.

4. Acceptable use

Users must not use the platform for illegal activities, copyright infringement, security attacks, or abusive automation.

5. Governing law

Romanian law applies. Disputes resolved by Ploiesti courts.

6. Contact

office@clossers.com

""", 1)