Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Software > Calibre

Notices

Reply
 
Thread Tools Search this Thread
Old 07-25-2010, 11:50 AM   #16
Starson17
Wizard
Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.
 
Posts: 4,004
Karma: 177841
Join Date: Dec 2009
Device: WinMo: IPAQ; Android: HTC HD2, Archos 7o; Java:Gravity T
Quote:
Originally Posted by Marcy View Post
The entries with no books attached have no file size.
I recall being told that size is rounded off. If true, they may still have a small book.

Quote:
The problem is that the whole calibre folder is wonky with some books missing.
Do you know how this happened? Regardless, you can move your library with the library function in 0.7.10, and it will separate your wonky folders that Calibre doesn't know about from those it does know about.

If all the leftovers have books in them, you could just auto-add them and the automatic merge would put them with the matching entries that have correct dates and other metadata.

Quote:
I need to make sure the right record is the dominant one in the merge process.
The automatic merge would avoid this problem.

Quote:
One of the most important items I need to keep is the date. I use it to keep track of my reading.
And this problem.

Quote:
The re-added files often add with today's date and I don't want to lose the old date.
New files always add with the current date. A slight problem when I wrote the merge function is that all records always have a date. There's no way to tell which is the "better" one, so it's always set to the first selected record in a manual merge. In an automatic add/merge the existing record is never touched, so its date is always the final one.
Starson17 is offline   Reply With Quote
Old 07-25-2010, 03:15 PM   #17
Marcy
Guru
Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.
 
Marcy's Avatar
 
Posts: 893
Karma: 950683
Join Date: Oct 2009
Device: Kobo Libra2
Quote:
Originally Posted by Starson17 View Post
I recall being told that size is rounded off. If true, they may still have a small book.
They literally have no file size. Not a zero but a blank entry.

Quote:
Originally Posted by Starson17 View Post
Do you know how this happened? Regardless, you can move your library with the library function in 0.7.10, and it will separate your wonky folders that Calibre doesn't know about from those it does know about.
Calibre doesn't know about any of the books. It initially knew about some but my efforts to remedy the situation resulted in it knowing none. I'm not really sure what happened, except that it sucks. I will be backing up in like 5 places after this. I have all the books backed up, but not having the metadata.db file correct is a killer.

Quote:
Originally Posted by Starson17 View Post
If all the leftovers have books in them, you could just auto-add them and the automatic merge would put them with the matching entries that have correct dates and other metadata.

The automatic merge would avoid this problem.

And this problem.

New files always add with the current date. A slight problem when I wrote the merge function is that all records always have a date. There's no way to tell which is the "better" one, so it's always set to the first selected record in a manual merge. In an automatic add/merge the existing record is never touched, so its date is always the final one.
I don't understand. I want the date to always be the earlier date. How do I ensure this?

-Marcy
Marcy is offline   Reply With Quote
Old 07-25-2010, 03:30 PM   #18
Starson17
Wizard
Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.
 
Posts: 4,004
Karma: 177841
Join Date: Dec 2009
Device: WinMo: IPAQ; Android: HTC HD2, Archos 7o; Java:Gravity T
Quote:
Originally Posted by Marcy View Post
Calibre doesn't know about any of the books.
Now I'm confused. I thought you had entries for each book, and good metadata in those entries, but they pointed to directories that have no actual files (book formats) in them. Are you saying you have no records and no metadata? I use the term "book" to refer to a record in Calibre with metadata. I use the term "format" to refer to a file associated with the book record in a particular format (PDF, TXT, LIT, etc.) Calibre can easily have books without formats (empty records). You can have leftover formats, without an associated book, but Calibre won't know about them.

Quote:
I want the date to always be the earlier date. How do I ensure this?
Either by selecting the earlier date record first in a merge, or by auto merging during an add.
Starson17 is offline   Reply With Quote
Old 07-25-2010, 04:01 PM   #19
Marcy
Guru
Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.Marcy ought to be getting tired of karma fortunes by now.
 
Marcy's Avatar
 
Posts: 893
Karma: 950683
Join Date: Oct 2009
Device: Kobo Libra2
Quote:
Originally Posted by Starson17 View Post
Now I'm confused. I thought you had entries for each book, and good metadata in those entries, but they pointed to directories that have no actual files (book formats) in them. Are you saying you have no records and no metadata? I use the term "book" to refer to a record in Calibre with metadata. I use the term "format" to refer to a file associated with the book record in a particular format (PDF, TXT, LIT, etc.) Calibre can easily have books without formats (empty records). You can have leftover formats, without an associated book, but Calibre won't know about them.

