Skip to content

Instantly share code, notes, and snippets.

@timvw

timvw/gist:2759128

Created May 20, 2012
Embed
What would you like to do?
Add missing books to iTunes
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using iTunesLib;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
AddMissingBooksToItunes();
}
private static void AddMissingBooksToItunes()
{
var app = new iTunesApp();
foreach (var missingBook in AvailableBooksNotInItunes())
{
app.LibraryPlaylist.AddFile(missingBook);
}
}
private static IEnumerable<string> BooksInItunes()
{
var app = new iTunesApp();
return app.LibraryPlaylist.Tracks
.OfType<IITFileOrCDTrack>()
.Where(track => track.Location.EndsWith("*.pdf"))
.Select(track => track.Location);
}
private static string[] AvailbleBooks()
{
return Directory.GetFiles(@"C:\Users\timvw\Dropbox\ebooks", "*.pdf");
}
private static IEnumerable<string> AvailableBooksNotInItunes()
{
var availableBooks = AvailbleBooks();
var booksInItunes = BooksInItunes().ToArray();
return availableBooks.Where(book => !booksInItunes.Contains(book));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment