MediaParser.cs
Description du code
MediaParser.cs est un fichier du projet BrolExplorer.Ce fichier est situé dans /var/www/bin/sniplets/bibliobrol/brolexplorer/.
Projet BrolExplorer :
Explorateur de media en CSharp.
Code source ou contenu du fichier
Code c# (MediaParser.cs) (162 lignes)
using System; using System.Collections.Generic; using System.Text; using System.ComponentModel; using System.IO; using be.gaudry.model.file; namespace be.gaudry.explorer.model { public class MediaParser : AbstractFileParser { #region constructors and declarations private List<String> extensions; private long minimumSize; private String searchText; private bool findDVD, findAllExtensions; public MediaParser():base() { minimumSize = 0L; findDVD = false; findAllExtensions = false; } #endregion #region properties public String SearchText { get { return this.searchText; } set { //ToUpper() not allowed on null objects this.searchText = (value != null) ? value.ToUpper() : null; } } public long MinimumSize { get { return minimumSize; } set { minimumSize = value; } } public bool FindDVD { get { return findDVD; } set { findDVD = value; } } public bool FindAllExtensions { get { return findAllExtensions; } set { findAllExtensions = value; } } public List<String> Extensions { get { return this.extensions; } set { this.extensions.Clear(); for (int i = 0; i < value.Count; i++) { if (!value[i].StartsWith(".")) extensions.Add(String.Format(".{0}", value[i]).ToUpper()); else extensions.Add(value[i].ToUpper()); } } } #endregion #region public methods public void addExtension(String extension) { if (!extension.StartsWith(".")) extensions.Add(String.Format(".{0}", extension).ToUpper()); else extensions.Add(extension.ToUpper()); } #endregion #region method to implement /// <summary> /// Do something on each file /// </summary> /// <param name="bgw">BackgroundWorker to perform cancel if needed, and report progress</param> /// <param name="e">DoWorkEventArgs to perform cancel if needed, and report progress</param> /// <param name="fi">FileInfo to check</param> /// <param name="percent">(int) Progress percentage</param> /// <param name="subDirDeep">Deep of the directory in comparison with start directory</param> /// <returns> /// true if we must stop the parsing of current directory (ie. if we have a vob file, we don't check the other files in this directory) /// false otherwise ///</returns> protected override bool performOnFile(BackgroundWorker bgw, DoWorkEventArgs e, FileInfo fi, int progressPercent, int subDirDeep) { if (findDVD) { if (".VOB".Equals(fi.Extension.ToUpper())) { string dvdName = "VIDEO_TS".Equals(fi.Directory.Name.ToUpper()) ? fi.Directory.Parent.Name : fi.Directory.Name; if (!testName(dvdName))//search by part of name { bgw.ReportProgress(progressPercent, null); return true; } long dirSize = FileHelper.getDirectoryLength(bgw, e, fi.Directory, IncludeSubFolders); if ( minimumSize > 0 && minimumSize > dirSize ) { bgw.ReportProgress(progressPercent, null); return true; } { fi.FullName, "DVD", dvdName, fi.Directory.FullName, dirSize }); return true; } } if (!testName(fi.Name))//search by part of name { bgw.ReportProgress(progressPercent, null); return false; } if (findAllExtensions || extensions.Contains(fi.Extension.ToUpper())) { long fileLength; try { fileLength = fi.Length; } catch (Exception) { fileLength = 0L; } if (minimumSize == 0L || fileLength > minimumSize) { { fi.FullName, fi.Extension.ToUpper(), fi.Name, fi.Directory.FullName , fi.Length }); } else bgw.ReportProgress(progressPercent, null); } else bgw.ReportProgress(progressPercent, null); return false; } #endregion #region private methods private bool testName(string fileName) { return searchText == null || searchText.Equals(string.Empty) || fileName.ToUpper().Contains(searchText); } #endregion } }
Structure et Fichiers du projet
Afficher/masquer...Icône | Nom | Taille | Modification |
Pas de sous-répertoires. | |||
Icône | Nom | Taille | Modification |
| _ | Répertoire parent | 0 octets | 1732198120 21/11/2024 15:08:40 |
Utilisation de l'explorateur de code
- Navigation :
- Un clic sur une icône de répertoire ouvre ce répertoire pour en afficher les fichiers.
- Lorsque le répertoire en cours ne contient pas de sous-répertoires il est possible de remonter vers le répertoire parent.
- La structure de répertoires en treetable (tableau en forme d'arborescence) n'est plus possibledans cette version.
- Un clic sur une icône de fichier ouvre ce fichier pour en afficher le code avec la coloration syntaxique adaptée en fonction du langage principal utilisé dans le fichier.
- Affichage :
- Il est possible de trier les répertoires ou les fichiers selon certains critères (nom, taille, date).
- Actions :
- Les actions possible sur les fichiers dépendent de vos droits d'utilisateur sur le site. Veuillez activer le mode utilisateur pour activer les actions.
Version en cache
21/11/2024 15:08:40 Cette version de la page est en cache (à la date du 21/11/2024 15:08:40) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/10/2009, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/cs-brolexplorer-source-rf-model/MediaParser.cs.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.