Either by selecting the earlier date record first in a merge, or by auto merging during an add.
I have an entry for each book, but it points nowhere, i.e. the calibre id# for each book is wrong. I have all 1700+ books with no formats as a result. I have all 1700 books backed up in locations calibre doesn't realize they are at.

What I don't understand is how the auto merge picks the correct info. I'm very paranoid about losing my info after this. If the dates get screwed up I'm not sure how to reconstruct things.

-Marcy
Marcy is offline   Reply With Quote
Old 07-26-2010, 08:53 AM   #20
Starson17
Wizard
Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.
 
Posts: 4,004
Karma: 177841
Join Date: Dec 2009
Device: WinMo: IPAQ; Android: HTC HD2, Archos 7o; Java:Gravity T
Quote:
Originally Posted by Marcy View Post
I have an entry for each book, but it points nowhere, i.e. the calibre id# for each book is wrong. I have all 1700+ books with no formats as a result. I have all 1700 books backed up in locations calibre doesn't realize they are at.
OK, that's what I originally thought was the situation. You don't say it, but I assume all those entries also have the correct metadata for the book.

Quote:
What I don't understand is how the auto merge picks the correct info.
Auto merge works by matching the author/title of the new book to an existing author/title in the database. The author title of the new book can come from one of two spots. You choose which. Either it gets the metadata from the filename (using the regex in Preferences|Add/Save), or it gets it from metadata stored inside the book (which is often missing or wrong).

You say you "have all 1700 books backed up in locations calibre doesn't realize they are at." That could refer to the original books before they were ever imported into Calibre (and before your problem occurred) or it could refer to the 1700 entries that Calibre first made, after your first import, but before your problem. You didn't say which. The reason I suggested you re-import from the latter (the first Calibre library locations), and not the former (before the first entry into Calibre's database) was because Calibre always creates a filename with author/title. That means you can use a regex in Preferences|Add/Save that will always get the correct author/title metadata and that means Calibre will be able to do the match it needs to do during auto merge.

Last edited by Starson17; 07-26-2010 at 11:10 AM.
Starson17 is offline   Reply With Quote
Old 07-27-2010, 05:10 AM   #21
alexxx
Connoisseur
alexxx ought to be getting tired of karma fortunes by now.alexxx ought to be getting tired of karma fortunes by now.alexxx ought to be getting tired of karma fortunes by now.alexxx ought to be getting tired of karma fortunes by now.alexxx ought to be getting tired of karma fortunes by now.alexxx ought to be getting tired of karma fortunes by now.alexxx ought to be getting tired of karma fortunes by now.alexxx ought to be getting tired of karma fortunes by now.alexxx ought to be getting tired of karma fortunes by now.alexxx ought to be getting tired of karma fortunes by now.alexxx ought to be getting tired of karma fortunes by now.
 
Posts: 68
Karma: 479602
Join Date: Aug 2006
Device: Kindle DX
This thread worries me...

I never paused to ask myself what would happen to my +1000 books if the database got corrupted. I would never start again fine tuning everything if it happened to me!

So I just started making backups - metadata.db is just under 4MB, not a big deal.

But - suppose I had to restore it due to corruption, and in the meantime I've added some books to my library, how does it work? I will find myself just with the new books missing (not a big deal) or with metadata.db completely unable to make sense of my library?

alessandro
alexxx is offline   Reply With Quote
Old 07-27-2010, 05:33 AM   #22
DoctorOhh
US Navy, Retired
DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.DoctorOhh ought to be getting tired of karma fortunes by now.
 
DoctorOhh's Avatar
 
Posts: 9,864
Karma: 13806776
Join Date: Feb 2009
Location: North Carolina
Device: Icarus Illumina XL HD, Nexus 7
Quote:
Originally Posted by alexxx View Post
So I just started making backups - metadata.db is just under 4MB, not a big deal.

But - suppose I had to restore it due to corruption, and in the meantime I've added some books to my library, how does it work? I will find myself just with the new books missing (not a big deal) or with metadata.db completely unable to make sense of my library?
I believe just the new books would be missing.

Then again if the thought bothers you, in addition to backing up your library / metadata.db file you could always save your books to disk w/metadata.

1. Go to Preferences - Add/Save - Saving books tab
2. Ensure that the following are checked.
Save cover separately
Update metadata in saved copy
Save metadata in OPF file
3. Click OK
4. In your calibre library select all books you wish to (backup) save to disk.
5. Select Save to Disk, create a new directory to export these books to, click OK.
Quote:
Calibre is now exporting all the files you selected and any metadata or covers that you have updated/added.
After the intial save to disk if you add 10 books just select those 10 books and repeat the above steps to keep things up to date.

