Bullet: E-Book Library Management and Content Server

I have a solution to the problem and Windows 8 gave me some inspiration. I was thinking about writing a Windows 8 app that implemented some of the features of Calibre, but thought it would be a lot of work with little pay off. I want to work on Windows 8 apps, but I don't think right now is a good time. That doesn't mean that the solution couldn't be web based and it also means that the Windows 8 solution will be mostly complete. The goal shouldn't be to replace Calibre. I know that is foolish. Calibre is awesome at what it does and has plenty of time and effort going into it. What I want is a easier library management, searching, and content server. I'll be stripping out the majority of the features of Calibre and focusing on simply the library element and the content server. Therefore it really won't be Calibre, it will be a separate product that clones the content server for devices that support it.

It'll also depend on Calibre, since I'm not going to be implementing the e-book conversion. Calibre has a command line conversion tool that I will use. Thus using the best feature of Calibre and not spending months developing my own conversion tool.

I'm working on the throwaway first version and have the directory structure. I'll be using web.py for the web controller, Mako for the views, and SQLAlchemy for the Model library. Given the awesomeness of Django, I might switch to that at some point. I simply want to prototype a version and see how well it goes.

I found out one of the use cases for my dislike of Calibre. The problem is that it often copies files for its library for organization. The issue I think is that the original file still exists, creating duplicates. The reason, I was told by an independent party, that if you had a temporary location: removable or network drive, then it is better to move the file to a location known by Calibre. The issue is that it also does this with hard disk drives that won't be removed at any point in the near future.

It seems then, that I have to check whether the drive I'm on is a hard disk or removable. If it is even possible to know. I think I'm going to ask, until I research a way to figure out how to tell whether a drive is removable that is also cross-platform. I think this must be the reason for its decision. It simply seems inefficient and could create a circular problem when the Calibre library is in the directory you are pulling the books.

Actually, I think I have a solution, but it isn't something I'm going to do in the first version. On Windows at least there are various options and one of them is to access the Removable Drive option list and provide an option for loading the e-books on the removable drive to another location. The first version will have an option in the settings to allow for transferring a location to the content library location.

I think this compromise would be neat. I can't wait to get started on the e-book library management. I'll probably be spending the next couple of days working on this and see how far I get. It isn't however the two projects I wanted to work on. However, the work on this will help with the project I'm having the most difficulty motivating myself.

The name "Bullet" is a play on Calibre and is tentative until I find a better name or end up liking the name and keeping it.