worldveil/dejavu — pull request #25 by Wessie (2014-01-20 20:01:41+00:00)
Title: Rewrote multiprocessing parts to only require one database connection

List of changes in detail:
- `fingerprint_directory`:
Now uses `multiprocessing.Pool.imap` and updates database in callers
process.
- ` fingerprint_file`:
Now uses `_fingerprint_worker` internally.
- `_fingerprint_worker`:
1. Some slight changes to argument handling due to `imap`
usage.
2. Changed to return (song_name, hashes) where hashes is
a set of hashes from all channels.
- `path_to_songname`:
Changed to use `os.path.splitext`, this caused files with
a period in their name to return the wrong name.

These changes should remove some of the blocks @pguridi had while implementing the SQLAlchemy backend.