deduplicate code snippet
When parsing fields, handle escapes
Merge pull request #27 from t3d/master

minor recipe change
Merge branch 'stores' of https://github.com/t3d/calibre

Get Books: Update Woblink store plugin
MOBI Input: Fix regression parsing &apos;

MOBI Input: Fix a regression that broke parsing of MOBI files with
malformed markup that also used entities for apostrophes. Fixes #1197585 [Private bug](https://bugs.launchpad.net/calibre/+bug/1197585)
Refactor creation of hardlinks on windows

After creating the hardlink, open and close the file, to ensure that
the directory entry for the file contains the correct file size, see
http://blogs.msdn.com/b/oldnewthing/archive/2011/12/26/10251026.aspx
Merge branch 'kovidgoyal/master'
Avoid unnecessary string formatting
Make ads in user manual async
Ensure we dont leak a file handle
Fix test failures due to file locking on windows
Initial implementation of add_format()
Fix detection of SD Card in some PRS-T2N devices

Fixes #1197970 [Sony PRS-T2 SD card not recognized](https://bugs.launchpad.net/calibre/+bug/1197970)
version 0.9.38
Add tests for add_format()
...
Implement remove_formats()
Clarify use of OPF in calibredb set_metadata
Implement create_book_entry(), with tests
Metadata download dialog: Have the OK button enabled in the results
screen as well. See #1198288