In the event of catastrophic failure you could start fresh and add these to calibre with the all of the metadata following along.

Personally, I just backup my library, the metadata.db file and the config directory.

Last edited by DoctorOhh; 07-27-2010 at 05:36 AM.
DoctorOhh is offline   Reply With Quote
Old 07-27-2010, 05:42 AM   #23
itimpi
Wizard
itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.
 
Posts: 4,552
Karma: 950151
Join Date: Nov 2008
Device: Sony PRS-950, iphone/ipad (Marvin/iBooks/QuickReader)
Sounds like there might be room for a complementary function to the Database Integrity check function that looks through all the folders in the calibre library, and if it finds any books there that are not in the database adds them back in (if necessary renaming the folder).

Does anyone see any fundamental issues with such an idea (Kovid in particular), or is someone else already looking at doing this? If not it might be a good excuse for me to start a little programming project along these lines. If I DO start this I would be thinking of also making a change to write the .opf file to a folder whenever the metadata changes as this would be useful in reconstructing entries in the Calibre database, and also means there is a copy of the metadata external to the database itelf if the database ever gets corrupted without the need to do a "Save to Disk" function.

Feedback welcomed on the idea.
itimpi is offline   Reply With Quote
Old 07-27-2010, 08:54 AM   #24
Starson17
Wizard
Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.
 
Posts: 4,004
Karma: 177841
Join Date: Dec 2009
Device: WinMo: IPAQ; Android: HTC HD2, Archos 7o; Java:Gravity T
Quote:
Originally Posted by dwanthny View Post
I believe just the new books would be missing.
This is correct. I've done it a few times.
Quote:
Save metadata in OPF file
...
In the event of catastrophic failure you could start fresh and add these to calibre with the all of the metadata following along.
Be aware that the new user-defined metadata is not yet stored in the opf file. It's on the ToDo list (unless it's been completed recently and I missed it)
Starson17 is offline   Reply With Quote
Old 07-27-2010, 09:09 AM   #25
Starson17
Wizard
Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.
 
Posts: 4,004
Karma: 177841
Join Date: Dec 2009
Device: WinMo: IPAQ; Android: HTC HD2, Archos 7o; Java:Gravity T
Quote:
Originally Posted by itimpi View Post
Sounds like there might be room for a complementary function to the Database Integrity check function that looks through all the folders in the calibre library, and if it finds any books there that are not in the database adds them back in (if necessary renaming the folder).
It sounds useful to me. What I've been doing without this feature is to move the library. Calibre moves everything it knows about, deletes the associated folders in the library, leaving only the books that are not in the database. I then add back into Calibre all the leftover folders/books. It's a lot of steps.

Quote:
Does anyone see any fundamental issues with such an idea
Nothing fundamental. You'd have to decide what to do about duplicates - create new records, ignore or replace existing formats? You also need to decide what to do about non-Calibre-created files. The big one is when the user has created his Calibre Library by specifying his original non-Calibre ebook library folder. Old Calibre folders are easy as the folder names and ebook filenames are standardized.


Quote:
If I DO start this I would be thinking of also making a change to write the .opf file to a folder whenever the metadata changes as this would be useful in reconstructing entries in the Calibre database, and also means there is a copy of the metadata external to the database itelf if the database ever gets corrupted without the need to do a "Save to Disk" function.
I've often thought this would be nice. In fact, a button (or command line option) to create all the .opf files in all the records would be useful. Currently, to merge two libraries, you need to export the files and the opf with Save to Disk, when all you really need is the opf files.
Starson17 is offline   Reply With Quote
Old 07-27-2010, 09:48 AM   #26
itimpi
Wizard
itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.itimpi ought to be getting tired of karma fortunes by now.
 
Posts: 4,552
Karma: 950151
Join Date: Nov 2008
Device: Sony PRS-950, iphone/ipad (Marvin/iBooks/QuickReader)
Quote:
Originally Posted by Starson17 View Post
It sounds useful to me. What I've been doing without this feature is to move the library. Calibre moves everything it knows about, deletes the associated folders in the library, leaving only the books that are not in the database. I then add back into Calibre all the leftover folders/books. It's a lot of steps.
Another way of looking at this might be to move all the files that Calibre does NOT know about to another location initially. This could be the first step in deciding what to do about automating adding them back. A side effect is that it would handle the case where a user has mixed up Calibre folders and none-Calibre ones as all the none-Calibre ones would then be moved out.
itimpi is offline   Reply With Quote
Old 07-27-2010, 10:01 AM   #27
kovidgoyal
creator of calibre
kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.kovidgoyal ought to be getting tired of karma fortunes by now.
 
