uqload_downloader_dart 1.0.2 copy "uqload_downloader_dart: ^1.0.2" to clipboard
uqload_downloader_dart: ^1.0.2 copied to clipboard

A Dart library for downloading videos from UQLoad.io

example/example.dart

import 'package:uqload_downloader_dart/uqload_downloader_dart.dart';

/// Exemple complet d'utilisation de UQLoad Downloader Dart
void main() async {
  print('🎬 === Exemple UQLoad Downloader Dart ===\n');

  // URL d'exemple UQLoad (remplacez par une vraie URL pour tester)
  const String videoUrl = 'https://uqload.cx/embed-abc123def456.html';

  // Exemple 1: Récupérer les informations d'une vidéo
  await demonstrateVideoInfo(videoUrl);

  // Exemple 2: Téléchargement avec barre de progression
  await demonstrateDownloadWithProgress(videoUrl);

  // Exemple 3: Téléchargement simple
  await demonstrateSimpleDownload(videoUrl);

  // Exemple 4: Validation d'URL et utilitaires
  demonstrateUtilities();

  print('\n✅ Tous les exemples sont terminĂ©s !');
  print('💡 Pour tester avec une vraie vidĂ©o, remplacez l\'URL dans le code.');
}

/// Exemple: Récupération des informations d'une vidéo
Future<void> demonstrateVideoInfo(String url) async {
  print('📋 === RĂ©cupĂ©ration des informations vidĂ©o ===');

  try {
    final downloader = UQLoad(url: url);

    print('🔍 RĂ©cupĂ©ration des informations...');
    final info = await downloader.getVideoInfo();

    print('✅ Informations rĂ©cupĂ©rĂ©es:');
    print('   đŸ“č Titre: ${info.title}');
    print('   📐 RĂ©solution: ${info.resolution ?? 'Inconnue'}');
    print('   ⏱  DurĂ©e: ${info.duration ?? 'Inconnue'}');
    print('   đŸ’Ÿ Taille: ${sizeOfFmt(info.size)}');
    print('   🔗 URL directe: ${info.url.substring(0, 50)}...');
  } catch (e) {
    print('❌ Erreur: $e');
  }
  print('');
}

/// Exemple: Téléchargement avec callback de progression
Future<void> demonstrateDownloadWithProgress(String url) async {
  print('đŸ“„ === TĂ©lĂ©chargement avec barre de progression ===');

  ProgressBar? progressBar;

  // Callback de progression personnalisé
  void onProgress(int downloaded, int total) {
    // Initialiser la barre de progression Ă  la premiĂšre utilisation
    progressBar ??= ProgressBar(total: total);
    progressBar!.update(downloaded);
  }

  try {
    final downloader = UQLoad(
      url: url,
      outputFile: 'ma_video_avec_progress',
      outputDir: './downloads',
      onProgressCallback: onProgress,
    );

    print('🚀 DĂ©marrage du tĂ©lĂ©chargement avec progression...');
    await downloader.download();
    print('\n✅ TĂ©lĂ©chargement terminĂ© avec succĂšs !');
  } catch (e) {
    print('❌ Erreur lors du tĂ©lĂ©chargement: $e');
  }
  print('');
}

/// Exemple: Téléchargement simple sans progression
Future<void> demonstrateSimpleDownload(String url) async {
  print('âŹ‡ïž  === TĂ©lĂ©chargement simple ===');

  try {
    // Téléchargement basique
    final downloader = UQLoad(url: url, outputFile: 'ma_video_simple');

    print('đŸ“„ TĂ©lĂ©chargement en cours...');
    await downloader.download();
    print('✅ TĂ©lĂ©chargement terminĂ© !');
  } catch (e) {
    print('❌ Erreur: $e');
  }
  print('');
}

/// Exemple: Utilisation des fonctions utilitaires
void demonstrateUtilities() {
  print('đŸ› ïž  === Fonctions utilitaires ===');

  // Test de validation d'URL
  final urls = [
    'https://uqload.cx/embed-abc123def456.html',
    'https://uqload.co/embed-xyz789.html',
    'https://google.com',
    'invalid-url',
  ];

  print('🔗 Validation des URLs:');
  for (final url in urls) {
    final isValid = isUqloadUrl(url);
    final status = isValid ? '✅' : '❌';
    print('   $status $url');
  }

  // Test de formatage des tailles
  print('\n📊 Formatage des tailles:');
  final sizes = [1024, 1048576, 1073741824, 1234567890];
  for (final size in sizes) {
    print('   $size bytes = ${sizeOfFmt(size)}');
  }

  // Test de nettoyage des caractÚres spéciaux
  print('\nđŸ§č Nettoyage des noms de fichiers:');
  final filenames = [
    'Vidéo Test@#File!.mp4',
    'Mon Film [2024].avi',
    'Série/Episode\\1.mkv',
  ];
  for (final filename in filenames) {
    print('   "$filename" → "${removeSpecialCharacters(filename)}"');
  }

  print('');
}
1
likes
155
points
75
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Dart library for downloading videos from UQLoad.io

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

args, http, path, uuid

More

Packages that depend on uqload_downloader_dart