From 3bf508639f1d329973dc076c49b6553822615daf Mon Sep 17 00:00:00 2001
From: Nic Wolfe <nic@wolfeden.ca>
Date: Thu, 27 Jan 2011 22:31:20 -0700
Subject: [PATCH] Another lib change to fix import problems with py2exe

---
 SickBeard.py                                  |  3 --
 lib/hachoir_core/__init__.py                  |  2 +-
 lib/hachoir_core/benchmark.py                 |  4 +-
 lib/hachoir_core/bits.py                      |  4 +-
 lib/hachoir_core/cmd_line.py                  |  8 ++--
 lib/hachoir_core/dict.py                      |  4 +-
 lib/hachoir_core/endian.py                    |  2 +-
 lib/hachoir_core/error.py                     |  4 +-
 lib/hachoir_core/field/__init__.py            | 42 +++++++++----------
 lib/hachoir_core/field/basic_field_set.py     |  8 ++--
 lib/hachoir_core/field/bit_field.py           |  6 +--
 lib/hachoir_core/field/byte_field.py          |  8 ++--
 lib/hachoir_core/field/character.py           |  6 +--
 lib/hachoir_core/field/fake_array.py          |  2 +-
 lib/hachoir_core/field/field.py               | 12 +++---
 lib/hachoir_core/field/field_set.py           |  2 +-
 lib/hachoir_core/field/float.py               |  4 +-
 lib/hachoir_core/field/generic_field_set.py   | 10 ++---
 lib/hachoir_core/field/helper.py              |  4 +-
 lib/hachoir_core/field/integer.py             |  2 +-
 lib/hachoir_core/field/link.py                |  4 +-
 .../field/new_seekable_field_set.py           |  4 +-
 lib/hachoir_core/field/padding.py             |  6 +--
 lib/hachoir_core/field/parser.py              |  8 ++--
 lib/hachoir_core/field/seekable_field_set.py  |  8 ++--
 lib/hachoir_core/field/static_field_set.py    |  2 +-
 lib/hachoir_core/field/string_field.py        | 10 ++---
 lib/hachoir_core/field/sub_file.py            |  6 +--
 lib/hachoir_core/field/timestamp.py           |  4 +-
 lib/hachoir_core/field/vector.py              |  2 +-
 lib/hachoir_core/i18n.py                      |  4 +-
 lib/hachoir_core/language.py                  |  2 +-
 lib/hachoir_core/log.py                       |  6 +--
 lib/hachoir_core/stream/__init__.py           | 10 ++---
 lib/hachoir_core/stream/input.py              | 16 +++----
 lib/hachoir_core/stream/input_helper.py       |  4 +-
 lib/hachoir_core/stream/output.py             |  6 +--
 lib/hachoir_core/stream/stream.py             |  2 +-
 lib/hachoir_core/text_handler.py              |  4 +-
 lib/hachoir_core/tools.py                     |  2 +-
 lib/hachoir_metadata/__init__.py              | 22 +++++-----
 lib/hachoir_metadata/archive.py               | 12 +++---
 lib/hachoir_metadata/audio.py                 | 14 +++----
 lib/hachoir_metadata/file_system.py           |  6 +--
 lib/hachoir_metadata/filter.py                |  2 +-
 lib/hachoir_metadata/formatter.py             |  2 +-
 lib/hachoir_metadata/image.py                 | 12 +++---
 lib/hachoir_metadata/jpeg.py                  | 16 +++----
 lib/hachoir_metadata/metadata.py              | 18 ++++----
 lib/hachoir_metadata/metadata_item.py         |  8 ++--
 lib/hachoir_metadata/misc.py                  | 16 +++----
 lib/hachoir_metadata/program.py               |  6 +--
 lib/hachoir_metadata/register.py              | 14 +++----
 lib/hachoir_metadata/riff.py                  | 14 +++----
 lib/hachoir_metadata/safe.py                  |  2 +-
 lib/hachoir_metadata/setter.py                |  6 +--
 lib/hachoir_metadata/video.py                 | 20 ++++-----
 lib/hachoir_parser/__init__.py                | 10 ++---
 lib/hachoir_parser/archive/__init__.py        | 22 +++++-----
 lib/hachoir_parser/archive/ace.py             | 10 ++---
 lib/hachoir_parser/archive/ar.py              |  6 +--
 lib/hachoir_parser/archive/bzip2_parser.py    |  8 ++--
 lib/hachoir_parser/archive/cab.py             | 10 ++---
 lib/hachoir_parser/archive/gzip_parser.py     | 10 ++---
 lib/hachoir_parser/archive/mar.py             |  8 ++--
 lib/hachoir_parser/archive/rar.py             | 10 ++---
 lib/hachoir_parser/archive/rpm.py             | 10 ++---
 lib/hachoir_parser/archive/sevenzip.py        |  8 ++--
 lib/hachoir_parser/archive/tar.py             |  8 ++--
 lib/hachoir_parser/archive/zip.py             | 14 +++----
 lib/hachoir_parser/audio/8svx.py              | 12 +++---
 lib/hachoir_parser/audio/__init__.py          | 22 +++++-----
 lib/hachoir_parser/audio/aiff.py              | 12 +++---
 lib/hachoir_parser/audio/au.py                | 10 ++---
 lib/hachoir_parser/audio/flac.py              | 10 ++---
 lib/hachoir_parser/audio/id3.py               |  8 ++--
 lib/hachoir_parser/audio/itunesdb.py          | 10 ++---
 lib/hachoir_parser/audio/midi.py              | 12 +++---
 lib/hachoir_parser/audio/mod.py               |  8 ++--
 lib/hachoir_parser/audio/modplug.py           |  6 +--
 lib/hachoir_parser/audio/mpeg_audio.py        | 16 +++----
 lib/hachoir_parser/audio/real_audio.py        | 10 ++---
 lib/hachoir_parser/audio/s3m.py               | 10 ++---
 lib/hachoir_parser/audio/xm.py                | 12 +++---
 lib/hachoir_parser/common/deflate.py          |  2 +-
 lib/hachoir_parser/common/msdos.py            |  4 +-
 lib/hachoir_parser/common/win32.py            | 10 ++---
 lib/hachoir_parser/container/__init__.py      | 12 +++---
 lib/hachoir_parser/container/action_script.py |  6 +--
 lib/hachoir_parser/container/asn1.py          | 12 +++---
 lib/hachoir_parser/container/mkv.py           | 14 +++----
 lib/hachoir_parser/container/ogg.py           | 12 +++---
 lib/hachoir_parser/container/realmedia.py     |  8 ++--
 lib/hachoir_parser/container/riff.py          | 14 +++----
 lib/hachoir_parser/container/swf.py           | 20 ++++-----
 lib/hachoir_parser/file_system/__init__.py    | 14 +++----
 lib/hachoir_parser/file_system/ext2.py        | 10 ++---
 lib/hachoir_parser/file_system/fat.py         | 16 +++----
 lib/hachoir_parser/file_system/iso9660.py     |  6 +--
 lib/hachoir_parser/file_system/linux_swap.py  | 10 ++---
 lib/hachoir_parser/file_system/mbr.py         | 10 ++---
 lib/hachoir_parser/file_system/ntfs.py        | 12 +++---
 lib/hachoir_parser/file_system/reiser_fs.py   |  6 +--
 lib/hachoir_parser/game/__init__.py           |  8 ++--
 lib/hachoir_parser/game/blp.py                | 10 ++---
 lib/hachoir_parser/game/laf.py                |  6 +--
 lib/hachoir_parser/game/spider_man_video.py   |  8 ++--
 lib/hachoir_parser/game/zsnes.py              |  6 +--
 lib/hachoir_parser/guess.py                   |  8 ++--
 lib/hachoir_parser/image/__init__.py          | 22 +++++-----
 lib/hachoir_parser/image/bmp.py               | 12 +++---
 lib/hachoir_parser/image/common.py            |  2 +-
 lib/hachoir_parser/image/exif.py              |  8 ++--
 lib/hachoir_parser/image/gif.py               | 12 +++---
 lib/hachoir_parser/image/ico.py               | 10 ++---
 lib/hachoir_parser/image/iptc.py              |  4 +-
 lib/hachoir_parser/image/jpeg.py              | 16 +++----
 lib/hachoir_parser/image/pcx.py               |  8 ++--
 .../image/photoshop_metadata.py               | 10 ++---
 lib/hachoir_parser/image/png.py               | 12 +++---
 lib/hachoir_parser/image/psd.py               |  8 ++--
 lib/hachoir_parser/image/tga.py               |  8 ++--
 lib/hachoir_parser/image/tiff.py              | 10 ++---
 lib/hachoir_parser/image/wmf.py               | 12 +++---
 lib/hachoir_parser/image/xcf.py               |  8 ++--
 lib/hachoir_parser/misc/__init__.py           | 26 ++++++------
 lib/hachoir_parser/misc/bplist.py             | 10 ++---
 lib/hachoir_parser/misc/chm.py                | 12 +++---
 lib/hachoir_parser/misc/common.py             |  2 +-
 lib/hachoir_parser/misc/file_3do.py           |  8 ++--
 lib/hachoir_parser/misc/file_3ds.py           | 12 +++---
 lib/hachoir_parser/misc/gnome_keyring.py      |  8 ++--
 lib/hachoir_parser/misc/hlp.py                |  8 ++--
 lib/hachoir_parser/misc/lnk.py                | 16 +++----
 lib/hachoir_parser/misc/msoffice.py           | 12 +++---
 lib/hachoir_parser/misc/msoffice_summary.py   | 14 +++----
 lib/hachoir_parser/misc/ole2.py               | 16 +++----
 lib/hachoir_parser/misc/pcf.py                | 10 ++---
 lib/hachoir_parser/misc/pdf.py                |  8 ++--
 lib/hachoir_parser/misc/pifv.py               | 10 ++---
 lib/hachoir_parser/misc/torrent.py            |  8 ++--
 lib/hachoir_parser/misc/ttf.py                |  8 ++--
 lib/hachoir_parser/misc/word_doc.py           |  6 +--
 lib/hachoir_parser/network/__init__.py        |  2 +-
 lib/hachoir_parser/network/common.py          |  8 ++--
 lib/hachoir_parser/network/tcpdump.py         | 14 +++----
 lib/hachoir_parser/parser.py                  | 10 ++---
 lib/hachoir_parser/parser_list.py             |  6 +--
 lib/hachoir_parser/program/__init__.py        | 10 ++---
 lib/hachoir_parser/program/elf.py             |  8 ++--
 lib/hachoir_parser/program/exe.py             | 14 +++----
 lib/hachoir_parser/program/exe_ne.py          |  4 +-
 lib/hachoir_parser/program/exe_pe.py          |  6 +--
 lib/hachoir_parser/program/exe_res.py         | 10 ++---
 lib/hachoir_parser/program/java.py            | 10 ++---
 lib/hachoir_parser/program/prc.py             |  6 +--
 lib/hachoir_parser/program/python.py          | 12 +++---
 lib/hachoir_parser/template.py                |  6 +--
 lib/hachoir_parser/video/__init__.py          | 10 ++---
 lib/hachoir_parser/video/amf.py               |  4 +-
 lib/hachoir_parser/video/asf.py               | 14 +++----
 lib/hachoir_parser/video/flv.py               | 12 +++---
 lib/hachoir_parser/video/mov.py               |  8 ++--
 lib/hachoir_parser/video/mpeg_ts.py           |  8 ++--
 lib/hachoir_parser/video/mpeg_video.py        | 12 +++---
 lib/oauth2/__init__.py                        |  2 +-
 lib/pythontwitter/__init__.py                 |  4 +-
 lib/simplejson/decoder.py                     |  4 +-
 lib/simplejson/encoder.py                     |  4 +-
 lib/tvdb_api/tvdb_api.py                      |  5 ++-
 sickbeard/image_cache.py                      |  4 +-
 171 files changed, 773 insertions(+), 773 deletions(-)

diff --git a/SickBeard.py b/SickBeard.py
index a7bf9840a..707783a4d 100755
--- a/SickBeard.py
+++ b/SickBeard.py
@@ -32,9 +32,6 @@ import sqlite3
 import traceback
 import getopt
 
-# allow libraries to import each other
-sys.path.append(os.path.join(os.path.dirname(os.path.abspath(sys.argv[0])), 'lib'))
-
 import sickbeard
 
 from sickbeard import db
diff --git a/lib/hachoir_core/__init__.py b/lib/hachoir_core/__init__.py
index df1988fda..5fcd20a44 100644
--- a/lib/hachoir_core/__init__.py
+++ b/lib/hachoir_core/__init__.py
@@ -1,2 +1,2 @@
-from hachoir_core.version import VERSION as __version__, PACKAGE, WEBSITE, LICENSE
+from lib.hachoir_core.version import VERSION as __version__, PACKAGE, WEBSITE, LICENSE
 
diff --git a/lib/hachoir_core/benchmark.py b/lib/hachoir_core/benchmark.py
index f823cfae1..a046c9a99 100644
--- a/lib/hachoir_core/benchmark.py
+++ b/lib/hachoir_core/benchmark.py
@@ -1,5 +1,5 @@
-from hachoir_core.tools import humanDurationNanosec
-from hachoir_core.i18n import _
+from lib.hachoir_core.tools import humanDurationNanosec
+from lib.hachoir_core.i18n import _
 from math import floor
 from time import time
 
diff --git a/lib/hachoir_core/bits.py b/lib/hachoir_core/bits.py
index d5b31a018..b18547dd0 100644
--- a/lib/hachoir_core/bits.py
+++ b/lib/hachoir_core/bits.py
@@ -3,8 +3,8 @@ Utilities to convert integers and binary strings to binary (number), binary
 string, number, hexadecimal, etc.
 """
 
-from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from hachoir_core.compatibility import reversed
+from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from lib.hachoir_core.compatibility import reversed
 from itertools import chain, repeat
 from struct import calcsize, unpack, error as struct_error
 
diff --git a/lib/hachoir_core/cmd_line.py b/lib/hachoir_core/cmd_line.py
index 8c4178df0..80161712f 100644
--- a/lib/hachoir_core/cmd_line.py
+++ b/lib/hachoir_core/cmd_line.py
@@ -1,8 +1,8 @@
 from optparse import OptionGroup
-from hachoir_core.log import log
-from hachoir_core.i18n import _, getTerminalCharset
-from hachoir_core.tools import makePrintable
-import hachoir_core.config as config
+from lib.hachoir_core.log import log
+from lib.hachoir_core.i18n import _, getTerminalCharset
+from lib.hachoir_core.tools import makePrintable
+import lib.hachoir_core.config as config
 
 def getHachoirOptions(parser):
     """
diff --git a/lib/hachoir_core/dict.py b/lib/hachoir_core/dict.py
index f887683c7..f7eb65e6e 100644
--- a/lib/hachoir_core/dict.py
+++ b/lib/hachoir_core/dict.py
@@ -2,8 +2,8 @@
 Dictionnary classes which store values order.
 """
 
-from hachoir_core.error import HachoirError
-from hachoir_core.i18n import _
+from lib.hachoir_core.error import HachoirError
+from lib.hachoir_core.i18n import _
 
 class UniqKeyError(HachoirError):
     """
diff --git a/lib/hachoir_core/endian.py b/lib/hachoir_core/endian.py
index 5f6ae88b4..6d09e2619 100644
--- a/lib/hachoir_core/endian.py
+++ b/lib/hachoir_core/endian.py
@@ -2,7 +2,7 @@
 Constant values about endian.
 """
 
-from hachoir_core.i18n import _
+from lib.hachoir_core.i18n import _
 
 BIG_ENDIAN = "ABCD"
 LITTLE_ENDIAN = "DCBA"
diff --git a/lib/hachoir_core/error.py b/lib/hachoir_core/error.py
index 9ec6b5738..78f614a2a 100644
--- a/lib/hachoir_core/error.py
+++ b/lib/hachoir_core/error.py
@@ -2,8 +2,8 @@
 Functions to display an error (error, warning or information) message.
 """
 
-from hachoir_core.log import log
-from hachoir_core.tools import makePrintable
+from lib.hachoir_core.log import log
+from lib.hachoir_core.tools import makePrintable
 import sys, traceback
 
 def getBacktrace(empty="Empty backtrace."):
diff --git a/lib/hachoir_core/field/__init__.py b/lib/hachoir_core/field/__init__.py
index f313c9ba1..66f3ed6b8 100644
--- a/lib/hachoir_core/field/__init__.py
+++ b/lib/hachoir_core/field/__init__.py
@@ -1,44 +1,44 @@
 # Field classes
-from hachoir_core.field.field import Field, FieldError, MissingField, joinPath
-from hachoir_core.field.bit_field import Bit, Bits, RawBits
-from hachoir_core.field.byte_field import Bytes, RawBytes
-from hachoir_core.field.sub_file import SubFile, CompressedField
-from hachoir_core.field.character import Character
-from hachoir_core.field.integer import (
+from lib.hachoir_core.field.field import Field, FieldError, MissingField, joinPath
+from lib.hachoir_core.field.bit_field import Bit, Bits, RawBits
+from lib.hachoir_core.field.byte_field import Bytes, RawBytes
+from lib.hachoir_core.field.sub_file import SubFile, CompressedField
+from lib.hachoir_core.field.character import Character
+from lib.hachoir_core.field.integer import (
     Int8,  Int16,  Int24,  Int32,  Int64,
     UInt8, UInt16, UInt24, UInt32, UInt64,
     GenericInteger)
-from hachoir_core.field.enum import Enum
-from hachoir_core.field.string_field import (GenericString,
+from lib.hachoir_core.field.enum import Enum
+from lib.hachoir_core.field.string_field import (GenericString,
     String, CString, UnixLine,
     PascalString8, PascalString16, PascalString32)
-from hachoir_core.field.padding import (PaddingBits, PaddingBytes,
+from lib.hachoir_core.field.padding import (PaddingBits, PaddingBytes,
     NullBits, NullBytes)
 
 # Functions
-from hachoir_core.field.helper import (isString, isInteger,
+from lib.hachoir_core.field.helper import (isString, isInteger,
     createPaddingField, createNullField, createRawField,
     writeIntoFile, createOrphanField)
 
 # FieldSet classes
-from hachoir_core.field.fake_array import FakeArray
-from hachoir_core.field.basic_field_set import (BasicFieldSet,
+from lib.hachoir_core.field.fake_array import FakeArray
+from lib.hachoir_core.field.basic_field_set import (BasicFieldSet,
     ParserError, MatchError)
-from hachoir_core.field.generic_field_set import GenericFieldSet
-from hachoir_core.field.seekable_field_set import SeekableFieldSet, RootSeekableFieldSet
-from hachoir_core.field.field_set import FieldSet
-from hachoir_core.field.static_field_set import StaticFieldSet
-from hachoir_core.field.parser import Parser
-from hachoir_core.field.vector import GenericVector, UserVector
+from lib.hachoir_core.field.generic_field_set import GenericFieldSet
+from lib.hachoir_core.field.seekable_field_set import SeekableFieldSet, RootSeekableFieldSet
+from lib.hachoir_core.field.field_set import FieldSet
+from lib.hachoir_core.field.static_field_set import StaticFieldSet
+from lib.hachoir_core.field.parser import Parser
+from lib.hachoir_core.field.vector import GenericVector, UserVector
 
 # Complex types
-from hachoir_core.field.float import Float32, Float64, Float80
-from hachoir_core.field.timestamp import (GenericTimestamp,
+from lib.hachoir_core.field.float import Float32, Float64, Float80
+from lib.hachoir_core.field.timestamp import (GenericTimestamp,
     TimestampUnix32, TimestampUnix64, TimestampMac32, TimestampUUID60, TimestampWin64,
     DateTimeMSDOS32, TimeDateMSDOS32, TimedeltaWin64)
 
 # Special Field classes
-from hachoir_core.field.link import Link, Fragment
+from lib.hachoir_core.field.link import Link, Fragment
 
 available_types = (
     Bit, Bits, RawBits,
diff --git a/lib/hachoir_core/field/basic_field_set.py b/lib/hachoir_core/field/basic_field_set.py
index c044124b8..5c1bf9f80 100644
--- a/lib/hachoir_core/field/basic_field_set.py
+++ b/lib/hachoir_core/field/basic_field_set.py
@@ -1,7 +1,7 @@
-from hachoir_core.field import Field, FieldError
-from hachoir_core.stream import InputStream
-from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from hachoir_core.event_handler import EventHandler
+from lib.hachoir_core.field import Field, FieldError
+from lib.hachoir_core.stream import InputStream
+from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from lib.hachoir_core.event_handler import EventHandler
 
 class ParserError(FieldError):
     """
diff --git a/lib/hachoir_core/field/bit_field.py b/lib/hachoir_core/field/bit_field.py
index 8fae3c7c2..85f5502d3 100644
--- a/lib/hachoir_core/field/bit_field.py
+++ b/lib/hachoir_core/field/bit_field.py
@@ -5,9 +5,9 @@ Bit sized classes:
 - RawBits: unknown content with a size in bits.
 """
 
-from hachoir_core.field import Field
-from hachoir_core.i18n import _
-from hachoir_core import config
+from lib.hachoir_core.field import Field
+from lib.hachoir_core.i18n import _
+from lib.hachoir_core import config
 
 class RawBits(Field):
     """
diff --git a/lib/hachoir_core/field/byte_field.py b/lib/hachoir_core/field/byte_field.py
index 16db18102..4591daa1e 100644
--- a/lib/hachoir_core/field/byte_field.py
+++ b/lib/hachoir_core/field/byte_field.py
@@ -3,10 +3,10 @@ Very basic field: raw content with a size in byte. Use this class for
 unknown content.
 """
 
-from hachoir_core.field import Field, FieldError
-from hachoir_core.tools import makePrintable
-from hachoir_core.bits import str2hex
-from hachoir_core import config
+from lib.hachoir_core.field import Field, FieldError
+from lib.hachoir_core.tools import makePrintable
+from lib.hachoir_core.bits import str2hex
+from lib.hachoir_core import config
 
 MAX_LENGTH = (2**64)
 
diff --git a/lib/hachoir_core/field/character.py b/lib/hachoir_core/field/character.py
index 42bc4b1e7..002a18c9f 100644
--- a/lib/hachoir_core/field/character.py
+++ b/lib/hachoir_core/field/character.py
@@ -2,9 +2,9 @@
 Character field class: a 8-bit character
 """
 
-from hachoir_core.field import Bits
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.tools import makePrintable
+from lib.hachoir_core.field import Bits
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.tools import makePrintable
 
 class Character(Bits):
     """
diff --git a/lib/hachoir_core/field/fake_array.py b/lib/hachoir_core/field/fake_array.py
index 5535cafeb..f5ae6d951 100644
--- a/lib/hachoir_core/field/fake_array.py
+++ b/lib/hachoir_core/field/fake_array.py
@@ -1,5 +1,5 @@
 import itertools
-from hachoir_core.field import MissingField
+from lib.hachoir_core.field import MissingField
 
 class FakeArray:
     """
diff --git a/lib/hachoir_core/field/field.py b/lib/hachoir_core/field/field.py
index e4c949af7..ccb9e1727 100644
--- a/lib/hachoir_core/field/field.py
+++ b/lib/hachoir_core/field/field.py
@@ -2,12 +2,12 @@
 Parent of all (field) classes in Hachoir: Field.
 """
 
-from hachoir_core.compatibility import reversed
-from hachoir_core.stream import InputFieldStream
-from hachoir_core.error import HachoirError, HACHOIR_ERRORS
-from hachoir_core.log import Logger
-from hachoir_core.i18n import _
-from hachoir_core.tools import makePrintable
+from lib.hachoir_core.compatibility import reversed
+from lib.hachoir_core.stream import InputFieldStream
+from lib.hachoir_core.error import HachoirError, HACHOIR_ERRORS
+from lib.hachoir_core.log import Logger
+from lib.hachoir_core.i18n import _
+from lib.hachoir_core.tools import makePrintable
 from weakref import ref as weakref_ref
 
 class FieldError(HachoirError):
diff --git a/lib/hachoir_core/field/field_set.py b/lib/hachoir_core/field/field_set.py
index 92b519262..c535081f9 100644
--- a/lib/hachoir_core/field/field_set.py
+++ b/lib/hachoir_core/field/field_set.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import BasicFieldSet, GenericFieldSet
+from lib.hachoir_core.field import BasicFieldSet, GenericFieldSet
 
 class FieldSet(GenericFieldSet):
     def __init__(self, parent, name, *args, **kw):
diff --git a/lib/hachoir_core/field/float.py b/lib/hachoir_core/field/float.py
index 27f975630..56d778671 100644
--- a/lib/hachoir_core/field/float.py
+++ b/lib/hachoir_core/field/float.py
@@ -1,5 +1,5 @@
-from hachoir_core.field import Bit, Bits, FieldSet
-from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from lib.hachoir_core.field import Bit, Bits, FieldSet
+from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
 import struct
 
 # Make sure that we use right struct types
diff --git a/lib/hachoir_core/field/generic_field_set.py b/lib/hachoir_core/field/generic_field_set.py
index a3b5eb7d5..66634827f 100644
--- a/lib/hachoir_core/field/generic_field_set.py
+++ b/lib/hachoir_core/field/generic_field_set.py
@@ -1,9 +1,9 @@
-from hachoir_core.field import (MissingField, BasicFieldSet, Field, ParserError,
+from lib.hachoir_core.field import (MissingField, BasicFieldSet, Field, ParserError,
     createRawField, createNullField, createPaddingField, FakeArray)
-from hachoir_core.dict import Dict, UniqKeyError
-from hachoir_core.error import HACHOIR_ERRORS
-from hachoir_core.tools import lowerBound
-import hachoir_core.config as config
+from lib.hachoir_core.dict import Dict, UniqKeyError
+from lib.hachoir_core.error import HACHOIR_ERRORS
+from lib.hachoir_core.tools import lowerBound
+import lib.hachoir_core.config as config
 
 class GenericFieldSet(BasicFieldSet):
     """
diff --git a/lib/hachoir_core/field/helper.py b/lib/hachoir_core/field/helper.py
index ba44f68e3..174d79e28 100644
--- a/lib/hachoir_core/field/helper.py
+++ b/lib/hachoir_core/field/helper.py
@@ -1,9 +1,9 @@
-from hachoir_core.field import (FieldError,
+from lib.hachoir_core.field import (FieldError,
     RawBits, RawBytes,
     PaddingBits, PaddingBytes,
     NullBits, NullBytes,
     GenericString, GenericInteger)
-from hachoir_core.stream import FileOutputStream
+from lib.hachoir_core.stream import FileOutputStream
 
 def createRawField(parent, size, name="raw[]", description=None):
     if size <= 0:
diff --git a/lib/hachoir_core/field/integer.py b/lib/hachoir_core/field/integer.py
index 763f1d2f0..bad649964 100644
--- a/lib/hachoir_core/field/integer.py
+++ b/lib/hachoir_core/field/integer.py
@@ -4,7 +4,7 @@ Integer field classes:
 - Int8, Int16, Int24, Int32, Int64: signed integer of 8, 16, 32, 64 bits.
 """
 
-from hachoir_core.field import Bits, FieldError
+from lib.hachoir_core.field import Bits, FieldError
 
 class GenericInteger(Bits):
     """
diff --git a/lib/hachoir_core/field/link.py b/lib/hachoir_core/field/link.py
index b331c3b88..cccf2e670 100644
--- a/lib/hachoir_core/field/link.py
+++ b/lib/hachoir_core/field/link.py
@@ -1,5 +1,5 @@
-from hachoir_core.field import Field, FieldSet, ParserError, Bytes, MissingField
-from hachoir_core.stream import FragmentedStream
+from lib.hachoir_core.field import Field, FieldSet, ParserError, Bytes, MissingField
+from lib.hachoir_core.stream import FragmentedStream
 
 
 class Link(Field):
diff --git a/lib/hachoir_core/field/new_seekable_field_set.py b/lib/hachoir_core/field/new_seekable_field_set.py
index d145ab961..22403b6db 100644
--- a/lib/hachoir_core/field/new_seekable_field_set.py
+++ b/lib/hachoir_core/field/new_seekable_field_set.py
@@ -1,5 +1,5 @@
-from hachoir_core.field import BasicFieldSet, GenericFieldSet, ParserError, createRawField
-from hachoir_core.error import HACHOIR_ERRORS
+from lib.hachoir_core.field import BasicFieldSet, GenericFieldSet, ParserError, createRawField
+from lib.hachoir_core.error import HACHOIR_ERRORS
 
 # getgaps(int, int, [listof (int, int)]) -> generator of (int, int)
 # Gets all the gaps not covered by a block in `blocks` from `start` for `length` units.
diff --git a/lib/hachoir_core/field/padding.py b/lib/hachoir_core/field/padding.py
index c1c4b8c07..3d0fcc0ff 100644
--- a/lib/hachoir_core/field/padding.py
+++ b/lib/hachoir_core/field/padding.py
@@ -1,6 +1,6 @@
-from hachoir_core.field import Bits, Bytes
-from hachoir_core.tools import makePrintable, humanFilesize
-from hachoir_core import config
+from lib.hachoir_core.field import Bits, Bytes
+from lib.hachoir_core.tools import makePrintable, humanFilesize
+from lib.hachoir_core import config
 
 class PaddingBits(Bits):
     """
diff --git a/lib/hachoir_core/field/parser.py b/lib/hachoir_core/field/parser.py
index e294e0246..f4aebadd6 100644
--- a/lib/hachoir_core/field/parser.py
+++ b/lib/hachoir_core/field/parser.py
@@ -1,7 +1,7 @@
-from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from hachoir_core.field import GenericFieldSet
-from hachoir_core.log import Logger
-import hachoir_core.config as config
+from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from lib.hachoir_core.field import GenericFieldSet
+from lib.hachoir_core.log import Logger
+import lib.hachoir_core.config as config
 
 class Parser(GenericFieldSet):
     """
diff --git a/lib/hachoir_core/field/seekable_field_set.py b/lib/hachoir_core/field/seekable_field_set.py
index 9bc3fbbc1..ee7b11278 100644
--- a/lib/hachoir_core/field/seekable_field_set.py
+++ b/lib/hachoir_core/field/seekable_field_set.py
@@ -1,8 +1,8 @@
-from hachoir_core.field import Field, BasicFieldSet, FakeArray, MissingField, ParserError
-from hachoir_core.tools import makeUnicode
-from hachoir_core.error import HACHOIR_ERRORS
+from lib.hachoir_core.field import Field, BasicFieldSet, FakeArray, MissingField, ParserError
+from lib.hachoir_core.tools import makeUnicode
+from lib.hachoir_core.error import HACHOIR_ERRORS
 from itertools import repeat
-import hachoir_core.config as config
+import lib.hachoir_core.config as config
 
 class RootSeekableFieldSet(BasicFieldSet):
     def __init__(self, parent, name, stream, description, size):
diff --git a/lib/hachoir_core/field/static_field_set.py b/lib/hachoir_core/field/static_field_set.py
index afe6cdb07..2e9e689e7 100644
--- a/lib/hachoir_core/field/static_field_set.py
+++ b/lib/hachoir_core/field/static_field_set.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import FieldSet, ParserError
+from lib.hachoir_core.field import FieldSet, ParserError
 
 class StaticFieldSet(FieldSet):
     """
diff --git a/lib/hachoir_core/field/string_field.py b/lib/hachoir_core/field/string_field.py
index e44e24dc6..e2bb4ed08 100644
--- a/lib/hachoir_core/field/string_field.py
+++ b/lib/hachoir_core/field/string_field.py
@@ -15,11 +15,11 @@ Note: For PascalStringXX, prefixed value is the number of bytes and not
       of characters!
 """
 
-from hachoir_core.field import FieldError, Bytes
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from hachoir_core.tools import alignValue, makePrintable
-from hachoir_core.i18n import guessBytesCharset, _
-from hachoir_core import config
+from lib.hachoir_core.field import FieldError, Bytes
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_core.tools import alignValue, makePrintable
+from lib.hachoir_core.i18n import guessBytesCharset, _
+from lib.hachoir_core import config
 from codecs import BOM_UTF16_LE, BOM_UTF16_BE, BOM_UTF32_LE, BOM_UTF32_BE
 
 # Default charset used to convert byte string to Unicode
diff --git a/lib/hachoir_core/field/sub_file.py b/lib/hachoir_core/field/sub_file.py
index 0f2912d40..b5993ba4f 100644
--- a/lib/hachoir_core/field/sub_file.py
+++ b/lib/hachoir_core/field/sub_file.py
@@ -1,6 +1,6 @@
-from hachoir_core.field import Bytes
-from hachoir_core.tools import makePrintable, humanFilesize
-from hachoir_core.stream import InputIOStream
+from lib.hachoir_core.field import Bytes
+from lib.hachoir_core.tools import makePrintable, humanFilesize
+from lib.hachoir_core.stream import InputIOStream
 
 class SubFile(Bytes):
     """
diff --git a/lib/hachoir_core/field/timestamp.py b/lib/hachoir_core/field/timestamp.py
index a533a4b22..579065375 100644
--- a/lib/hachoir_core/field/timestamp.py
+++ b/lib/hachoir_core/field/timestamp.py
@@ -1,7 +1,7 @@
-from hachoir_core.tools import (humanDatetime, humanDuration,
+from lib.hachoir_core.tools import (humanDatetime, humanDuration,
     timestampUNIX, timestampMac32, timestampUUID60,
     timestampWin64, durationWin64)
-from hachoir_core.field import Bits, FieldSet
+from lib.hachoir_core.field import Bits, FieldSet
 from datetime import datetime
 
 class GenericTimestamp(Bits):
diff --git a/lib/hachoir_core/field/vector.py b/lib/hachoir_core/field/vector.py
index 953fdbc3d..eba864711 100644
--- a/lib/hachoir_core/field/vector.py
+++ b/lib/hachoir_core/field/vector.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import Field, FieldSet, ParserError
+from lib.hachoir_core.field import Field, FieldSet, ParserError
 
 class GenericVector(FieldSet):
     def __init__(self, parent, name, nb_items, item_class, item_name="item", description=None):
diff --git a/lib/hachoir_core/i18n.py b/lib/hachoir_core/i18n.py
index b34c74807..42d37a1c9 100644
--- a/lib/hachoir_core/i18n.py
+++ b/lib/hachoir_core/i18n.py
@@ -14,8 +14,8 @@ WARNING: Loading this module indirectly calls initLocale() which sets
          settings.
 """
 
-import hachoir_core.config as config
-import hachoir_core
+import lib.hachoir_core.config as config
+import lib.hachoir_core
 import locale
 from os import path
 import sys
diff --git a/lib/hachoir_core/language.py b/lib/hachoir_core/language.py
index 997f7a61d..2f80ddce5 100644
--- a/lib/hachoir_core/language.py
+++ b/lib/hachoir_core/language.py
@@ -1,4 +1,4 @@
-from hachoir_core.iso639 import ISO639_2
+from lib.hachoir_core.iso639 import ISO639_2
 
 class Language:
     def __init__(self, code):
diff --git a/lib/hachoir_core/log.py b/lib/hachoir_core/log.py
index 32fca06d0..f777ab6b0 100644
--- a/lib/hachoir_core/log.py
+++ b/lib/hachoir_core/log.py
@@ -1,6 +1,6 @@
 import os, sys, time
-import hachoir_core.config as config
-from hachoir_core.i18n import _
+import lib.hachoir_core.config as config
+from lib.hachoir_core.i18n import _
 
 class Log:
     LOG_INFO   = 0
@@ -75,7 +75,7 @@ class Log:
            level <= self.LOG_INFO and not config.verbose:
             return
         if config.debug:
-            from hachoir_core.error import getBacktrace
+            from lib.hachoir_core.error import getBacktrace
             backtrace = getBacktrace(None)
             if backtrace:
                 text += "\n\n" + backtrace
diff --git a/lib/hachoir_core/stream/__init__.py b/lib/hachoir_core/stream/__init__.py
index 163e12a3d..c2a8f6dcd 100644
--- a/lib/hachoir_core/stream/__init__.py
+++ b/lib/hachoir_core/stream/__init__.py
@@ -1,11 +1,11 @@
-from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from hachoir_core.stream.stream import StreamError
-from hachoir_core.stream.input import (
+from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from lib.hachoir_core.stream.stream import StreamError
+from lib.hachoir_core.stream.input import (
         InputStreamError,
         InputStream, InputIOStream, StringInputStream,
         InputSubStream, InputFieldStream,
         FragmentedStream, ConcatStream)
-from hachoir_core.stream.input_helper import FileInputStream, guessStreamCharset
-from hachoir_core.stream.output import (OutputStreamError,
+from lib.hachoir_core.stream.input_helper import FileInputStream, guessStreamCharset
+from lib.hachoir_core.stream.output import (OutputStreamError,
         FileOutputStream, StringOutputStream, OutputStream)
 
diff --git a/lib/hachoir_core/stream/input.py b/lib/hachoir_core/stream/input.py
index ec2c27c1a..ec01e6e46 100644
--- a/lib/hachoir_core/stream/input.py
+++ b/lib/hachoir_core/stream/input.py
@@ -1,14 +1,14 @@
-from hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
-from hachoir_core.error import info
-from hachoir_core.log import Logger
-from hachoir_core.bits import str2long
-from hachoir_core.i18n import getTerminalCharset
-from hachoir_core.tools import lowerBound
-from hachoir_core.i18n import _
+from lib.hachoir_core.endian import BIG_ENDIAN, LITTLE_ENDIAN
+from lib.hachoir_core.error import info
+from lib.hachoir_core.log import Logger
+from lib.hachoir_core.bits import str2long
+from lib.hachoir_core.i18n import getTerminalCharset
+from lib.hachoir_core.tools import lowerBound
+from lib.hachoir_core.i18n import _
 from os import dup, fdopen
 from errno import ESPIPE
 from weakref import ref as weakref_ref
-from hachoir_core.stream import StreamError
+from lib.hachoir_core.stream import StreamError
 
 class InputStreamError(StreamError):
     pass
diff --git a/lib/hachoir_core/stream/input_helper.py b/lib/hachoir_core/stream/input_helper.py
index e79383102..9c222f3a7 100644
--- a/lib/hachoir_core/stream/input_helper.py
+++ b/lib/hachoir_core/stream/input_helper.py
@@ -1,5 +1,5 @@
-from hachoir_core.i18n import getTerminalCharset, guessBytesCharset, _
-from hachoir_core.stream import InputIOStream, InputSubStream, InputStreamError
+from lib.hachoir_core.i18n import getTerminalCharset, guessBytesCharset, _
+from lib.hachoir_core.stream import InputIOStream, InputSubStream, InputStreamError
 
 def FileInputStream(filename, real_filename=None, **args):
     """
diff --git a/lib/hachoir_core/stream/output.py b/lib/hachoir_core/stream/output.py
index e31637d69..a809f76b6 100644
--- a/lib/hachoir_core/stream/output.py
+++ b/lib/hachoir_core/stream/output.py
@@ -1,7 +1,7 @@
 from cStringIO import StringIO
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.bits import long2raw
-from hachoir_core.stream import StreamError
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.bits import long2raw
+from lib.hachoir_core.stream import StreamError
 from errno import EBADF
 
 MAX_READ_NBYTES = 2 ** 16
diff --git a/lib/hachoir_core/stream/stream.py b/lib/hachoir_core/stream/stream.py
index 58c9aea83..101fcf68d 100644
--- a/lib/hachoir_core/stream/stream.py
+++ b/lib/hachoir_core/stream/stream.py
@@ -1,4 +1,4 @@
-from hachoir_core.error import HachoirError
+from lib.hachoir_core.error import HachoirError
 
 class StreamError(HachoirError):
     pass
diff --git a/lib/hachoir_core/text_handler.py b/lib/hachoir_core/text_handler.py
index e2c65f0a0..1a67e9be0 100644
--- a/lib/hachoir_core/text_handler.py
+++ b/lib/hachoir_core/text_handler.py
@@ -2,12 +2,12 @@
 Utilities used to convert a field to human classic reprentation of data.
 """
 
-from hachoir_core.tools import (
+from lib.hachoir_core.tools import (
     humanDuration, humanFilesize, alignValue,
     durationWin64 as doDurationWin64,
     deprecated)
 from types import FunctionType, MethodType
-from hachoir_core.field import Field
+from lib.hachoir_core.field import Field
 
 def textHandler(field, handler):
     assert isinstance(handler, (FunctionType, MethodType))
diff --git a/lib/hachoir_core/tools.py b/lib/hachoir_core/tools.py
index 30fa327ab..1994dbfb6 100644
--- a/lib/hachoir_core/tools.py
+++ b/lib/hachoir_core/tools.py
@@ -4,7 +4,7 @@
 Various utilities.
 """
 
-from hachoir_core.i18n import _, ngettext
+from lib.hachoir_core.i18n import _, ngettext
 import re
 import stat
 from datetime import datetime, timedelta, MAXYEAR
diff --git a/lib/hachoir_metadata/__init__.py b/lib/hachoir_metadata/__init__.py
index 5ab4743cf..54adbaa85 100644
--- a/lib/hachoir_metadata/__init__.py
+++ b/lib/hachoir_metadata/__init__.py
@@ -1,15 +1,15 @@
-from hachoir_metadata.version import VERSION as __version__
-from hachoir_metadata.metadata import extractMetadata
+from lib.hachoir_metadata.version import VERSION as __version__
+from lib.hachoir_metadata.metadata import extractMetadata
 
 # Just import the module,
 # each module use registerExtractor() method
-import hachoir_metadata.archive
-import hachoir_metadata.audio
-import hachoir_metadata.file_system
-import hachoir_metadata.image
-import hachoir_metadata.jpeg
-import hachoir_metadata.misc
-import hachoir_metadata.program
-import hachoir_metadata.riff
-import hachoir_metadata.video
+import lib.hachoir_metadata.archive
+import lib.hachoir_metadata.audio
+import lib.hachoir_metadata.file_system
+import lib.hachoir_metadata.image
+import lib.hachoir_metadata.jpeg
+import lib.hachoir_metadata.misc
+import lib.hachoir_metadata.program
+import lib.hachoir_metadata.riff
+import lib.hachoir_metadata.video
 
diff --git a/lib/hachoir_metadata/archive.py b/lib/hachoir_metadata/archive.py
index 7fa39ea71..64289ac9c 100644
--- a/lib/hachoir_metadata/archive.py
+++ b/lib/hachoir_metadata/archive.py
@@ -1,11 +1,11 @@
-from hachoir_metadata.metadata_item import QUALITY_BEST, QUALITY_FASTEST
-from hachoir_metadata.safe import fault_tolerant, getValue
-from hachoir_metadata.metadata import (
+from lib.hachoir_metadata.metadata_item import QUALITY_BEST, QUALITY_FASTEST
+from lib.hachoir_metadata.safe import fault_tolerant, getValue
+from lib.hachoir_metadata.metadata import (
     RootMetadata, Metadata, MultipleMetadata, registerExtractor)
-from hachoir_parser.archive import (Bzip2Parser, CabFile, GzipParser,
+from lib.hachoir_parser.archive import (Bzip2Parser, CabFile, GzipParser,
     TarFile, ZipFile, MarFile)
-from hachoir_core.tools import humanUnixAttributes
-from hachoir_core.i18n import _
+from lib.hachoir_core.tools import humanUnixAttributes
+from lib.hachoir_core.i18n import _
 
 def maxNbFile(meta):
     if meta.quality <= QUALITY_FASTEST:
diff --git a/lib/hachoir_metadata/audio.py b/lib/hachoir_metadata/audio.py
index 566613e0c..86284c471 100644
--- a/lib/hachoir_metadata/audio.py
+++ b/lib/hachoir_metadata/audio.py
@@ -1,12 +1,12 @@
-from hachoir_metadata.metadata import (registerExtractor,
+from lib.hachoir_metadata.metadata import (registerExtractor,
     Metadata, RootMetadata, MultipleMetadata)
-from hachoir_parser.audio import AuFile, MpegAudioFile, RealAudioFile, AiffFile, FlacParser
-from hachoir_parser.container import OggFile, RealMediaFile
-from hachoir_core.i18n import _
-from hachoir_core.tools import makePrintable, timedelta2seconds, humanBitRate
+from lib.hachoir_parser.audio import AuFile, MpegAudioFile, RealAudioFile, AiffFile, FlacParser
+from lib.hachoir_parser.container import OggFile, RealMediaFile
+from lib.hachoir_core.i18n import _
+from lib.hachoir_core.tools import makePrintable, timedelta2seconds, humanBitRate
 from datetime import timedelta
-from hachoir_metadata.metadata_item import QUALITY_FAST, QUALITY_NORMAL, QUALITY_BEST
-from hachoir_metadata.safe import fault_tolerant, getValue
+from lib.hachoir_metadata.metadata_item import QUALITY_FAST, QUALITY_NORMAL, QUALITY_BEST
+from lib.hachoir_metadata.safe import fault_tolerant, getValue
 
 def computeComprRate(meta, size):
     if not meta.has("duration") \
diff --git a/lib/hachoir_metadata/file_system.py b/lib/hachoir_metadata/file_system.py
index b111c4862..ff5ff9979 100644
--- a/lib/hachoir_metadata/file_system.py
+++ b/lib/hachoir_metadata/file_system.py
@@ -1,6 +1,6 @@
-from hachoir_metadata.metadata import RootMetadata, registerExtractor
-from hachoir_metadata.safe import fault_tolerant
-from hachoir_parser.file_system import ISO9660
+from lib.hachoir_metadata.metadata import RootMetadata, registerExtractor
+from lib.hachoir_metadata.safe import fault_tolerant
+from lib.hachoir_parser.file_system import ISO9660
 from datetime import datetime
 
 class ISO9660_Metadata(RootMetadata):
diff --git a/lib/hachoir_metadata/filter.py b/lib/hachoir_metadata/filter.py
index b4af8e3c6..0807c5d78 100644
--- a/lib/hachoir_metadata/filter.py
+++ b/lib/hachoir_metadata/filter.py
@@ -1,4 +1,4 @@
-from hachoir_metadata.timezone import UTC
+from lib.hachoir_metadata.timezone import UTC
 from datetime import date, datetime
 
 # Year in 1850..2030
diff --git a/lib/hachoir_metadata/formatter.py b/lib/hachoir_metadata/formatter.py
index 0d04f9200..d52c12b2c 100644
--- a/lib/hachoir_metadata/formatter.py
+++ b/lib/hachoir_metadata/formatter.py
@@ -1,4 +1,4 @@
-from hachoir_core.i18n import _, ngettext
+from lib.hachoir_core.i18n import _, ngettext
 
 NB_CHANNEL_NAME = {1: _("mono"), 2: _("stereo")}
 
diff --git a/lib/hachoir_metadata/image.py b/lib/hachoir_metadata/image.py
index 905cdd793..fbe41a3cb 100644
--- a/lib/hachoir_metadata/image.py
+++ b/lib/hachoir_metadata/image.py
@@ -1,12 +1,12 @@
-from hachoir_metadata.metadata import (registerExtractor,
+from lib.hachoir_metadata.metadata import (registerExtractor,
     Metadata, RootMetadata, MultipleMetadata)
-from hachoir_parser.image import (
+from lib.hachoir_parser.image import (
     BmpFile, IcoFile, PcxFile, GifFile, PngFile, TiffFile,
     XcfFile, TargaFile, WMF_File, PsdFile)
-from hachoir_parser.image.png import getBitsPerPixel as pngBitsPerPixel
-from hachoir_parser.image.xcf import XcfProperty
-from hachoir_core.i18n import _
-from hachoir_metadata.safe import fault_tolerant
+from lib.hachoir_parser.image.png import getBitsPerPixel as pngBitsPerPixel
+from lib.hachoir_parser.image.xcf import XcfProperty
+from lib.hachoir_core.i18n import _
+from lib.hachoir_metadata.safe import fault_tolerant
 
 def computeComprRate(meta, compr_size):
     """
diff --git a/lib/hachoir_metadata/jpeg.py b/lib/hachoir_metadata/jpeg.py
index 29247dc6f..9a3fe1aa1 100644
--- a/lib/hachoir_metadata/jpeg.py
+++ b/lib/hachoir_metadata/jpeg.py
@@ -1,14 +1,14 @@
-from hachoir_metadata.metadata import RootMetadata, registerExtractor
-from hachoir_metadata.image import computeComprRate
-from hachoir_parser.image.exif import ExifEntry
-from hachoir_parser.image.jpeg import (
+from lib.hachoir_metadata.metadata import RootMetadata, registerExtractor
+from lib.hachoir_metadata.image import computeComprRate
+from lib.hachoir_parser.image.exif import ExifEntry
+from lib.hachoir_parser.image.jpeg import (
     JpegFile, JpegChunk,
     QUALITY_HASH_COLOR, QUALITY_SUM_COLOR,
     QUALITY_HASH_GRAY, QUALITY_SUM_GRAY)
-from hachoir_core.field import MissingField
-from hachoir_core.i18n import _
-from hachoir_core.tools import makeUnicode
-from hachoir_metadata.safe import fault_tolerant
+from lib.hachoir_core.field import MissingField
+from lib.hachoir_core.i18n import _
+from lib.hachoir_core.tools import makeUnicode
+from lib.hachoir_metadata.safe import fault_tolerant
 from datetime import datetime
 
 def deg2float(degree, minute, second):
diff --git a/lib/hachoir_metadata/metadata.py b/lib/hachoir_metadata/metadata.py
index 37461c9d5..489a54667 100644
--- a/lib/hachoir_metadata/metadata.py
+++ b/lib/hachoir_metadata/metadata.py
@@ -1,14 +1,14 @@
 # -*- coding: utf-8 -*-
-from hachoir_core.compatibility import any, sorted
-from hachoir_core.endian import endian_name
-from hachoir_core.tools import makePrintable, makeUnicode
-from hachoir_core.dict import Dict
-from hachoir_core.error import error, HACHOIR_ERRORS
-from hachoir_core.i18n import _
-from hachoir_core.log import Logger
-from hachoir_metadata.metadata_item import (
+from lib.hachoir_core.compatibility import any, sorted
+from lib.hachoir_core.endian import endian_name
+from lib.hachoir_core.tools import makePrintable, makeUnicode
+from lib.hachoir_core.dict import Dict
+from lib.hachoir_core.error import error, HACHOIR_ERRORS
+from lib.hachoir_core.i18n import _
+from lib.hachoir_core.log import Logger
+from lib.hachoir_metadata.metadata_item import (
     MIN_PRIORITY, MAX_PRIORITY, QUALITY_NORMAL)
-from hachoir_metadata.register import registerAllItems
+from lib.hachoir_metadata.register import registerAllItems
 
 extractors = {}
 
diff --git a/lib/hachoir_metadata/metadata_item.py b/lib/hachoir_metadata/metadata_item.py
index bddd3b074..4b5573af9 100644
--- a/lib/hachoir_metadata/metadata_item.py
+++ b/lib/hachoir_metadata/metadata_item.py
@@ -1,7 +1,7 @@
-from hachoir_core.tools import makeUnicode, normalizeNewline
-from hachoir_core.error import HACHOIR_ERRORS
-from hachoir_metadata import config
-from hachoir_metadata.setter import normalizeString
+from lib.hachoir_core.tools import makeUnicode, normalizeNewline
+from lib.hachoir_core.error import HACHOIR_ERRORS
+from lib.hachoir_metadata import config
+from lib.hachoir_metadata.setter import normalizeString
 
 MIN_PRIORITY = 100
 MAX_PRIORITY = 999
diff --git a/lib/hachoir_metadata/misc.py b/lib/hachoir_metadata/misc.py
index 04c70a6e7..676477846 100644
--- a/lib/hachoir_metadata/misc.py
+++ b/lib/hachoir_metadata/misc.py
@@ -1,11 +1,11 @@
-from hachoir_metadata.metadata import RootMetadata, registerExtractor
-from hachoir_metadata.safe import fault_tolerant
-from hachoir_parser.container import SwfFile
-from hachoir_parser.misc import TorrentFile, TrueTypeFontFile, OLE2_File, PcfFile
-from hachoir_core.field import isString
-from hachoir_core.error import warning
-from hachoir_parser import guessParser
-from hachoir_metadata.setter import normalizeString
+from lib.hachoir_metadata.metadata import RootMetadata, registerExtractor
+from lib.hachoir_metadata.safe import fault_tolerant
+from lib.hachoir_parser.container import SwfFile
+from lib.hachoir_parser.misc import TorrentFile, TrueTypeFontFile, OLE2_File, PcfFile
+from lib.hachoir_core.field import isString
+from lib.hachoir_core.error import warning
+from lib.hachoir_parser import guessParser
+from lib.hachoir_metadata.setter import normalizeString
 
 class TorrentMetadata(RootMetadata):
     KEY_TO_ATTR = {
diff --git a/lib/hachoir_metadata/program.py b/lib/hachoir_metadata/program.py
index a524cee62..14027d509 100644
--- a/lib/hachoir_metadata/program.py
+++ b/lib/hachoir_metadata/program.py
@@ -1,6 +1,6 @@
-from hachoir_metadata.metadata import RootMetadata, registerExtractor
-from hachoir_parser.program import ExeFile
-from hachoir_metadata.safe import fault_tolerant, getValue
+from lib.hachoir_metadata.metadata import RootMetadata, registerExtractor
+from lib.hachoir_parser.program import ExeFile
+from lib.hachoir_metadata.safe import fault_tolerant, getValue
 
 class ExeMetadata(RootMetadata):
     KEY_TO_ATTR = {
diff --git a/lib/hachoir_metadata/register.py b/lib/hachoir_metadata/register.py
index 3cbde86dd..9916d36f7 100644
--- a/lib/hachoir_metadata/register.py
+++ b/lib/hachoir_metadata/register.py
@@ -1,17 +1,17 @@
-from hachoir_core.i18n import _
-from hachoir_core.tools import (
+from lib.hachoir_core.i18n import _
+from lib.hachoir_core.tools import (
     humanDuration, humanBitRate,
     humanFrequency, humanBitSize, humanFilesize,
     humanDatetime)
-from hachoir_core.language import Language
-from hachoir_metadata.filter import Filter, NumberFilter, DATETIME_FILTER
+from lib.hachoir_core.language import Language
+from lib.hachoir_metadata.filter import Filter, NumberFilter, DATETIME_FILTER
 from datetime import date, datetime, timedelta
-from hachoir_metadata.formatter import (
+from lib.hachoir_metadata.formatter import (
     humanAudioChannel, humanFrameRate, humanComprRate, humanAltitude,
     humanPixelSize, humanDPI)
-from hachoir_metadata.setter import (
+from lib.hachoir_metadata.setter import (
     setDatetime, setTrackNumber, setTrackTotal, setLanguage)
-from hachoir_metadata.metadata_item import Data
+from lib.hachoir_metadata.metadata_item import Data
 
 MIN_SAMPLE_RATE = 1000              # 1 kHz
 MAX_SAMPLE_RATE = 192000            # 192 kHz
diff --git a/lib/hachoir_metadata/riff.py b/lib/hachoir_metadata/riff.py
index adcc0bd90..e3bfa6f4d 100644
--- a/lib/hachoir_metadata/riff.py
+++ b/lib/hachoir_metadata/riff.py
@@ -2,13 +2,13 @@
 Extract metadata from RIFF file format: AVI video and WAV sound.
 """
 
-from hachoir_metadata.metadata import Metadata, MultipleMetadata, registerExtractor
-from hachoir_metadata.safe import fault_tolerant, getValue
-from hachoir_parser.container.riff import RiffFile
-from hachoir_parser.video.fourcc import UNCOMPRESSED_AUDIO
-from hachoir_core.tools import humanFilesize, makeUnicode, timedelta2seconds
-from hachoir_core.i18n import _
-from hachoir_metadata.audio import computeComprRate as computeAudioComprRate
+from lib.hachoir_metadata.metadata import Metadata, MultipleMetadata, registerExtractor
+from lib.hachoir_metadata.safe import fault_tolerant, getValue
+from lib.hachoir_parser.container.riff import RiffFile
+from lib.hachoir_parser.video.fourcc import UNCOMPRESSED_AUDIO
+from lib.hachoir_core.tools import humanFilesize, makeUnicode, timedelta2seconds
+from lib.hachoir_core.i18n import _
+from lib.hachoir_metadata.audio import computeComprRate as computeAudioComprRate
 from datetime import timedelta
 
 class RiffMetadata(MultipleMetadata):
diff --git a/lib/hachoir_metadata/safe.py b/lib/hachoir_metadata/safe.py
index e1d91abb2..708a3c2f9 100644
--- a/lib/hachoir_metadata/safe.py
+++ b/lib/hachoir_metadata/safe.py
@@ -1,4 +1,4 @@
-from hachoir_core.error import HACHOIR_ERRORS, warning
+from lib.hachoir_core.error import HACHOIR_ERRORS, warning
 
 def fault_tolerant(func, *args):
     def safe_func(*args, **kw):
diff --git a/lib/hachoir_metadata/setter.py b/lib/hachoir_metadata/setter.py
index 41da41407..77ecf6688 100644
--- a/lib/hachoir_metadata/setter.py
+++ b/lib/hachoir_metadata/setter.py
@@ -1,10 +1,10 @@
 from datetime import date, datetime
 import re
-from hachoir_core.language import Language
+from lib.hachoir_core.language import Language
 from locale import setlocale, LC_ALL
 from time import strptime
-from hachoir_metadata.timezone import createTimezone
-from hachoir_metadata import config
+from lib.hachoir_metadata.timezone import createTimezone
+from lib.hachoir_metadata import config
 
 NORMALIZE_REGEX = re.compile("[-/.: ]+")
 YEAR_REGEX1 = re.compile("^([0-9]{4})$")
diff --git a/lib/hachoir_metadata/video.py b/lib/hachoir_metadata/video.py
index 215ef225a..e7cdc6823 100644
--- a/lib/hachoir_metadata/video.py
+++ b/lib/hachoir_metadata/video.py
@@ -1,14 +1,14 @@
-from hachoir_core.field import MissingField
-from hachoir_metadata.metadata import (registerExtractor,
+from lib.hachoir_core.field import MissingField
+from lib.hachoir_metadata.metadata import (registerExtractor,
     Metadata, RootMetadata, MultipleMetadata)
-from hachoir_metadata.metadata_item import QUALITY_GOOD
-from hachoir_metadata.safe import fault_tolerant
-from hachoir_parser.video import MovFile, AsfFile, FlvFile
-from hachoir_parser.video.asf import Descriptor as ASF_Descriptor
-from hachoir_parser.container import MkvFile
-from hachoir_parser.container.mkv import dateToDatetime
-from hachoir_core.i18n import _
-from hachoir_core.tools import makeUnicode, makePrintable, timedelta2seconds
+from lib.hachoir_metadata.metadata_item import QUALITY_GOOD
+from lib.hachoir_metadata.safe import fault_tolerant
+from lib.hachoir_parser.video import MovFile, AsfFile, FlvFile
+from lib.hachoir_parser.video.asf import Descriptor as ASF_Descriptor
+from lib.hachoir_parser.container import MkvFile
+from lib.hachoir_parser.container.mkv import dateToDatetime
+from lib.hachoir_core.i18n import _
+from lib.hachoir_core.tools import makeUnicode, makePrintable, timedelta2seconds
 from datetime import timedelta
 
 class MkvMetadata(MultipleMetadata):
diff --git a/lib/hachoir_parser/__init__.py b/lib/hachoir_parser/__init__.py
index 1b9860abb..0d1e04699 100644
--- a/lib/hachoir_parser/__init__.py
+++ b/lib/hachoir_parser/__init__.py
@@ -1,7 +1,7 @@
-from hachoir_parser.version import __version__
-from hachoir_parser.parser import ValidateError, HachoirParser, Parser
-from hachoir_parser.parser_list import ParserList, HachoirParserList
-from hachoir_parser.guess import (QueryParser, guessParser, createParser)
-from hachoir_parser import (archive, audio, container,
+from lib.hachoir_parser.version import __version__
+from lib.hachoir_parser.parser import ValidateError, HachoirParser, Parser
+from lib.hachoir_parser.parser_list import ParserList, HachoirParserList
+from lib.hachoir_parser.guess import (QueryParser, guessParser, createParser)
+from lib.hachoir_parser import (archive, audio, container,
     file_system, image, game, misc, network, program, video)
 
diff --git a/lib/hachoir_parser/archive/__init__.py b/lib/hachoir_parser/archive/__init__.py
index ecd09e8f8..86fbb9eba 100644
--- a/lib/hachoir_parser/archive/__init__.py
+++ b/lib/hachoir_parser/archive/__init__.py
@@ -1,12 +1,12 @@
-from hachoir_parser.archive.ace import AceFile
-from hachoir_parser.archive.ar import ArchiveFile
-from hachoir_parser.archive.bzip2_parser import Bzip2Parser
-from hachoir_parser.archive.cab import CabFile
-from hachoir_parser.archive.gzip_parser import GzipParser
-from hachoir_parser.archive.tar import TarFile
-from hachoir_parser.archive.zip import ZipFile
-from hachoir_parser.archive.rar import RarFile
-from hachoir_parser.archive.rpm import RpmFile
-from hachoir_parser.archive.sevenzip import SevenZipParser
-from hachoir_parser.archive.mar import MarFile
+from lib.hachoir_parser.archive.ace import AceFile
+from lib.hachoir_parser.archive.ar import ArchiveFile
+from lib.hachoir_parser.archive.bzip2_parser import Bzip2Parser
+from lib.hachoir_parser.archive.cab import CabFile
+from lib.hachoir_parser.archive.gzip_parser import GzipParser
+from lib.hachoir_parser.archive.tar import TarFile
+from lib.hachoir_parser.archive.zip import ZipFile
+from lib.hachoir_parser.archive.rar import RarFile
+from lib.hachoir_parser.archive.rpm import RpmFile
+from lib.hachoir_parser.archive.sevenzip import SevenZipParser
+from lib.hachoir_parser.archive.mar import MarFile
 
diff --git a/lib/hachoir_parser/archive/ace.py b/lib/hachoir_parser/archive/ace.py
index 03652920f..ff65bbb64 100644
--- a/lib/hachoir_parser/archive/ace.py
+++ b/lib/hachoir_parser/archive/ace.py
@@ -11,15 +11,15 @@ Author: Christophe Gisquet <christophe.gisquet@free.fr>
 Creation date: 19 january 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
     Bit, Bits, NullBits, RawBytes, Enum,
     UInt8, UInt16, UInt32,
     PascalString8, PascalString16, String,
     TimeDateMSDOS32)
-from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.common.msdos import MSDOSFileAttr32
+from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_parser.common.msdos import MSDOSFileAttr32
 
 MAGIC = "**ACE**"
 
diff --git a/lib/hachoir_parser/archive/ar.py b/lib/hachoir_parser/archive/ar.py
index 421cdc53c..e314e9a1d 100644
--- a/lib/hachoir_parser/archive/ar.py
+++ b/lib/hachoir_parser/archive/ar.py
@@ -2,10 +2,10 @@
 GNU ar archive : archive file (.a) and Debian (.deb) archive.
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     String, RawBytes, UnixLine)
-from hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.endian import BIG_ENDIAN
 
 class ArchiveFileEntry(FieldSet):
     def createFields(self):
diff --git a/lib/hachoir_parser/archive/bzip2_parser.py b/lib/hachoir_parser/archive/bzip2_parser.py
index bec1d0e1c..50760b7df 100644
--- a/lib/hachoir_parser/archive/bzip2_parser.py
+++ b/lib/hachoir_parser/archive/bzip2_parser.py
@@ -4,11 +4,11 @@ BZIP2 archive file
 Author: Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (ParserError, String,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (ParserError, String,
     Bytes, Character, UInt8, UInt32, CompressedField)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
 
 try:
     from bz2 import BZ2Decompressor
diff --git a/lib/hachoir_parser/archive/cab.py b/lib/hachoir_parser/archive/cab.py
index 856b01eeb..ef6ab7c72 100644
--- a/lib/hachoir_parser/archive/cab.py
+++ b/lib/hachoir_parser/archive/cab.py
@@ -5,14 +5,14 @@ Author: Victor Stinner
 Creation date: 31 january 2007
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Enum,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Enum,
     CString, String,
     UInt16, UInt32, Bit, Bits, PaddingBits, NullBits,
     DateTimeMSDOS32, RawBytes)
-from hachoir_parser.common.msdos import MSDOSFileAttr16
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_parser.common.msdos import MSDOSFileAttr16
+from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.endian import LITTLE_ENDIAN
 
 MAX_NB_FOLDER = 30
 
diff --git a/lib/hachoir_parser/archive/gzip_parser.py b/lib/hachoir_parser/archive/gzip_parser.py
index c0820332c..5f63cbc14 100644
--- a/lib/hachoir_parser/archive/gzip_parser.py
+++ b/lib/hachoir_parser/archive/gzip_parser.py
@@ -4,14 +4,14 @@ GZIP archive parser.
 Author: Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (
     UInt8, UInt16, UInt32, Enum, TimestampUnix32,
     Bit, CString, SubFile,
     NullBits, Bytes, RawBytes)
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.common.deflate import Deflate
+from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_parser.common.deflate import Deflate
 
 class GzipParser(Parser):
     endian = LITTLE_ENDIAN
diff --git a/lib/hachoir_parser/archive/mar.py b/lib/hachoir_parser/archive/mar.py
index 6a7e31a76..05be1cbd4 100644
--- a/lib/hachoir_parser/archive/mar.py
+++ b/lib/hachoir_parser/archive/mar.py
@@ -7,10 +7,10 @@ Creation date: 2007-03-04
 
 MAX_NB_FILE = 100000
 
-from hachoir_parser import Parser
-from hachoir_core.field import FieldSet, String, UInt32, SubFile
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import FieldSet, String, UInt32, SubFile
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
 
 class FileIndex(FieldSet):
     static_size = 68*8
diff --git a/lib/hachoir_parser/archive/rar.py b/lib/hachoir_parser/archive/rar.py
index 2be5887c4..166ae0417 100644
--- a/lib/hachoir_parser/archive/rar.py
+++ b/lib/hachoir_parser/archive/rar.py
@@ -5,15 +5,15 @@ Status: can only read higher-level attructures
 Author: Christophe Gisquet
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
     Bit, Bits, Enum,
     UInt8, UInt16, UInt32, UInt64,
     String, TimeDateMSDOS32,
     NullBytes, NullBits, RawBytes)
-from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.common.msdos import MSDOSFileAttr32
+from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_parser.common.msdos import MSDOSFileAttr32
 
 MAX_FILESIZE = 1000 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/archive/rpm.py b/lib/hachoir_parser/archive/rpm.py
index ccb8d2e58..60235755b 100644
--- a/lib/hachoir_parser/archive/rpm.py
+++ b/lib/hachoir_parser/archive/rpm.py
@@ -4,14 +4,14 @@ RPM archive parser.
 Author: Victor Stinner, 1st December 2005.
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, UInt64, Enum,
     NullBytes, Bytes, RawBytes, SubFile,
     Character, CString, String)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_parser.archive.gzip_parser import GzipParser
-from hachoir_parser.archive.bzip2_parser import Bzip2Parser
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_parser.archive.gzip_parser import GzipParser
+from lib.hachoir_parser.archive.bzip2_parser import Bzip2Parser
 
 class ItemContent(FieldSet):
     format_type = {
diff --git a/lib/hachoir_parser/archive/sevenzip.py b/lib/hachoir_parser/archive/sevenzip.py
index 7a0148f5f..91f9716c5 100644
--- a/lib/hachoir_parser/archive/sevenzip.py
+++ b/lib/hachoir_parser/archive/sevenzip.py
@@ -9,13 +9,13 @@ Author: Olivier SCHWAB
 Creation date: 6 december 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (Field, FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (Field, FieldSet, ParserError,
     GenericVector,
     Enum, UInt8, UInt32, UInt64,
     Bytes, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
 
 class SZUInt64(Field):
     """
diff --git a/lib/hachoir_parser/archive/tar.py b/lib/hachoir_parser/archive/tar.py
index 08a9040be..bd2dc1ad2 100644
--- a/lib/hachoir_parser/archive/tar.py
+++ b/lib/hachoir_parser/archive/tar.py
@@ -4,11 +4,11 @@ Tar archive parser.
 Author: Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Enum, UInt8, SubFile, String, NullBytes)
-from hachoir_core.tools import humanFilesize, paddingSize, timestampUNIX
-from hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.tools import humanFilesize, paddingSize, timestampUNIX
+from lib.hachoir_core.endian import BIG_ENDIAN
 import re
 
 class FileEntry(FieldSet):
diff --git a/lib/hachoir_parser/archive/zip.py b/lib/hachoir_parser/archive/zip.py
index b3cd54a59..98a41293d 100644
--- a/lib/hachoir_parser/archive/zip.py
+++ b/lib/hachoir_parser/archive/zip.py
@@ -5,18 +5,18 @@ Status: can read most important headers
 Authors: Christophe Gisquet and Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, Enum,
     TimeDateMSDOS32, SubFile,
     UInt8, UInt16, UInt32, UInt64,
     String, PascalString16,
     RawBytes)
-from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from hachoir_core.error import HACHOIR_ERRORS
-from hachoir_core.tools import makeUnicode
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.common.deflate import Deflate
+from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from lib.hachoir_core.error import HACHOIR_ERRORS
+from lib.hachoir_core.tools import makeUnicode
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_parser.common.deflate import Deflate
 
 MAX_FILESIZE = 1000 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/audio/8svx.py b/lib/hachoir_parser/audio/8svx.py
index 109d03dae..16d0f7030 100644
--- a/lib/hachoir_parser/audio/8svx.py
+++ b/lib/hachoir_parser/audio/8svx.py
@@ -5,15 +5,15 @@ Author: Victor Stinner
 Creation: 27 december 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, Float80, TimestampMac32,
     RawBytes, NullBytes,
     String, Enum, PascalString32)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import filesizeHandler
-from hachoir_core.tools import alignValue
-from hachoir_parser.audio.id3 import ID3v2
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import filesizeHandler
+from lib.hachoir_core.tools import alignValue
+from lib.hachoir_parser.audio.id3 import ID3v2
 
 CODEC_NAME = {
     'ACE2': u"ACE 2-to-1",
diff --git a/lib/hachoir_parser/audio/__init__.py b/lib/hachoir_parser/audio/__init__.py
index 1cc33a235..0c6ac749f 100644
--- a/lib/hachoir_parser/audio/__init__.py
+++ b/lib/hachoir_parser/audio/__init__.py
@@ -1,12 +1,12 @@
-from hachoir_parser.audio.aiff import AiffFile
-from hachoir_parser.audio.au import AuFile
-from hachoir_parser.audio.itunesdb import ITunesDBFile
-from hachoir_parser.audio.midi import MidiFile
-from hachoir_parser.audio.mpeg_audio import MpegAudioFile
-from hachoir_parser.audio.real_audio import RealAudioFile
-from hachoir_parser.audio.xm import XMModule
-from hachoir_parser.audio.s3m import S3MModule
-from hachoir_parser.audio.s3m import PTMModule
-from hachoir_parser.audio.mod import AmigaModule
-from hachoir_parser.audio.flac import FlacParser
+from lib.hachoir_parser.audio.aiff import AiffFile
+from lib.hachoir_parser.audio.au import AuFile
+from lib.hachoir_parser.audio.itunesdb import ITunesDBFile
+from lib.hachoir_parser.audio.midi import MidiFile
+from lib.hachoir_parser.audio.mpeg_audio import MpegAudioFile
+from lib.hachoir_parser.audio.real_audio import RealAudioFile
+from lib.hachoir_parser.audio.xm import XMModule
+from lib.hachoir_parser.audio.s3m import S3MModule
+from lib.hachoir_parser.audio.s3m import PTMModule
+from lib.hachoir_parser.audio.mod import AmigaModule
+from lib.hachoir_parser.audio.flac import FlacParser
 
diff --git a/lib/hachoir_parser/audio/aiff.py b/lib/hachoir_parser/audio/aiff.py
index d8f416967..89c7e61b0 100644
--- a/lib/hachoir_parser/audio/aiff.py
+++ b/lib/hachoir_parser/audio/aiff.py
@@ -5,15 +5,15 @@ Author: Victor Stinner
 Creation: 27 december 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, Float80, TimestampMac32,
     RawBytes, NullBytes,
     String, Enum, PascalString32)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import filesizeHandler
-from hachoir_core.tools import alignValue
-from hachoir_parser.audio.id3 import ID3v2
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import filesizeHandler
+from lib.hachoir_core.tools import alignValue
+from lib.hachoir_parser.audio.id3 import ID3v2
 
 CODEC_NAME = {
     'ACE2': u"ACE 2-to-1",
diff --git a/lib/hachoir_parser/audio/au.py b/lib/hachoir_parser/audio/au.py
index ab9d9c11a..59b2f8e29 100644
--- a/lib/hachoir_parser/audio/au.py
+++ b/lib/hachoir_parser/audio/au.py
@@ -5,11 +5,11 @@ Author: Victor Stinner
 Creation: 12 july 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import UInt32, Enum, String, RawBytes
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import displayHandler, filesizeHandler
-from hachoir_core.tools import createDict, humanFrequency
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import UInt32, Enum, String, RawBytes
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import displayHandler, filesizeHandler
+from lib.hachoir_core.tools import createDict, humanFrequency
 
 class AuFile(Parser):
     PARSER_TAGS = {
diff --git a/lib/hachoir_parser/audio/flac.py b/lib/hachoir_parser/audio/flac.py
index f739ff70d..a30c6b00d 100644
--- a/lib/hachoir_parser/audio/flac.py
+++ b/lib/hachoir_parser/audio/flac.py
@@ -9,11 +9,11 @@ Author: Esteban Loiseau <baal AT tuxfamily.org>
 Creation date: 2008-04-09
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import FieldSet, String, Bit, Bits, UInt16, UInt24, RawBytes, Enum, NullBytes
-from hachoir_core.stream import BIG_ENDIAN, LITTLE_ENDIAN
-from hachoir_core.tools import createDict
-from hachoir_parser.container.ogg import parseVorbisComment
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import FieldSet, String, Bit, Bits, UInt16, UInt24, RawBytes, Enum, NullBytes
+from lib.hachoir_core.stream import BIG_ENDIAN, LITTLE_ENDIAN
+from lib.hachoir_core.tools import createDict
+from lib.hachoir_parser.container.ogg import parseVorbisComment
 
 class VorbisComment(FieldSet):
     endian = LITTLE_ENDIAN
diff --git a/lib/hachoir_parser/audio/id3.py b/lib/hachoir_parser/audio/id3.py
index 3cfda25f9..9616baa2d 100644
--- a/lib/hachoir_parser/audio/id3.py
+++ b/lib/hachoir_parser/audio/id3.py
@@ -6,13 +6,13 @@ Informations: http://www.id3.org/
 Author: Victor Stinner
 """
 
-from hachoir_core.field import (FieldSet, MatchError, ParserError,
+from lib.hachoir_core.field import (FieldSet, MatchError, ParserError,
     Enum, UInt8, UInt24, UInt32,
     CString, String, RawBytes,
     Bit, Bits, NullBytes, NullBits)
-from hachoir_core.text_handler import textHandler
-from hachoir_core.tools import humanDuration
-from hachoir_core.endian import NETWORK_ENDIAN
+from lib.hachoir_core.text_handler import textHandler
+from lib.hachoir_core.tools import humanDuration
+from lib.hachoir_core.endian import NETWORK_ENDIAN
 
 class ID3v1(FieldSet):
     static_size = 128 * 8
diff --git a/lib/hachoir_parser/audio/itunesdb.py b/lib/hachoir_parser/audio/itunesdb.py
index 3472d2d85..76b4f936c 100644
--- a/lib/hachoir_parser/audio/itunesdb.py
+++ b/lib/hachoir_parser/audio/itunesdb.py
@@ -8,13 +8,13 @@ Author: Romain HERAULT
 Creation date: 19 august 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt32, UInt64, TimestampMac32,
     String, Float32, NullBytes, Enum)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.tools import humanDuration
-from hachoir_core.text_handler import displayHandler, filesizeHandler
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.tools import humanDuration
+from lib.hachoir_core.text_handler import displayHandler, filesizeHandler
 
 list_order={
         1 : "playlist order (manual sort order)",
diff --git a/lib/hachoir_parser/audio/midi.py b/lib/hachoir_parser/audio/midi.py
index 01da22893..5382f2ddf 100644
--- a/lib/hachoir_parser/audio/midi.py
+++ b/lib/hachoir_parser/audio/midi.py
@@ -8,13 +8,13 @@ Author: Victor Stinner
 Creation: 27 december 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Bits, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Bits, ParserError,
     String, UInt32, UInt24, UInt16, UInt8, Enum, RawBytes)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.tools import createDict, humanDurationNanosec
-from hachoir_parser.common.tracker import NOTE_NAME
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.tools import createDict, humanDurationNanosec
+from lib.hachoir_parser.common.tracker import NOTE_NAME
 
 MAX_FILESIZE = 10 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/audio/mod.py b/lib/hachoir_parser/audio/mod.py
index 75025e0cd..5ed300f07 100644
--- a/lib/hachoir_parser/audio/mod.py
+++ b/lib/hachoir_parser/audio/mod.py
@@ -18,12 +18,12 @@ Creation: 18th February 2007
 """
 
 from math import log10
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Bits, UInt16, UInt8,
     RawBytes, String, GenericVector)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler
 
 # Old NoiseTracker 15-samples modules can have anything here.
 MODULE_TYPE = {
diff --git a/lib/hachoir_parser/audio/modplug.py b/lib/hachoir_parser/audio/modplug.py
index d0ea0ff47..6790bc038 100644
--- a/lib/hachoir_parser/audio/modplug.py
+++ b/lib/hachoir_parser/audio/modplug.py
@@ -8,11 +8,11 @@ Author: Christophe GISQUET <christophe.gisquet@free.fr>
 Creation: 10th February 2007
 """
 
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_core.field import (FieldSet,
     UInt32, UInt16, UInt8, Int8, Float32,
     RawBytes, String, GenericVector, ParserError)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
 
 MAX_ENVPOINTS = 32
 
diff --git a/lib/hachoir_parser/audio/mpeg_audio.py b/lib/hachoir_parser/audio/mpeg_audio.py
index 04e7d327a..b6f2ba918 100644
--- a/lib/hachoir_parser/audio/mpeg_audio.py
+++ b/lib/hachoir_parser/audio/mpeg_audio.py
@@ -5,18 +5,18 @@ Creation: 12 decembre 2005
 Author: Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     MissingField, ParserError, createOrphanField,
     Bit, Bits, Enum,
     PaddingBits, PaddingBytes,
     RawBytes)
-from hachoir_parser.audio.id3 import ID3v1, ID3v2
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.tools import humanFrequency, humanBitSize
-from hachoir_core.bits import long2raw
-from hachoir_core.error import HACHOIR_ERRORS
-from hachoir_core.stream import InputStreamError
+from lib.hachoir_parser.audio.id3 import ID3v1, ID3v2
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.tools import humanFrequency, humanBitSize
+from lib.hachoir_core.bits import long2raw
+from lib.hachoir_core.error import HACHOIR_ERRORS
+from lib.hachoir_core.stream import InputStreamError
 
 # Max MP3 filesize: 200 MB
 MAX_FILESIZE = 200*1024*1024*8
diff --git a/lib/hachoir_parser/audio/real_audio.py b/lib/hachoir_parser/audio/real_audio.py
index 289ed6e1e..5a2100e66 100644
--- a/lib/hachoir_parser/audio/real_audio.py
+++ b/lib/hachoir_parser/audio/real_audio.py
@@ -8,14 +8,14 @@ Samples:
   http://samples.mplayerhq.hu/real/RA/
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt32,
     Bytes, RawBytes, String,
     PascalString8)
-from hachoir_core.tools import humanFrequency
-from hachoir_core.text_handler import displayHandler
-from hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.tools import humanFrequency
+from lib.hachoir_core.text_handler import displayHandler
+from lib.hachoir_core.endian import BIG_ENDIAN
 
 class Metadata(FieldSet):
     def createFields(self):
diff --git a/lib/hachoir_parser/audio/s3m.py b/lib/hachoir_parser/audio/s3m.py
index 1b2a73260..c03d72a05 100644
--- a/lib/hachoir_parser/audio/s3m.py
+++ b/lib/hachoir_parser/audio/s3m.py
@@ -9,15 +9,15 @@ Author: Christophe GISQUET <christophe.gisquet@free.fr>
 Creation: 11th February 2007
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet, Field,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet, Field,
     Bit, Bits,
     UInt32, UInt16, UInt8, Enum,
     PaddingBytes, RawBytes, NullBytes,
     String, GenericVector, ParserError)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.tools import alignValue
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.tools import alignValue
 
 class Chunk:
     def __init__(self, cls, name, offset, size, *args):
diff --git a/lib/hachoir_parser/audio/xm.py b/lib/hachoir_parser/audio/xm.py
index 0b13b41f2..17fd28e0e 100644
--- a/lib/hachoir_parser/audio/xm.py
+++ b/lib/hachoir_parser/audio/xm.py
@@ -13,15 +13,15 @@ Author: Christophe GISQUET <christophe.gisquet@free.fr>
 Creation: 8th February 2007
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
     Bit, RawBits, Bits,
     UInt32, UInt16, UInt8, Int8, Enum,
     RawBytes, String, GenericVector)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from hachoir_parser.audio.modplug import ParseModplugMetadata
-from hachoir_parser.common.tracker import NOTE_NAME
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from lib.hachoir_parser.audio.modplug import ParseModplugMetadata
+from lib.hachoir_parser.common.tracker import NOTE_NAME
 
 def parseSigned(val):
     return "%i" % (val.value-128)
diff --git a/lib/hachoir_parser/common/deflate.py b/lib/hachoir_parser/common/deflate.py
index df9c2e0a0..ee369a29e 100644
--- a/lib/hachoir_parser/common/deflate.py
+++ b/lib/hachoir_parser/common/deflate.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import CompressedField
+from lib.hachoir_core.field import CompressedField
 
 try:
     from zlib import decompressobj, MAX_WBITS
diff --git a/lib/hachoir_parser/common/msdos.py b/lib/hachoir_parser/common/msdos.py
index addd14959..e16920b7c 100644
--- a/lib/hachoir_parser/common/msdos.py
+++ b/lib/hachoir_parser/common/msdos.py
@@ -6,8 +6,8 @@ Documentation:
   http://www.cs.colorado.edu/~main/cs1300/include/ddk/winddk.h
 """
 
-from hachoir_core.field import StaticFieldSet
-from hachoir_core.field import Bit, NullBits
+from lib.hachoir_core.field import StaticFieldSet
+from lib.hachoir_core.field import Bit, NullBits
 
 _FIELDS = (
     (Bit, "read_only"),
diff --git a/lib/hachoir_parser/common/win32.py b/lib/hachoir_parser/common/win32.py
index 177190ec0..07a02f561 100644
--- a/lib/hachoir_parser/common/win32.py
+++ b/lib/hachoir_parser/common/win32.py
@@ -1,9 +1,9 @@
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, Enum, String, Bytes, Bits, TimestampUUID60)
-from hachoir_parser.video.fourcc import video_fourcc_name
-from hachoir_core.bits import str2hex
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_parser.network.common import MAC48_Address
+from lib.hachoir_parser.video.fourcc import video_fourcc_name
+from lib.hachoir_core.bits import str2hex
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_parser.network.common import MAC48_Address
 
 # Dictionary: Windows codepage => Python charset name
 CODEPAGE_CHARSET = {
diff --git a/lib/hachoir_parser/container/__init__.py b/lib/hachoir_parser/container/__init__.py
index 6fd7d3eda..ff22d57a5 100644
--- a/lib/hachoir_parser/container/__init__.py
+++ b/lib/hachoir_parser/container/__init__.py
@@ -1,7 +1,7 @@
-from hachoir_parser.container.asn1 import ASN1File
-from hachoir_parser.container.mkv import MkvFile
-from hachoir_parser.container.ogg import OggFile, OggStream
-from hachoir_parser.container.riff import RiffFile
-from hachoir_parser.container.swf import SwfFile
-from hachoir_parser.container.realmedia import RealMediaFile
+from lib.hachoir_parser.container.asn1 import ASN1File
+from lib.hachoir_parser.container.mkv import MkvFile
+from lib.hachoir_parser.container.ogg import OggFile, OggStream
+from lib.hachoir_parser.container.riff import RiffFile
+from lib.hachoir_parser.container.swf import SwfFile
+from lib.hachoir_parser.container.realmedia import RealMediaFile
 
diff --git a/lib/hachoir_parser/container/action_script.py b/lib/hachoir_parser/container/action_script.py
index 6769ac114..747f772f4 100644
--- a/lib/hachoir_parser/container/action_script.py
+++ b/lib/hachoir_parser/container/action_script.py
@@ -10,11 +10,11 @@ Author: Sebastien Ponce
 Creation date: 26 April 2008
 """
 
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, UInt8, UInt32, Int16, UInt16, Float32, CString,
     RawBytes)
-#from hachoir_core.field import Field
-from hachoir_core.field.float import FloatExponent
+#from lib.hachoir_core.field import Field
+from lib.hachoir_core.field.float import FloatExponent
 from struct import unpack
 
 class FlashFloat64(FieldSet):
diff --git a/lib/hachoir_parser/container/asn1.py b/lib/hachoir_parser/container/asn1.py
index dfac847b3..d1c3d1137 100644
--- a/lib/hachoir_parser/container/asn1.py
+++ b/lib/hachoir_parser/container/asn1.py
@@ -39,15 +39,15 @@ Author: Victor Stinner
 Creation date: 24 september 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     FieldError, ParserError,
     Bit, Bits, Bytes, UInt8, GenericInteger, String,
     Field, Enum, RawBytes)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.tools import createDict, humanDatetime
-from hachoir_core.stream import InputStreamError
-from hachoir_core.text_handler import textHandler
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.tools import createDict, humanDatetime
+from lib.hachoir_core.stream import InputStreamError
+from lib.hachoir_core.text_handler import textHandler
 
 # --- Field parser ---
 
diff --git a/lib/hachoir_parser/container/mkv.py b/lib/hachoir_parser/container/mkv.py
index 4e90f460e..65230d61d 100644
--- a/lib/hachoir_parser/container/mkv.py
+++ b/lib/hachoir_parser/container/mkv.py
@@ -4,18 +4,18 @@
 # Created: 8 june 2006
 #
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Link,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Link,
     MissingField, ParserError,
     Enum as _Enum, String as _String,
     Float32, Float64,
     NullBits, Bits, Bit, RawBytes, Bytes,
     Int16, GenericInteger)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.iso639 import ISO639_2
-from hachoir_core.tools import humanDatetime
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_parser.container.ogg import XiphInt
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.iso639 import ISO639_2
+from lib.hachoir_core.tools import humanDatetime
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_parser.container.ogg import XiphInt
 from datetime import datetime, timedelta
 
 class RawInt(GenericInteger):
diff --git a/lib/hachoir_parser/container/ogg.py b/lib/hachoir_parser/container/ogg.py
index fa2d26cba..82b961d0a 100644
--- a/lib/hachoir_parser/container/ogg.py
+++ b/lib/hachoir_parser/container/ogg.py
@@ -4,15 +4,15 @@
 # Created: 10 june 2006
 #
 
-from hachoir_parser import Parser
-from hachoir_core.field import (Field, FieldSet, createOrphanField,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (Field, FieldSet, createOrphanField,
     NullBits, Bit, Bits, Enum, Fragment, MissingField, ParserError,
     UInt8, UInt16, UInt24, UInt32, UInt64,
     RawBytes, String, PascalString32, NullBytes)
-from hachoir_core.stream import FragmentedStream, InputStreamError
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from hachoir_core.tools import humanDurationNanosec
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.stream import FragmentedStream, InputStreamError
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_core.tools import humanDurationNanosec
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
 
 MAX_FILESIZE = 1000 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/container/realmedia.py b/lib/hachoir_parser/container/realmedia.py
index 45c8173bb..337be9b03 100644
--- a/lib/hachoir_parser/container/realmedia.py
+++ b/lib/hachoir_parser/container/realmedia.py
@@ -13,12 +13,12 @@ Samples:
 - http://samples.mplayerhq.hu/real/
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, Bit, RawBits,
     RawBytes, String, PascalString8, PascalString16)
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import BIG_ENDIAN
 
 def parseHeader(self):
     yield UInt32(self, "filever", "File version")
diff --git a/lib/hachoir_parser/container/riff.py b/lib/hachoir_parser/container/riff.py
index a5e4fc0ac..d5e96b931 100644
--- a/lib/hachoir_parser/container/riff.py
+++ b/lib/hachoir_parser/container/riff.py
@@ -29,17 +29,17 @@ Thanks to:
      format information
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, Enum,
     Bit, NullBits, NullBytes,
     RawBytes, String, PaddingBytes,
     SubFile)
-from hachoir_core.tools import alignValue, humanDuration
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import filesizeHandler, textHandler
-from hachoir_parser.video.fourcc import audio_codec_name, video_fourcc_name
-from hachoir_parser.image.ico import IcoFile
+from lib.hachoir_core.tools import alignValue, humanDuration
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import filesizeHandler, textHandler
+from lib.hachoir_parser.video.fourcc import audio_codec_name, video_fourcc_name
+from lib.hachoir_parser.image.ico import IcoFile
 from datetime import timedelta
 
 def parseText(self):
diff --git a/lib/hachoir_parser/container/swf.py b/lib/hachoir_parser/container/swf.py
index 951c62192..4c0e5d69e 100644
--- a/lib/hachoir_parser/container/swf.py
+++ b/lib/hachoir_parser/container/swf.py
@@ -13,18 +13,18 @@ Author: Victor Stinner
 Creation date: 29 october 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, UInt8, UInt32, UInt16, CString, Enum,
     Bytes, RawBytes, NullBits, String, SubFile)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, filesizeHandler
-from hachoir_core.tools import paddingSize, humanFrequency
-from hachoir_parser.image.common import RGB
-from hachoir_parser.image.jpeg import JpegChunk, JpegFile
-from hachoir_core.stream import StringInputStream, ConcatStream
-from hachoir_parser.common.deflate import Deflate, has_deflate
-from hachoir_parser.container.action_script import parseActionScript
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, filesizeHandler
+from lib.hachoir_core.tools import paddingSize, humanFrequency
+from lib.hachoir_parser.image.common import RGB
+from lib.hachoir_parser.image.jpeg import JpegChunk, JpegFile
+from lib.hachoir_core.stream import StringInputStream, ConcatStream
+from lib.hachoir_parser.common.deflate import Deflate, has_deflate
+from lib.hachoir_parser.container.action_script import parseActionScript
 import math
 
 # Maximum file size (50 MB)
diff --git a/lib/hachoir_parser/file_system/__init__.py b/lib/hachoir_parser/file_system/__init__.py
index 863aae3ac..92c82d262 100644
--- a/lib/hachoir_parser/file_system/__init__.py
+++ b/lib/hachoir_parser/file_system/__init__.py
@@ -1,8 +1,8 @@
-from hachoir_parser.file_system.ext2 import EXT2_FS
-from hachoir_parser.file_system.fat import FAT12, FAT16, FAT32
-from hachoir_parser.file_system.mbr import MSDos_HardDrive
-from hachoir_parser.file_system.ntfs import NTFS
-from hachoir_parser.file_system.iso9660 import ISO9660
-from hachoir_parser.file_system.reiser_fs import REISER_FS
-from hachoir_parser.file_system.linux_swap import LinuxSwapFile
+from lib.hachoir_parser.file_system.ext2 import EXT2_FS
+from lib.hachoir_parser.file_system.fat import FAT12, FAT16, FAT32
+from lib.hachoir_parser.file_system.mbr import MSDos_HardDrive
+from lib.hachoir_parser.file_system.ntfs import NTFS
+from lib.hachoir_parser.file_system.iso9660 import ISO9660
+from lib.hachoir_parser.file_system.reiser_fs import REISER_FS
+from lib.hachoir_parser.file_system.linux_swap import LinuxSwapFile
 
diff --git a/lib/hachoir_parser/file_system/ext2.py b/lib/hachoir_parser/file_system/ext2.py
index 634fe0634..8b19b46ba 100644
--- a/lib/hachoir_parser/file_system/ext2.py
+++ b/lib/hachoir_parser/file_system/ext2.py
@@ -10,14 +10,14 @@ Sources:
   http://www.nondot.org/sabre/os/files/FileSystems/ext2fs/
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Bit, Bits, UInt8, UInt16, UInt32,
     Enum, String, TimestampUnix32, RawBytes, NullBytes)
-from hachoir_core.tools import (alignValue,
+from lib.hachoir_core.tools import (alignValue,
     humanDuration, humanFilesize)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler
 from itertools import izip
 
 class DirectoryEntry(FieldSet):
diff --git a/lib/hachoir_parser/file_system/fat.py b/lib/hachoir_parser/file_system/fat.py
index 2aebe175f..fc0ae6cb9 100644
--- a/lib/hachoir_parser/file_system/fat.py
+++ b/lib/hachoir_parser/file_system/fat.py
@@ -1,14 +1,14 @@
-from hachoir_core.compatibility import sorted
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, StaticFieldSet,
+from lib.hachoir_core.compatibility import sorted
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, StaticFieldSet,
     RawBytes, PaddingBytes, createPaddingField, Link, Fragment,
     Bit, Bits, UInt8, UInt16, UInt32,
     String, Bytes, NullBytes)
-from hachoir_core.field.integer import GenericInteger
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.error import error
-from hachoir_core.tools import humanFilesize, makePrintable
+from lib.hachoir_core.field.integer import GenericInteger
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.error import error
+from lib.hachoir_core.tools import humanFilesize, makePrintable
 import datetime
 import re
 
diff --git a/lib/hachoir_parser/file_system/iso9660.py b/lib/hachoir_parser/file_system/iso9660.py
index 3d93593a9..9fc0dc9f8 100644
--- a/lib/hachoir_parser/file_system/iso9660.py
+++ b/lib/hachoir_parser/file_system/iso9660.py
@@ -9,11 +9,11 @@ Author: Victor Stinner
 Creation: 11 july 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt32, UInt64, Enum,
     NullBytes, RawBytes, String)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
 
 class PrimaryVolumeDescriptor(FieldSet):
     static_size = 2041*8
diff --git a/lib/hachoir_parser/file_system/linux_swap.py b/lib/hachoir_parser/file_system/linux_swap.py
index ea2e0dba0..72fdf9091 100644
--- a/lib/hachoir_parser/file_system/linux_swap.py
+++ b/lib/hachoir_parser/file_system/linux_swap.py
@@ -9,13 +9,13 @@ Author: Victor Stinner
 Creation date: 25 december 2006 (christmas ;-))
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (ParserError, GenericVector,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (ParserError, GenericVector,
     UInt32, String,
     Bytes, NullBytes, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.tools import humanFilesize
-from hachoir_core.bits import str2hex
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.tools import humanFilesize
+from lib.hachoir_core.bits import str2hex
 
 PAGE_SIZE = 4096
 
diff --git a/lib/hachoir_parser/file_system/mbr.py b/lib/hachoir_parser/file_system/mbr.py
index d5c366f89..4174fa31f 100644
--- a/lib/hachoir_parser/file_system/mbr.py
+++ b/lib/hachoir_parser/file_system/mbr.py
@@ -12,13 +12,13 @@ Master Boot Record.
 # 2. Ask the system (ioctl/HDIO_GETGEO).
 # 3. 255 heads and 63 sectors/cylinder.
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Enum, Bits, UInt8, UInt16, UInt32,
     RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.tools import humanFilesize
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.tools import humanFilesize
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
 
 BLOCK_SIZE = 512  # bytes
 
diff --git a/lib/hachoir_parser/file_system/ntfs.py b/lib/hachoir_parser/file_system/ntfs.py
index efea7e713..0710f990c 100644
--- a/lib/hachoir_parser/file_system/ntfs.py
+++ b/lib/hachoir_parser/file_system/ntfs.py
@@ -13,15 +13,15 @@ Author: Victor Stinner
 
 SECTOR_SIZE = 512
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Enum,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Enum,
     UInt8, UInt16, UInt32, UInt64, TimestampWin64,
     String, Bytes, Bit,
     NullBits, NullBytes, PaddingBytes, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from hachoir_core.tools import humanFilesize, createDict
-from hachoir_parser.common.msdos import MSDOSFileAttr32
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.tools import humanFilesize, createDict
+from lib.hachoir_parser.common.msdos import MSDOSFileAttr32
 
 class BiosParameterBlock(FieldSet):
     """
diff --git a/lib/hachoir_parser/file_system/reiser_fs.py b/lib/hachoir_parser/file_system/reiser_fs.py
index e71eb9509..73933c27a 100644
--- a/lib/hachoir_parser/file_system/reiser_fs.py
+++ b/lib/hachoir_parser/file_system/reiser_fs.py
@@ -20,10 +20,10 @@ Kurz.
 """
 
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Enum,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Enum,
     UInt16, UInt32, String, RawBytes, NullBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.endian import LITTLE_ENDIAN
 
 class Journal_params(FieldSet):
     static_size = 32*8
diff --git a/lib/hachoir_parser/game/__init__.py b/lib/hachoir_parser/game/__init__.py
index 1b6447b98..17f7cd0a3 100644
--- a/lib/hachoir_parser/game/__init__.py
+++ b/lib/hachoir_parser/game/__init__.py
@@ -1,4 +1,4 @@
-from hachoir_parser.game.zsnes import ZSNESFile
-from hachoir_parser.game.spider_man_video import SpiderManVideoFile
-from hachoir_parser.game.laf import LafFile
-from hachoir_parser.game.blp import BLP1File, BLP2File
\ No newline at end of file
+from lib.hachoir_parser.game.zsnes import ZSNESFile
+from lib.hachoir_parser.game.spider_man_video import SpiderManVideoFile
+from lib.hachoir_parser.game.laf import LafFile
+from lib.hachoir_parser.game.blp import BLP1File, BLP2File
\ No newline at end of file
diff --git a/lib/hachoir_parser/game/blp.py b/lib/hachoir_parser/game/blp.py
index 218e86401..2c81770e7 100644
--- a/lib/hachoir_parser/game/blp.py
+++ b/lib/hachoir_parser/game/blp.py
@@ -12,11 +12,11 @@ Creation date: July 10 2007
   http://en.wikipedia.org/wiki/S3_Texture_Compression
 """
 
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.field import String, UInt32, UInt8, Enum, FieldSet, RawBytes, GenericVector, Bit, Bits
-from hachoir_parser.parser import Parser
-from hachoir_parser.image.common import PaletteRGBA
-from hachoir_core.tools import alignValue
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.field import String, UInt32, UInt8, Enum, FieldSet, RawBytes, GenericVector, Bit, Bits
+from lib.hachoir_parser.parser import Parser
+from lib.hachoir_parser.image.common import PaletteRGBA
+from lib.hachoir_core.tools import alignValue
 
 class PaletteIndex(UInt8):
     def createDescription(self):
diff --git a/lib/hachoir_parser/game/laf.py b/lib/hachoir_parser/game/laf.py
index 4a8e15cfb..881546290 100644
--- a/lib/hachoir_parser/game/laf.py
+++ b/lib/hachoir_parser/game/laf.py
@@ -7,10 +7,10 @@ Author: Cyril Zorin
 Creation date: 1 January 2007
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
         UInt8, UInt16, UInt32, GenericVector)
-from hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.endian import LITTLE_ENDIAN
 
 class CharData(FieldSet):
   def __init__(self, chars, *args):
diff --git a/lib/hachoir_parser/game/spider_man_video.py b/lib/hachoir_parser/game/spider_man_video.py
index b9092f33d..238426176 100644
--- a/lib/hachoir_parser/game/spider_man_video.py
+++ b/lib/hachoir_parser/game/spider_man_video.py
@@ -7,10 +7,10 @@ Creation date: 2006-09-30
 File samples: http://samples.mplayerhq.hu/game-formats/spiderman-segacd-bin/
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import FieldSet, UInt32, String, RawBytes
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import FieldSet, UInt32, String, RawBytes
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
 
 class Chunk(FieldSet):
     tag_info = {
diff --git a/lib/hachoir_parser/game/zsnes.py b/lib/hachoir_parser/game/zsnes.py
index a8f755061..e11b35284 100644
--- a/lib/hachoir_parser/game/zsnes.py
+++ b/lib/hachoir_parser/game/zsnes.py
@@ -5,11 +5,11 @@ Author: Jason Gorski
 Creation date: 2006-09-15
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, StaticFieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, StaticFieldSet,
     UInt8, UInt16, UInt32,
     String, PaddingBytes, Bytes, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.endian import LITTLE_ENDIAN
 
 class ZSTHeader(StaticFieldSet):
     format = (
diff --git a/lib/hachoir_parser/guess.py b/lib/hachoir_parser/guess.py
index 1f77b48b5..0a7178af2 100644
--- a/lib/hachoir_parser/guess.py
+++ b/lib/hachoir_parser/guess.py
@@ -4,10 +4,10 @@ Parser list managment:
 """
 
 import os
-from hachoir_core.error import warning, info, HACHOIR_ERRORS
-from hachoir_parser import ValidateError, HachoirParserList
-from hachoir_core.stream import FileInputStream
-from hachoir_core.i18n import _
+from lib.hachoir_core.error import warning, info, HACHOIR_ERRORS
+from lib.hachoir_parser import ValidateError, HachoirParserList
+from lib.hachoir_core.stream import FileInputStream
+from lib.hachoir_core.i18n import _
 
 
 class QueryParser(object):
diff --git a/lib/hachoir_parser/image/__init__.py b/lib/hachoir_parser/image/__init__.py
index 78c9c20bc..f66ffdd70 100644
--- a/lib/hachoir_parser/image/__init__.py
+++ b/lib/hachoir_parser/image/__init__.py
@@ -1,12 +1,12 @@
-from hachoir_parser.image.bmp import BmpFile
-from hachoir_parser.image.gif import GifFile
-from hachoir_parser.image.ico import IcoFile
-from hachoir_parser.image.jpeg import JpegFile
-from hachoir_parser.image.pcx import PcxFile
-from hachoir_parser.image.psd import PsdFile
-from hachoir_parser.image.png import PngFile
-from hachoir_parser.image.tga import TargaFile
-from hachoir_parser.image.tiff import TiffFile
-from hachoir_parser.image.wmf import WMF_File
-from hachoir_parser.image.xcf import XcfFile
+from lib.hachoir_parser.image.bmp import BmpFile
+from lib.hachoir_parser.image.gif import GifFile
+from lib.hachoir_parser.image.ico import IcoFile
+from lib.hachoir_parser.image.jpeg import JpegFile
+from lib.hachoir_parser.image.pcx import PcxFile
+from lib.hachoir_parser.image.psd import PsdFile
+from lib.hachoir_parser.image.png import PngFile
+from lib.hachoir_parser.image.tga import TargaFile
+from lib.hachoir_parser.image.tiff import TiffFile
+from lib.hachoir_parser.image.wmf import WMF_File
+from lib.hachoir_parser.image.xcf import XcfFile
 
diff --git a/lib/hachoir_parser/image/bmp.py b/lib/hachoir_parser/image/bmp.py
index c4865d3bb..51c944008 100644
--- a/lib/hachoir_parser/image/bmp.py
+++ b/lib/hachoir_parser/image/bmp.py
@@ -6,15 +6,15 @@ Author: Victor Stinner
 Creation: 16 december 2005
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt32, Bits,
     String, RawBytes, Enum,
     PaddingBytes, NullBytes, createPaddingField)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_parser.image.common import RGB, PaletteRGBA
-from hachoir_core.tools import alignValue
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_parser.image.common import RGB, PaletteRGBA
+from lib.hachoir_core.tools import alignValue
 
 class Pixel4bit(Bits):
     static_size = 4
diff --git a/lib/hachoir_parser/image/common.py b/lib/hachoir_parser/image/common.py
index 5046058a7..ca7152a32 100644
--- a/lib/hachoir_parser/image/common.py
+++ b/lib/hachoir_parser/image/common.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import FieldSet, UserVector, UInt8
+from lib.hachoir_core.field import FieldSet, UserVector, UInt8
 
 class RGB(FieldSet):
     color_name = {
diff --git a/lib/hachoir_parser/image/exif.py b/lib/hachoir_parser/image/exif.py
index 7b8679333..dcaaf77e9 100644
--- a/lib/hachoir_parser/image/exif.py
+++ b/lib/hachoir_parser/image/exif.py
@@ -4,14 +4,14 @@ EXIF metadata parser (can be found in a JPEG picture for example)
 Author: Victor Stinner
 """
 
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32,
     Int32, Enum, String,
     Bytes, SubFile,
     NullBytes, createPaddingField)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN, NETWORK_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.tools import createDict
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN, NETWORK_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.tools import createDict
 
 MAX_COUNT = 1000
 
diff --git a/lib/hachoir_parser/image/gif.py b/lib/hachoir_parser/image/gif.py
index c7e0b89c3..777ba6586 100644
--- a/lib/hachoir_parser/image/gif.py
+++ b/lib/hachoir_parser/image/gif.py
@@ -4,16 +4,16 @@ GIF picture parser.
 Author: Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Enum, UInt8, UInt16,
     Bit, Bits, NullBytes,
     String, PascalString8, Character,
     NullBits, RawBytes)
-from hachoir_parser.image.common import PaletteRGB
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.tools import humanDuration
-from hachoir_core.text_handler import textHandler, displayHandler, hexadecimal
+from lib.hachoir_parser.image.common import PaletteRGB
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.tools import humanDuration
+from lib.hachoir_core.text_handler import textHandler, displayHandler, hexadecimal
 
 # Maximum image dimension (in pixel)
 MAX_WIDTH = 6000
diff --git a/lib/hachoir_parser/image/ico.py b/lib/hachoir_parser/image/ico.py
index 193a81c62..fc4282d70 100644
--- a/lib/hachoir_parser/image/ico.py
+++ b/lib/hachoir_parser/image/ico.py
@@ -4,12 +4,12 @@ Microsoft Windows icon and cursor file format parser.
 Author: Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, Enum, RawBytes)
-from hachoir_parser.image.common import PaletteRGBA
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.common.win32 import BitmapInfoHeader
+from lib.hachoir_parser.image.common import PaletteRGBA
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_parser.common.win32 import BitmapInfoHeader
 
 class IconHeader(FieldSet):
     def createFields(self):
diff --git a/lib/hachoir_parser/image/iptc.py b/lib/hachoir_parser/image/iptc.py
index 6727de7f4..c814ed7d9 100644
--- a/lib/hachoir_parser/image/iptc.py
+++ b/lib/hachoir_parser/image/iptc.py
@@ -11,9 +11,9 @@ Sources:
 Author: Victor Stinner
 """
 
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, String, RawBytes, NullBytes)
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
 
 def IPTC_String(parent, name, desc=None):
     # Charset may be utf-8, ISO-8859-1, or ...
diff --git a/lib/hachoir_parser/image/jpeg.py b/lib/hachoir_parser/image/jpeg.py
index 30944aae7..899657885 100644
--- a/lib/hachoir_parser/image/jpeg.py
+++ b/lib/hachoir_parser/image/jpeg.py
@@ -12,17 +12,17 @@ Information:
 Author: Victor Stinner
 """
 
-from hachoir_core.error import HachoirError
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.error import HachoirError
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, Enum,
     Bit, Bits, NullBits, NullBytes,
     String, RawBytes)
-from hachoir_parser.image.common import PaletteRGB
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_parser.image.exif import Exif
-from hachoir_parser.image.photoshop_metadata import PhotoshopMetadata
+from lib.hachoir_parser.image.common import PaletteRGB
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_parser.image.exif import Exif
+from lib.hachoir_parser.image.photoshop_metadata import PhotoshopMetadata
 
 MAX_FILESIZE = 100 * 1024 * 1024
 
diff --git a/lib/hachoir_parser/image/pcx.py b/lib/hachoir_parser/image/pcx.py
index cb2a63bf0..cf23a7cb1 100644
--- a/lib/hachoir_parser/image/pcx.py
+++ b/lib/hachoir_parser/image/pcx.py
@@ -2,13 +2,13 @@
 PCX picture filter.
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (
     UInt8, UInt16,
     PaddingBytes, RawBytes,
     Enum)
-from hachoir_parser.image.common import PaletteRGB
-from hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_parser.image.common import PaletteRGB
+from lib.hachoir_core.endian import LITTLE_ENDIAN
 
 class PcxFile(Parser):
     endian = LITTLE_ENDIAN
diff --git a/lib/hachoir_parser/image/photoshop_metadata.py b/lib/hachoir_parser/image/photoshop_metadata.py
index be660cec0..89670bcb5 100644
--- a/lib/hachoir_parser/image/photoshop_metadata.py
+++ b/lib/hachoir_parser/image/photoshop_metadata.py
@@ -1,11 +1,11 @@
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32,
     String, CString, PascalString8,
     NullBytes, RawBytes)
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.tools import alignValue, createDict
-from hachoir_parser.image.iptc import IPTC
-from hachoir_parser.common.win32 import PascalStringWin32
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.tools import alignValue, createDict
+from lib.hachoir_parser.image.iptc import IPTC
+from lib.hachoir_parser.common.win32 import PascalStringWin32
 
 class Version(FieldSet):
     def createFields(self):
diff --git a/lib/hachoir_parser/image/png.py b/lib/hachoir_parser/image/png.py
index 66f1688e5..6ef8fd8e9 100644
--- a/lib/hachoir_parser/image/png.py
+++ b/lib/hachoir_parser/image/png.py
@@ -8,18 +8,18 @@ Documents:
 Author: Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Fragment,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Fragment,
     ParserError, MissingField,
     UInt8, UInt16, UInt32,
     String, CString,
     Bytes, RawBytes,
     Bit, NullBits,
     Enum, CompressedField)
-from hachoir_parser.image.common import RGB
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.endian import NETWORK_ENDIAN
-from hachoir_core.tools import humanFilesize
+from lib.hachoir_parser.image.common import RGB
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import NETWORK_ENDIAN
+from lib.hachoir_core.tools import humanFilesize
 from datetime import datetime
 
 MAX_FILESIZE = 500 * 1024 * 1024
diff --git a/lib/hachoir_parser/image/psd.py b/lib/hachoir_parser/image/psd.py
index 6ea09fb18..5eb8f76ef 100644
--- a/lib/hachoir_parser/image/psd.py
+++ b/lib/hachoir_parser/image/psd.py
@@ -5,11 +5,11 @@ Creation date: 8 january 2006
 Author: Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, String, NullBytes, Enum, RawBytes)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_parser.image.photoshop_metadata import Photoshop8BIM
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_parser.image.photoshop_metadata import Photoshop8BIM
 
 class Config(FieldSet):
     def __init__(self, *args):
diff --git a/lib/hachoir_parser/image/tga.py b/lib/hachoir_parser/image/tga.py
index 716ab28a5..b1d699f8b 100644
--- a/lib/hachoir_parser/image/tga.py
+++ b/lib/hachoir_parser/image/tga.py
@@ -5,10 +5,10 @@ Author: Victor Stinner
 Creation: 18 december 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import FieldSet, UInt8, UInt16, Enum, RawBytes
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.image.common import PaletteRGB
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import FieldSet, UInt8, UInt16, Enum, RawBytes
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_parser.image.common import PaletteRGB
 
 class Line(FieldSet):
     def __init__(self, *args):
diff --git a/lib/hachoir_parser/image/tiff.py b/lib/hachoir_parser/image/tiff.py
index a096212f5..ceeba5376 100644
--- a/lib/hachoir_parser/image/tiff.py
+++ b/lib/hachoir_parser/image/tiff.py
@@ -5,12 +5,12 @@ Authors: Victor Stinner and Sebastien Ponce
 Creation date: 30 september 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, SeekableFieldSet, ParserError, RootSeekableFieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, SeekableFieldSet, ParserError, RootSeekableFieldSet,
     UInt16, UInt32, Bytes, String)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from hachoir_parser.image.exif import BasicIFDEntry
-from hachoir_core.tools import createDict
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_parser.image.exif import BasicIFDEntry
+from lib.hachoir_core.tools import createDict
 
 MAX_COUNT = 250
 
diff --git a/lib/hachoir_parser/image/wmf.py b/lib/hachoir_parser/image/wmf.py
index 86f9840b7..c45b530a8 100644
--- a/lib/hachoir_parser/image/wmf.py
+++ b/lib/hachoir_parser/image/wmf.py
@@ -16,14 +16,14 @@ Creation date: 26 december 2006
 
 MAX_FILESIZE = 50 * 1024 * 1024
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, StaticFieldSet, Enum,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, StaticFieldSet, Enum,
     MissingField, ParserError,
     UInt32, Int32, UInt16, Int16, UInt8, NullBytes, RawBytes, String)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.tools import createDict
-from hachoir_parser.image.common import RGBA
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.tools import createDict
+from lib.hachoir_parser.image.common import RGBA
 
 POLYFILL_MODE = {1: "Alternate", 2: "Winding"}
 
diff --git a/lib/hachoir_parser/image/xcf.py b/lib/hachoir_parser/image/xcf.py
index f0bfa30ca..e365001f6 100644
--- a/lib/hachoir_parser/image/xcf.py
+++ b/lib/hachoir_parser/image/xcf.py
@@ -9,11 +9,11 @@ CVS online:
 Author: Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet, ParserError,
     UInt8, UInt32, Enum, Float32, String, PascalString32, RawBytes)
-from hachoir_parser.image.common import RGBA
-from hachoir_core.endian import NETWORK_ENDIAN
+from lib.hachoir_parser.image.common import RGBA
+from lib.hachoir_core.endian import NETWORK_ENDIAN
 
 class XcfCompression(FieldSet):
     static_size = 8
diff --git a/lib/hachoir_parser/misc/__init__.py b/lib/hachoir_parser/misc/__init__.py
index 10e98bb2f..938d4aa5f 100644
--- a/lib/hachoir_parser/misc/__init__.py
+++ b/lib/hachoir_parser/misc/__init__.py
@@ -1,14 +1,14 @@
-from hachoir_parser.misc.file_3do import File3do
-from hachoir_parser.misc.file_3ds import File3ds
-from hachoir_parser.misc.torrent import TorrentFile
-from hachoir_parser.misc.ttf import TrueTypeFontFile
-from hachoir_parser.misc.chm import ChmFile
-from hachoir_parser.misc.lnk import LnkFile
-from hachoir_parser.misc.pcf import PcfFile
-from hachoir_parser.misc.ole2 import OLE2_File
-from hachoir_parser.misc.pdf import PDFDocument
-from hachoir_parser.misc.pifv import PIFVFile
-from hachoir_parser.misc.hlp import HlpFile
-from hachoir_parser.misc.gnome_keyring import GnomeKeyring
-from hachoir_parser.misc.bplist import BPList
+from lib.hachoir_parser.misc.file_3do import File3do
+from lib.hachoir_parser.misc.file_3ds import File3ds
+from lib.hachoir_parser.misc.torrent import TorrentFile
+from lib.hachoir_parser.misc.ttf import TrueTypeFontFile
+from lib.hachoir_parser.misc.chm import ChmFile
+from lib.hachoir_parser.misc.lnk import LnkFile
+from lib.hachoir_parser.misc.pcf import PcfFile
+from lib.hachoir_parser.misc.ole2 import OLE2_File
+from lib.hachoir_parser.misc.pdf import PDFDocument
+from lib.hachoir_parser.misc.pifv import PIFVFile
+from lib.hachoir_parser.misc.hlp import HlpFile
+from lib.hachoir_parser.misc.gnome_keyring import GnomeKeyring
+from lib.hachoir_parser.misc.bplist import BPList
 
diff --git a/lib/hachoir_parser/misc/bplist.py b/lib/hachoir_parser/misc/bplist.py
index c46345e37..22282790e 100644
--- a/lib/hachoir_parser/misc/bplist.py
+++ b/lib/hachoir_parser/misc/bplist.py
@@ -15,12 +15,12 @@ Author: Robert Xiao
 Created: 2008-09-21
 """
 
-from hachoir_parser import HachoirParser
-from hachoir_core.field import (RootSeekableFieldSet, FieldSet, Enum,
+from lib.hachoir_parser import HachoirParser
+from lib.hachoir_core.field import (RootSeekableFieldSet, FieldSet, Enum,
 Bits, GenericInteger, Float32, Float64, UInt8, UInt64, Bytes, NullBytes, RawBytes, String)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import displayHandler
-from hachoir_core.tools import humanDatetime
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import displayHandler
+from lib.hachoir_core.tools import humanDatetime
 from datetime import datetime, timedelta
 
 class BPListTrailer(FieldSet):
diff --git a/lib/hachoir_parser/misc/chm.py b/lib/hachoir_parser/misc/chm.py
index 6bff55509..3a158e546 100644
--- a/lib/hachoir_parser/misc/chm.py
+++ b/lib/hachoir_parser/misc/chm.py
@@ -11,15 +11,15 @@ Author: Victor Stinner
 Creation date: 2007-03-04
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (Field, FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (Field, FieldSet, ParserError,
     Int32, UInt32, UInt64,
     RawBytes, PaddingBytes,
     Enum, String)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.common.win32 import GUID
-from hachoir_parser.common.win32_lang_id import LANGUAGE_ID
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_parser.common.win32 import GUID
+from lib.hachoir_parser.common.win32_lang_id import LANGUAGE_ID
+from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
 
 class CWord(Field):
     """
diff --git a/lib/hachoir_parser/misc/common.py b/lib/hachoir_parser/misc/common.py
index 38d9f8237..b73c82128 100644
--- a/lib/hachoir_parser/misc/common.py
+++ b/lib/hachoir_parser/misc/common.py
@@ -1,4 +1,4 @@
-from hachoir_core.field import StaticFieldSet, Float32
+from lib.hachoir_core.field import StaticFieldSet, Float32
 
 class Vertex(StaticFieldSet):
     format = ((Float32, "x"), (Float32, "y"), (Float32, "z"))
diff --git a/lib/hachoir_parser/misc/file_3do.py b/lib/hachoir_parser/misc/file_3do.py
index 3108d0ae0..3d909d56c 100644
--- a/lib/hachoir_parser/misc/file_3do.py
+++ b/lib/hachoir_parser/misc/file_3do.py
@@ -7,12 +7,12 @@ Author: Cyril Zorin
 Creation date: 28 september 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt32, Int32, String, Float32,
     RawBytes, PaddingBytes)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from hachoir_parser.misc.common import Vertex, MapUV
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_parser.misc.common import Vertex, MapUV
 
 class Vector(FieldSet):
     def __init__(self, parent, name,
diff --git a/lib/hachoir_parser/misc/file_3ds.py b/lib/hachoir_parser/misc/file_3ds.py
index aaf4fbf49..de05fa949 100644
--- a/lib/hachoir_parser/misc/file_3ds.py
+++ b/lib/hachoir_parser/misc/file_3ds.py
@@ -3,13 +3,13 @@
 Author: Victor Stinner
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (StaticFieldSet, FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (StaticFieldSet, FieldSet,
     UInt16, UInt32, RawBytes, Enum, CString)
-from hachoir_parser.image.common import RGB
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_parser.misc.common import Vertex, MapUV
+from lib.hachoir_parser.image.common import RGB
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_parser.misc.common import Vertex, MapUV
 
 def readObject(parent):
     yield CString(parent, "name", "Object name")
diff --git a/lib/hachoir_parser/misc/gnome_keyring.py b/lib/hachoir_parser/misc/gnome_keyring.py
index 0bade36f5..56b26a673 100644
--- a/lib/hachoir_parser/misc/gnome_keyring.py
+++ b/lib/hachoir_parser/misc/gnome_keyring.py
@@ -9,14 +9,14 @@ Author: Victor Stinner
 Creation date: 2008-04-09
 """
 
-from hachoir_core.tools import paddingSize
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_core.tools import paddingSize
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Bit, NullBits, NullBytes,
     UInt8, UInt32, String, RawBytes, Enum,
     TimestampUnix64, CompressedField,
     SubFile)
-from hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.endian import BIG_ENDIAN
 
 try:
     import hashlib
diff --git a/lib/hachoir_parser/misc/hlp.py b/lib/hachoir_parser/misc/hlp.py
index 167dc7a6b..24da20775 100644
--- a/lib/hachoir_parser/misc/hlp.py
+++ b/lib/hachoir_parser/misc/hlp.py
@@ -10,12 +10,12 @@ Author: Victor Stinner
 Creation date: 2007-09-03
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Bits, Int32, UInt16, UInt32,
     NullBytes, RawBytes, PaddingBytes, String)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import (textHandler, hexadecimal,
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import (textHandler, hexadecimal,
     displayHandler, humanFilesize)
 
 class FileEntry(FieldSet):
diff --git a/lib/hachoir_parser/misc/lnk.py b/lib/hachoir_parser/misc/lnk.py
index 6e67bf1b0..b0512baaf 100644
--- a/lib/hachoir_parser/misc/lnk.py
+++ b/lib/hachoir_parser/misc/lnk.py
@@ -22,20 +22,20 @@ Changes:
     * Creation of the parser
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     CString, String,
     UInt32, UInt16, UInt8,
     Bit, Bits, PaddingBits,
     TimestampWin64, DateTimeMSDOS32,
     NullBytes, PaddingBytes, RawBytes, Enum)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_parser.common.win32 import GUID
-from hachoir_parser.common.msdos import MSDOSFileAttr16, MSDOSFileAttr32
-from hachoir_core.text_handler import filesizeHandler
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_parser.common.win32 import GUID
+from lib.hachoir_parser.common.msdos import MSDOSFileAttr16, MSDOSFileAttr32
+from lib.hachoir_core.text_handler import filesizeHandler
 
-from hachoir_core.tools import paddingSize
+from lib.hachoir_core.tools import paddingSize
 
 class ItemIdList(FieldSet):
     def __init__(self, *args, **kw):
diff --git a/lib/hachoir_parser/misc/msoffice.py b/lib/hachoir_parser/misc/msoffice.py
index 90ca1ca7a..960ec8253 100644
--- a/lib/hachoir_parser/misc/msoffice.py
+++ b/lib/hachoir_parser/misc/msoffice.py
@@ -8,12 +8,12 @@ Author: Robert Xiao, Victor Stinner
 Creation: 2006-04-23
 """
 
-from hachoir_parser import HachoirParser
-from hachoir_core.field import FieldSet, RootSeekableFieldSet, RawBytes
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.stream import StringInputStream
-from hachoir_parser.misc.msoffice_summary import SummaryFieldSet, CompObj
-from hachoir_parser.misc.word_doc import WordDocumentFieldSet
+from lib.hachoir_parser import HachoirParser
+from lib.hachoir_core.field import FieldSet, RootSeekableFieldSet, RawBytes
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.stream import StringInputStream
+from lib.hachoir_parser.misc.msoffice_summary import SummaryFieldSet, CompObj
+from lib.hachoir_parser.misc.word_doc import WordDocumentFieldSet
 
 PROPERTY_NAME = {
     u"\5DocumentSummaryInformation": "doc_summary",
diff --git a/lib/hachoir_parser/misc/msoffice_summary.py b/lib/hachoir_parser/misc/msoffice_summary.py
index dd3234af1..4199934f4 100644
--- a/lib/hachoir_parser/misc/msoffice_summary.py
+++ b/lib/hachoir_parser/misc/msoffice_summary.py
@@ -7,18 +7,18 @@ Documents
  - Apache POI (HPSF Internals):
    http://poi.apache.org/hpsf/internals.html
 """
-from hachoir_parser import HachoirParser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import HachoirParser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     RootSeekableFieldSet, SeekableFieldSet,
     Bit, Bits, NullBits,
     UInt8, UInt16, UInt32, TimestampWin64, TimedeltaWin64, Enum,
     Bytes, RawBytes, NullBytes, String,
     Int8, Int32, Float32, Float64, PascalString32)
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from hachoir_core.tools import createDict
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from hachoir_parser.common.win32 import GUID, PascalStringWin32, CODEPAGE_CHARSET
-from hachoir_parser.image.bmp import BmpHeader, parseImageData
+from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.tools import createDict
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_parser.common.win32 import GUID, PascalStringWin32, CODEPAGE_CHARSET
+from lib.hachoir_parser.image.bmp import BmpHeader, parseImageData
 
 MAX_SECTION_COUNT = 100
 
diff --git a/lib/hachoir_parser/misc/ole2.py b/lib/hachoir_parser/misc/ole2.py
index 112b22b2d..48200d910 100644
--- a/lib/hachoir_parser/misc/ole2.py
+++ b/lib/hachoir_parser/misc/ole2.py
@@ -19,17 +19,17 @@ Author: Victor Stinner
 Creation: 2006-04-23
 """
 
-from hachoir_parser import HachoirParser
-from hachoir_core.field import (
+from lib.hachoir_parser import HachoirParser
+from lib.hachoir_core.field import (
     FieldSet, ParserError, SeekableFieldSet, RootSeekableFieldSet,
     UInt8, UInt16, UInt32, UInt64, TimestampWin64, Enum,
     Bytes, RawBytes, NullBytes, String)
-from hachoir_core.text_handler import filesizeHandler
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_parser.common.win32 import GUID
-from hachoir_parser.misc.msoffice import CustomFragment, OfficeRootEntry, PROPERTY_NAME
-from hachoir_parser.misc.word_doc import WordDocumentParser
-from hachoir_parser.misc.msoffice_summary import SummaryParser
+from lib.hachoir_core.text_handler import filesizeHandler
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_parser.common.win32 import GUID
+from lib.hachoir_parser.misc.msoffice import CustomFragment, OfficeRootEntry, PROPERTY_NAME
+from lib.hachoir_parser.misc.word_doc import WordDocumentParser
+from lib.hachoir_parser.misc.msoffice_summary import SummaryParser
 
 MIN_BIG_BLOCK_LOG2 = 6   # 512 bytes
 MAX_BIG_BLOCK_LOG2 = 14  # 64 kB
diff --git a/lib/hachoir_parser/misc/pcf.py b/lib/hachoir_parser/misc/pcf.py
index 8d116bbaf..163c1f3ca 100644
--- a/lib/hachoir_parser/misc/pcf.py
+++ b/lib/hachoir_parser/misc/pcf.py
@@ -10,13 +10,13 @@ Author: Victor Stinner
 Creation date: 2007-03-20
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, Enum,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, Enum,
     UInt8, UInt32, Bytes, RawBytes, NullBytes,
     Bit, Bits, PaddingBits, CString)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from hachoir_core.tools import paddingSize
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.tools import paddingSize
 
 class TOC(FieldSet):
     TYPE_NAME = {
diff --git a/lib/hachoir_parser/misc/pdf.py b/lib/hachoir_parser/misc/pdf.py
index e69ba85e3..591e953c7 100644
--- a/lib/hachoir_parser/misc/pdf.py
+++ b/lib/hachoir_parser/misc/pdf.py
@@ -4,16 +4,16 @@ Adobe Portable Document Format (PDF) parser.
 Author: Christophe Gisquet <christophe.gisquet@free.fr>
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (
     Field, FieldSet,
     ParserError,
     GenericVector,
     UInt8, UInt16, UInt32,
     String,
     RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
 
 MAGIC = "%PDF-"
 ENDMAGIC = "%%EOF"
diff --git a/lib/hachoir_parser/misc/pifv.py b/lib/hachoir_parser/misc/pifv.py
index d94747331..e60e651e7 100644
--- a/lib/hachoir_parser/misc/pifv.py
+++ b/lib/hachoir_parser/misc/pifv.py
@@ -5,13 +5,13 @@ Author: Alexandre Boeglin
 Creation date: 08 jul 2007
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt8, UInt16, UInt24, UInt32, UInt64, Enum,
     CString, String, PaddingBytes, RawBytes, NullBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.tools import paddingSize, humanFilesize
-from hachoir_parser.common.win32 import GUID
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.tools import paddingSize, humanFilesize
+from lib.hachoir_parser.common.win32 import GUID
 
 EFI_SECTION_COMPRESSION = 0x1
 EFI_SECTION_GUID_DEFINED = 0x2
diff --git a/lib/hachoir_parser/misc/torrent.py b/lib/hachoir_parser/misc/torrent.py
index 88a1bea2f..62653271d 100644
--- a/lib/hachoir_parser/misc/torrent.py
+++ b/lib/hachoir_parser/misc/torrent.py
@@ -7,11 +7,11 @@ Status: To statufy
 Author: Christophe Gisquet <christophe.gisquet@free.fr>
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     String, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.tools import makePrintable, timestampUNIX, humanFilesize
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.tools import makePrintable, timestampUNIX, humanFilesize
 
 # Maximum number of bytes for string length
 MAX_STRING_LENGTH = 6   # length in 0..999999
diff --git a/lib/hachoir_parser/misc/ttf.py b/lib/hachoir_parser/misc/ttf.py
index f1024aabc..3a698ad16 100644
--- a/lib/hachoir_parser/misc/ttf.py
+++ b/lib/hachoir_parser/misc/ttf.py
@@ -10,14 +10,14 @@ Author: Victor Stinner
 Creation date: 2007-02-08
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt16, UInt32, Bit, Bits,
     PaddingBits, NullBytes,
     String, RawBytes, Bytes, Enum,
     TimestampMac32)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
 
 MAX_NAME_COUNT = 300
 MIN_NB_TABLE = 3
diff --git a/lib/hachoir_parser/misc/word_doc.py b/lib/hachoir_parser/misc/word_doc.py
index 88de4c297..8c9df549e 100644
--- a/lib/hachoir_parser/misc/word_doc.py
+++ b/lib/hachoir_parser/misc/word_doc.py
@@ -11,13 +11,13 @@ Documents:
    section. Revised Dec 21 1998, added missing Document Properties (section).
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     Bit, Bits,
     UInt8, Int16, UInt16, UInt32, Int32,
     NullBytes, RawBytes, PascalString16,
     DateTimeMSDOS32)
-from hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.endian import LITTLE_ENDIAN
 
 TIMESTAMP = DateTimeMSDOS32
 
diff --git a/lib/hachoir_parser/network/__init__.py b/lib/hachoir_parser/network/__init__.py
index a7fe24734..0781e00fc 100644
--- a/lib/hachoir_parser/network/__init__.py
+++ b/lib/hachoir_parser/network/__init__.py
@@ -1,2 +1,2 @@
-from hachoir_parser.network.tcpdump import TcpdumpFile
+from lib.hachoir_parser.network.tcpdump import TcpdumpFile
 
diff --git a/lib/hachoir_parser/network/common.py b/lib/hachoir_parser/network/common.py
index d6e9feaa6..bc049b6b3 100644
--- a/lib/hachoir_parser/network/common.py
+++ b/lib/hachoir_parser/network/common.py
@@ -1,7 +1,7 @@
-from hachoir_core.field import FieldSet, Field, Bits
-from hachoir_core.bits import str2hex
-from hachoir_parser.network.ouid import REGISTERED_OUID
-from hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.field import FieldSet, Field, Bits
+from lib.hachoir_core.bits import str2hex
+from lib.hachoir_parser.network.ouid import REGISTERED_OUID
+from lib.hachoir_core.endian import BIG_ENDIAN
 from socket import gethostbyaddr, herror as socket_host_error
 
 def ip2name(addr):
diff --git a/lib/hachoir_parser/network/tcpdump.py b/lib/hachoir_parser/network/tcpdump.py
index 564e61892..1625c845a 100644
--- a/lib/hachoir_parser/network/tcpdump.py
+++ b/lib/hachoir_parser/network/tcpdump.py
@@ -12,16 +12,16 @@ Author: Victor Stinner
 Creation: 23 march 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Enum, Bytes, NullBytes, RawBytes,
     UInt8, UInt16, UInt32, Int32, TimestampUnix32,
     Bit, Bits, NullBits)
-from hachoir_core.endian import NETWORK_ENDIAN, LITTLE_ENDIAN
-from hachoir_core.tools import humanDuration
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.tools import createDict
-from hachoir_parser.network.common import MAC48_Address, IPv4_Address, IPv6_Address
+from lib.hachoir_core.endian import NETWORK_ENDIAN, LITTLE_ENDIAN
+from lib.hachoir_core.tools import humanDuration
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.tools import createDict
+from lib.hachoir_parser.network.common import MAC48_Address, IPv4_Address, IPv6_Address
 
 def diff(field):
     return humanDuration(field.value*1000)
diff --git a/lib/hachoir_parser/parser.py b/lib/hachoir_parser/parser.py
index e81241588..833e8a79e 100644
--- a/lib/hachoir_parser/parser.py
+++ b/lib/hachoir_parser/parser.py
@@ -1,8 +1,8 @@
-import hachoir_core.config as config
-from hachoir_core.field import Parser as GenericParser
-from hachoir_core.error import HACHOIR_ERRORS, HachoirError, error
-from hachoir_core.tools import makeUnicode
-from hachoir_core.i18n import _
+import lib.hachoir_core.config as config
+from lib.hachoir_core.field import Parser as GenericParser
+from lib.hachoir_core.error import HACHOIR_ERRORS, HachoirError, error
+from lib.hachoir_core.tools import makeUnicode
+from lib.hachoir_core.i18n import _
 from inspect import getmro
 
 
diff --git a/lib/hachoir_parser/parser_list.py b/lib/hachoir_parser/parser_list.py
index 38071550b..e59cafee1 100644
--- a/lib/hachoir_parser/parser_list.py
+++ b/lib/hachoir_parser/parser_list.py
@@ -1,8 +1,8 @@
 import re
 import types
-from hachoir_core.error import error
-from hachoir_core.i18n import _
-from hachoir_parser import Parser, HachoirParser
+from lib.hachoir_core.error import error
+from lib.hachoir_core.i18n import _
+from lib.hachoir_parser import Parser, HachoirParser
 import sys
 
 ### Parser list ################################################################
diff --git a/lib/hachoir_parser/program/__init__.py b/lib/hachoir_parser/program/__init__.py
index 2e719f02b..5dba92d3c 100644
--- a/lib/hachoir_parser/program/__init__.py
+++ b/lib/hachoir_parser/program/__init__.py
@@ -1,6 +1,6 @@
-from hachoir_parser.program.elf import ElfFile
-from hachoir_parser.program.exe import ExeFile
-from hachoir_parser.program.python import PythonCompiledFile
-from hachoir_parser.program.java import JavaCompiledClassFile
-from hachoir_parser.program.prc import PRCFile
+from lib.hachoir_parser.program.elf import ElfFile
+from lib.hachoir_parser.program.exe import ExeFile
+from lib.hachoir_parser.program.python import PythonCompiledFile
+from lib.hachoir_parser.program.java import JavaCompiledClassFile
+from lib.hachoir_parser.program.prc import PRCFile
 
diff --git a/lib/hachoir_parser/program/elf.py b/lib/hachoir_parser/program/elf.py
index 3d5731e22..7c66ca282 100644
--- a/lib/hachoir_parser/program/elf.py
+++ b/lib/hachoir_parser/program/elf.py
@@ -5,12 +5,12 @@ Author: Victor Stinner
 Creation date: 08 may 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, Enum,
     String, Bytes)
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
 
 class ElfHeader(FieldSet):
     static_size = 52*8
diff --git a/lib/hachoir_parser/program/exe.py b/lib/hachoir_parser/program/exe.py
index 5a7bc7276..531b89feb 100644
--- a/lib/hachoir_parser/program/exe.py
+++ b/lib/hachoir_parser/program/exe.py
@@ -9,15 +9,15 @@ Author: Victor Stinner
 Creation date: 2006-08-13
 """
 
-from hachoir_parser import HachoirParser
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.field import (FieldSet, RootSeekableFieldSet,
+from lib.hachoir_parser import HachoirParser
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.field import (FieldSet, RootSeekableFieldSet,
     UInt16, UInt32, String,
     RawBytes, PaddingBytes)
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_parser.program.exe_ne import NE_Header
-from hachoir_parser.program.exe_pe import PE_Header, PE_OptHeader, SectionHeader
-from hachoir_parser.program.exe_res import PE_Resource, NE_VersionInfoNode
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_parser.program.exe_ne import NE_Header
+from lib.hachoir_parser.program.exe_pe import PE_Header, PE_OptHeader, SectionHeader
+from lib.hachoir_parser.program.exe_res import PE_Resource, NE_VersionInfoNode
 
 MAX_NB_SECTION = 50
 
diff --git a/lib/hachoir_parser/program/exe_ne.py b/lib/hachoir_parser/program/exe_ne.py
index cf62e885d..b4dbe395b 100644
--- a/lib/hachoir_parser/program/exe_ne.py
+++ b/lib/hachoir_parser/program/exe_ne.py
@@ -1,7 +1,7 @@
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_core.field import (FieldSet,
     Bit, UInt8, UInt16, UInt32, Bytes,
     PaddingBits, PaddingBytes, NullBits, NullBytes)
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
 
 class NE_Header(FieldSet):
     static_size = 64*8
diff --git a/lib/hachoir_parser/program/exe_pe.py b/lib/hachoir_parser/program/exe_pe.py
index b3b241a58..c8fa101ce 100644
--- a/lib/hachoir_parser/program/exe_pe.py
+++ b/lib/hachoir_parser/program/exe_pe.py
@@ -1,9 +1,9 @@
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     Bit, UInt8, UInt16, UInt32, TimestampUnix32,
     Bytes, String, Enum,
     PaddingBytes, PaddingBits, NullBytes, NullBits)
-from hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
-from hachoir_core.error import HACHOIR_ERRORS
+from lib.hachoir_core.text_handler import textHandler, hexadecimal, filesizeHandler
+from lib.hachoir_core.error import HACHOIR_ERRORS
 
 class SectionHeader(FieldSet):
     static_size = 40 * 8
diff --git a/lib/hachoir_parser/program/exe_res.py b/lib/hachoir_parser/program/exe_res.py
index 850fcf018..22b25d0e1 100644
--- a/lib/hachoir_parser/program/exe_res.py
+++ b/lib/hachoir_parser/program/exe_res.py
@@ -9,15 +9,15 @@ Author: Victor Stinner
 Creation date: 2007-01-19
 """
 
-from hachoir_core.field import (FieldSet, ParserError, Enum,
+from lib.hachoir_core.field import (FieldSet, ParserError, Enum,
     Bit, Bits, SeekableFieldSet,
     UInt16, UInt32, TimestampUnix32,
     RawBytes, PaddingBytes, NullBytes, NullBits,
     CString, String)
-from hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
-from hachoir_core.tools import createDict, paddingSize, alignValue, makePrintable
-from hachoir_core.error import HACHOIR_ERRORS
-from hachoir_parser.common.win32 import BitmapInfoHeader
+from lib.hachoir_core.text_handler import textHandler, filesizeHandler, hexadecimal
+from lib.hachoir_core.tools import createDict, paddingSize, alignValue, makePrintable
+from lib.hachoir_core.error import HACHOIR_ERRORS
+from lib.hachoir_parser.common.win32 import BitmapInfoHeader
 
 MAX_DEPTH = 5
 MAX_INDEX_PER_HEADER = 300
diff --git a/lib/hachoir_parser/program/java.py b/lib/hachoir_parser/program/java.py
index 7329cbe07..2e58552c3 100644
--- a/lib/hachoir_parser/program/java.py
+++ b/lib/hachoir_parser/program/java.py
@@ -59,15 +59,15 @@ TODO/FIXME:
    should update the length field of it's entry, etc.  Sounds like a huge work.
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (
         ParserError, FieldSet, StaticFieldSet,
         Enum, RawBytes, PascalString16, Float32, Float64,
         Int8, UInt8, Int16, UInt16, Int32, UInt32, Int64,
         Bit, NullBits )
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.tools import paddingSize
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.tools import paddingSize
 
 ###############################################################################
 def parse_flags(flags, flags_dict, show_unknown_flags=True, separator=" "):
diff --git a/lib/hachoir_parser/program/prc.py b/lib/hachoir_parser/program/prc.py
index f4db0254c..19db78858 100644
--- a/lib/hachoir_parser/program/prc.py
+++ b/lib/hachoir_parser/program/prc.py
@@ -5,11 +5,11 @@ Author: Sebastien Ponce
 Creation date: 29 october 2008
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt16, UInt32, TimestampMac32,
     String, RawBytes)
-from hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.endian import BIG_ENDIAN
 
 class PRCHeader(FieldSet):
     static_size = 78*8
diff --git a/lib/hachoir_parser/program/python.py b/lib/hachoir_parser/program/python.py
index 6eea32bc7..5075f7f67 100644
--- a/lib/hachoir_parser/program/python.py
+++ b/lib/hachoir_parser/program/python.py
@@ -11,14 +11,14 @@ Creation: 25 march 2005
 
 DISASSEMBLE = False
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, UInt8,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, UInt8,
     UInt16, Int32, UInt32, Int64, ParserError, Float64, Enum,
     Character, Bytes, RawBytes, PascalString8, TimestampUnix32)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.bits import long2raw
-from hachoir_core.text_handler import textHandler, hexadecimal
-from hachoir_core.i18n import ngettext
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.bits import long2raw
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.i18n import ngettext
 if DISASSEMBLE:
     from dis import dis
 
diff --git a/lib/hachoir_parser/template.py b/lib/hachoir_parser/template.py
index 836215c12..0df480ebd 100644
--- a/lib/hachoir_parser/template.py
+++ b/lib/hachoir_parser/template.py
@@ -13,10 +13,10 @@ Creation date: YYYY-mm-DD
 """
 
 # TODO: Just keep what you need
-from hachoir_parser import Parser
-from hachoir_core.field import (ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (ParserError,
     UInt8, UInt16, UInt32, String, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
+from lib.hachoir_core.endian import LITTLE_ENDIAN, BIG_ENDIAN
 
 class TODOFile(Parser):
     PARSER_TAGS = {
diff --git a/lib/hachoir_parser/video/__init__.py b/lib/hachoir_parser/video/__init__.py
index 26f787e95..1fabf92a7 100644
--- a/lib/hachoir_parser/video/__init__.py
+++ b/lib/hachoir_parser/video/__init__.py
@@ -1,6 +1,6 @@
-from hachoir_parser.video.asf import AsfFile
-from hachoir_parser.video.flv import FlvFile
-from hachoir_parser.video.mov import MovFile
-from hachoir_parser.video.mpeg_video import MPEGVideoFile
-from hachoir_parser.video.mpeg_ts import MPEG_TS
+from lib.hachoir_parser.video.asf import AsfFile
+from lib.hachoir_parser.video.flv import FlvFile
+from lib.hachoir_parser.video.mov import MovFile
+from lib.hachoir_parser.video.mpeg_video import MPEGVideoFile
+from lib.hachoir_parser.video.mpeg_ts import MPEG_TS
 
diff --git a/lib/hachoir_parser/video/amf.py b/lib/hachoir_parser/video/amf.py
index 496c5c1d6..963f3207b 100644
--- a/lib/hachoir_parser/video/amf.py
+++ b/lib/hachoir_parser/video/amf.py
@@ -10,9 +10,9 @@ Author: Victor Stinner
 Creation date: 4 november 2006
 """
 
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt8, UInt16, UInt32, PascalString16, Float64)
-from hachoir_core.tools import timestampUNIX
+from lib.hachoir_core.tools import timestampUNIX
 
 def parseUTF8(parent):
     yield PascalString16(parent, "value", charset="UTF-8")
diff --git a/lib/hachoir_parser/video/asf.py b/lib/hachoir_parser/video/asf.py
index 39205ea67..35711d09b 100644
--- a/lib/hachoir_parser/video/asf.py
+++ b/lib/hachoir_parser/video/asf.py
@@ -10,20 +10,20 @@ Author: Victor Stinner
 Creation: 5 august 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError,
     UInt16, UInt32, UInt64,
     TimestampWin64, TimedeltaWin64,
     String, PascalString16, Enum,
     Bit, Bits, PaddingBits,
     PaddingBytes, NullBytes, RawBytes)
-from hachoir_core.endian import LITTLE_ENDIAN
-from hachoir_core.text_handler import (
+from lib.hachoir_core.endian import LITTLE_ENDIAN
+from lib.hachoir_core.text_handler import (
     displayHandler, filesizeHandler)
-from hachoir_core.tools import humanBitRate
+from lib.hachoir_core.tools import humanBitRate
 from itertools import izip
-from hachoir_parser.video.fourcc import audio_codec_name, video_fourcc_name
-from hachoir_parser.common.win32 import BitmapInfoHeader, GUID
+from lib.hachoir_parser.video.fourcc import audio_codec_name, video_fourcc_name
+from lib.hachoir_parser.common.win32 import BitmapInfoHeader, GUID
 
 MAX_HEADER_SIZE = 100 * 1024  # bytes
 
diff --git a/lib/hachoir_parser/video/flv.py b/lib/hachoir_parser/video/flv.py
index 5edbe7ab2..c2723d9f2 100644
--- a/lib/hachoir_parser/video/flv.py
+++ b/lib/hachoir_parser/video/flv.py
@@ -12,14 +12,14 @@ Author: Victor Stinner
 Creation date: 4 november 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet,
     UInt8, UInt24, UInt32, NullBits, NullBytes,
     Bit, Bits, String, RawBytes, Enum)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_parser.audio.mpeg_audio import Frame
-from hachoir_parser.video.amf import AMFObject
-from hachoir_core.tools import createDict
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_parser.audio.mpeg_audio import Frame
+from lib.hachoir_parser.video.amf import AMFObject
+from lib.hachoir_core.tools import createDict
 
 SAMPLING_RATE = {
     0: ( 5512, "5.5 kHz"),
diff --git a/lib/hachoir_parser/video/mov.py b/lib/hachoir_parser/video/mov.py
index f6b0a8ab6..32a81d094 100644
--- a/lib/hachoir_parser/video/mov.py
+++ b/lib/hachoir_parser/video/mov.py
@@ -15,13 +15,13 @@ Author: Victor Stinner
 Creation: 2 august 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (ParserError, FieldSet, MissingField,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (ParserError, FieldSet, MissingField,
     UInt8, Int16, UInt16, UInt32, TimestampMac32,
     String, PascalString8, CString,
     RawBytes, PaddingBytes)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
 
 class QTFloat32(FieldSet):
     static_size = 32
diff --git a/lib/hachoir_parser/video/mpeg_ts.py b/lib/hachoir_parser/video/mpeg_ts.py
index 56b9bc85e..c158dc9e9 100644
--- a/lib/hachoir_parser/video/mpeg_ts.py
+++ b/lib/hachoir_parser/video/mpeg_ts.py
@@ -9,11 +9,11 @@ Author: Victor Stinner
 Creation date: 13 january 2007
 """
 
-from hachoir_parser import Parser
-from hachoir_core.field import (FieldSet, ParserError, MissingField,
+from lib.hachoir_parser import Parser
+from lib.hachoir_core.field import (FieldSet, ParserError, MissingField,
     UInt8, Enum, Bit, Bits, RawBytes)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
 
 class Packet(FieldSet):
     def __init__(self, *args):
diff --git a/lib/hachoir_parser/video/mpeg_video.py b/lib/hachoir_parser/video/mpeg_video.py
index 5a5d51c82..9545681ec 100644
--- a/lib/hachoir_parser/video/mpeg_video.py
+++ b/lib/hachoir_parser/video/mpeg_video.py
@@ -13,17 +13,17 @@ Author: Victor Stinner
 Creation date: 15 september 2006
 """
 
-from hachoir_parser import Parser
-from hachoir_parser.audio.mpeg_audio import MpegAudioFile
-from hachoir_core.field import (FieldSet,
+from lib.hachoir_parser import Parser
+from lib.hachoir_parser.audio.mpeg_audio import MpegAudioFile
+from lib.hachoir_core.field import (FieldSet,
     FieldError, ParserError,
     Bit, Bits, Bytes, RawBits, PaddingBits, NullBits,
     UInt8, UInt16,
     RawBytes, PaddingBytes,
     Enum)
-from hachoir_core.endian import BIG_ENDIAN
-from hachoir_core.stream import StringInputStream
-from hachoir_core.text_handler import textHandler, hexadecimal
+from lib.hachoir_core.endian import BIG_ENDIAN
+from lib.hachoir_core.stream import StringInputStream
+from lib.hachoir_core.text_handler import textHandler, hexadecimal
 
 class FragmentGroup:
     def __init__(self, parser):
diff --git a/lib/oauth2/__init__.py b/lib/oauth2/__init__.py
index a965fc71e..2b9389096 100644
--- a/lib/oauth2/__init__.py
+++ b/lib/oauth2/__init__.py
@@ -28,7 +28,7 @@ import random
 import urlparse
 import hmac
 import binascii
-import httplib2
+import lib.httplib2 as httplib2
 
 try:
     from urlparse import parse_qs, parse_qsl
diff --git a/lib/pythontwitter/__init__.py b/lib/pythontwitter/__init__.py
index 9e101dc8c..badc70c31 100755
--- a/lib/pythontwitter/__init__.py
+++ b/lib/pythontwitter/__init__.py
@@ -42,7 +42,7 @@ try:
 except ImportError:
   try:
     # Python < 2.6
-    import simplejson
+    import lib.simplejson as simplejson
   except ImportError:
     try:
       # Google App Engine
@@ -61,7 +61,7 @@ try:
 except ImportError:
   from md5 import md5
 
-import oauth2 as oauth
+import lib.oauth2 as oauth
 
 
 CHARACTER_LIMIT = 140
diff --git a/lib/simplejson/decoder.py b/lib/simplejson/decoder.py
index 811e73347..dd57ddeef 100644
--- a/lib/simplejson/decoder.py
+++ b/lib/simplejson/decoder.py
@@ -4,9 +4,9 @@ import re
 import sys
 import struct
 
-from scanner import make_scanner
+from lib.simplejson.scanner import make_scanner
 try:
-    from _speedups import scanstring as c_scanstring
+    from lib.simplejson._speedups import scanstring as c_scanstring
 except ImportError:
     c_scanstring = None
 
diff --git a/lib/simplejson/encoder.py b/lib/simplejson/encoder.py
index afff9e825..15c35f7a1 100644
--- a/lib/simplejson/encoder.py
+++ b/lib/simplejson/encoder.py
@@ -3,11 +3,11 @@
 import re
 
 try:
-    from _speedups import encode_basestring_ascii as c_encode_basestring_ascii
+    from lib.simplejson._speedups import encode_basestring_ascii as c_encode_basestring_ascii
 except ImportError:
     c_encode_basestring_ascii = None
 try:
-    from _speedups import make_encoder as c_make_encoder
+    from lib.simplejson._speedups import make_encoder as c_make_encoder
 except ImportError:
     c_make_encoder = None
 
diff --git a/lib/tvdb_api/tvdb_api.py b/lib/tvdb_api/tvdb_api.py
index 288a46e9f..15839e80a 100644
--- a/lib/tvdb_api/tvdb_api.py
+++ b/lib/tvdb_api/tvdb_api.py
@@ -41,7 +41,10 @@ except ImportError:
 
 
 # Use local version for sickbeard, system version elsewhere
-import httplib2
+try:
+    import lib.httplib2 as httplib2
+except ImportError:
+    import httplib2
 
 from tvdb_ui import BaseUI, ConsoleUI
 from tvdb_exceptions import (tvdb_error, tvdb_userabort, tvdb_shownotfound,
diff --git a/sickbeard/image_cache.py b/sickbeard/image_cache.py
index 03f9d9e9a..091e77b13 100644
--- a/sickbeard/image_cache.py
+++ b/sickbeard/image_cache.py
@@ -26,8 +26,8 @@ from sickbeard import encodingKludge as ek
 
 from sickbeard.metadata.generic import GenericMetadata
 
-from hachoir_parser import createParser
-from hachoir_metadata import extractMetadata
+from lib.hachoir_parser import createParser
+from lib.hachoir_metadata import extractMetadata
 
 class ImageCache:
     
-- 
GitLab