kovidgoyal's Avatar
 
Posts: 43,776
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
I'd say moving unknown files to a temporary folder is the best solution.

As for writing metadata to an OPF file, that can be done, but I would suggest making it optional as it entails a performance penalty. Once its implemented we can decide if the performance penalty is severe enough to warrant it being default off or on. Also as Starson pointed out, currently the code for writing custom column metadata to OPF files is non-existant.
kovidgoyal is offline   Reply With Quote
Old 07-27-2010, 10:11 AM   #28
Xenophon
curmudgeon
Xenophon ought to be getting tired of karma fortunes by now.Xenophon ought to be getting tired of karma fortunes by now.Xenophon ought to be getting tired of karma fortunes by now.Xenophon ought to be getting tired of karma fortunes by now.Xenophon ought to be getting tired of karma fortunes by now.Xenophon ought to be getting tired of karma fortunes by now.Xenophon ought to be getting tired of karma fortunes by now.Xenophon ought to be getting tired of karma fortunes by now.Xenophon ought to be getting tired of karma fortunes by now.Xenophon ought to be getting tired of karma fortunes by now.Xenophon ought to be getting tired of karma fortunes by now.
 
Xenophon's Avatar
 
Posts: 1,481
Karma: 5748190
Join Date: Jun 2006
Location: Redwood City, CA USA
Device: Kobo Aura HD, (ex)nook, (ex)PRS-700, (ex)PRS-500
There's a variant of this feature that would be neat to have: Optionally (on command) updating the actual ebook files in the calibre database with the latest metadata available for those files.

Some thoughts along the way:
  • Only update book files where the database metadata is newer than the book file.
  • Update all available formats of the book with the latest metadata. This should include the OPF file and the separate cover (if any).
  • For each book format, update only the meta-data that is supported in that format. (It's obvious, but...)
  • Since this would be done only on user command, it doesn't matter if it's a bit on the slow side.
I believe that this would be the moral equivalent of doing a save-to-disk into a temporary directory (with appropriate switches set in Calibre), and then replacing the files in the calibre database directory tree with the newly saved files. Come to think of it, that's probably the simple way to implement it. Right?
Xenophon is offline   Reply With Quote
Old 07-27-2010, 10:14 AM   #29
Starson17
Wizard
Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.
 
Posts: 4,004
Karma: 177841
Join Date: Dec 2009
Device: WinMo: IPAQ; Android: HTC HD2, Archos 7o; Java:Gravity T
Quote:
Originally Posted by itimpi View Post
Another way of looking at this might be to move all the files that Calibre does NOT know about to another location initially. This could be the first step in deciding what to do about automating adding them back. A side effect is that it would handle the case where a user has mixed up Calibre folders and none-Calibre ones as all the none-Calibre ones would then be moved out.
Agreed - this would be the preferable way to separate the good library from other mixed-in miscellaneous junk, but it does require writing new code. I was just pointing out, however, that there's already code in place that does the reverse and can be used to separate good from bad. At least my tests seem to show that the current "move library" code moves only the books and folders it knows about, leaving the junk it doesn't know about in place.

Unless I've missed something, moving a library, followed by checking SQL integrity should leave a pretty clean library.
Starson17 is offline   Reply With Quote
Old 07-27-2010, 10:19 AM   #30
Starson17
Wizard
Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.Starson17 can program the VCR without an owner's manual.
 
Posts: 4,004
Karma: 177841
Join Date: Dec 2009
Device: WinMo: IPAQ; Android: HTC HD2, Archos 7o; Java:Gravity T
Quote:
Originally Posted by Xenophon View Post
Only update book files where the database metadata is newer than the book file.
Currently, AFAIK, there is no "date" on individual pieces of metadata. There is a "date" on individual records, but it isn't updated with metadata updates. The whole database has a date, but that date isn't very relevant to the books or individual pieces of metadata.

I don't see how you can do this without new db fields to track these dates.
Starson17 is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Corrupted File? StealthyScribe Kobo Reader 8 07-21-2010 10:09 PM
corrupted dbase hnoto Related Tools 43 05-17-2010 11:27 AM
Corrupted DB on Reader djwoodard Kobo Reader 7 05-10-2010 01:13 AM
Library corrupted rozie123 Sony Reader 1 05-26-2009 07:02 AM
metadata.db corrupted Philantrop Calibre 9 01-05-2009 09:34 PM


All times are GMT -4. The time now is 05:08 PM.


MobileRead.com is a privately owned, operated and funded community.