Update Flatisfy to handle the latest dev version of Weboob. Fixes #91 and #85.

This commit is contained in:
Lucas Verney 2018-02-07 19:54:39 +01:00
parent 576c18b597
commit bfc27bbb92
5 changed files with 14 additions and 9 deletions

View File

@ -144,7 +144,8 @@ You should specify some constraints to filter the resulting housings list,
under the `constraints` key. The available constraints are:
* `type` is the type of housing you want, either `RENT` (to rent), `SALE` (to
buy) or `SHARING` (for a shared housing).
buy), `SHARING` (for a shared housing), `FURNISHED_RENT` (for a furnished
rent), `VIAGER` (for a viager, lifetime sale).
* `house_types` is a list of house types you are looking for. Values can be
`APART` (flat), `HOUSE`, `PARKING`, `LAND`, `OTHER` (everything else) or
`UNKNOWN` (anything which was not matched with one of the previous

0
doc/_static/.gitkeep vendored Normal file
View File

View File

@ -15,6 +15,7 @@ import sys
import traceback
import appdirs
from weboob.capabilities.housing import POSTS_TYPES, HOUSE_TYPES
from flatisfy import data
from flatisfy import tools
@ -155,7 +156,7 @@ def validate_config(config, check_with_data):
for constraint in config["constraints"].values():
assert "type" in constraint
assert isinstance(constraint["type"], str)
assert constraint["type"].upper() in ["RENT", "SALE", "SHARING"]
assert constraint["type"].upper() in POSTS_TYPES.keys
assert "minimum_nb_photos" in constraint
if constraint["minimum_nb_photos"]:
@ -171,7 +172,7 @@ def validate_config(config, check_with_data):
assert "house_types" in constraint
assert constraint["house_types"]
for house_type in constraint["house_types"]:
assert house_type.upper() in ["APART", "HOUSE", "PARKING", "LAND", "OTHER", "UNKNOWN"] # noqa: E501
assert house_type.upper() in HOUSE_TYPES.keys
assert "postal_codes" in constraint
assert constraint["postal_codes"]

View File

@ -19,7 +19,7 @@ LOGGER = logging.getLogger(__name__)
try:
from weboob.capabilities.housing import Query
from weboob.capabilities.housing import Query, POSTS_TYPES, HOUSE_TYPES
from weboob.core.bcall import CallErrors
from weboob.core.ouiboube import WebNip
from weboob.tools.json import WeboobEncoder
@ -146,7 +146,7 @@ class WeboobProxy(object):
try:
query.house_types = [
getattr(
Query.HOUSE_TYPES,
HOUSE_TYPES,
house_type.upper()
)
for house_type in constraints_dict["house_types"]
@ -157,8 +157,8 @@ class WeboobProxy(object):
try:
query.type = getattr(
Query,
"TYPE_{}".format(constraints_dict["type"].upper())
POSTS_TYPES,
constraints_dict["type"].upper()
)
except AttributeError:
LOGGER.error("Invalid post type constraint.")
@ -227,9 +227,12 @@ class WeboobProxy(object):
housing = backend.get_housing(flat_id)
# Otherwise, we miss the @backend afterwards
housing.id = full_flat_id
# Eventually clear personal data
if not store_personal_data:
# Ensure phone is cleared
housing.phone = None
else:
# Ensure phone is fetched
backend.fillobj(housing, 'phone')
return json.dumps(housing, cls=WeboobEncoder)
except Exception as exc: # pylint: disable=broad-except

View File

@ -82,7 +82,7 @@ def compare_photos(photo1, photo2, photo_cache, hash_threshold):
:param photo2: Second photo url.
:param photo_cache: An instance of ``ImageCache`` to use to cache images.
:param hash_threshold: The hash threshold between two images. Usually two
different photos have a hash difference of 30.
different photos have a hash difference of 30.
:return: ``True`` if the photos are identical, else ``False``.
"""
try: