11 from itertools import chain |
11 from itertools import chain |
12 from copy import deepcopy |
12 from copy import deepcopy |
13 from datetime import date, datetime, timedelta |
13 from datetime import date, datetime, timedelta |
14 |
14 |
15 from logilab.mtconverter import xml_escape |
15 from logilab.mtconverter import xml_escape |
16 |
|
17 from logilab.common.graph import has_path |
16 from logilab.common.graph import has_path |
18 from logilab.common.decorators import cached |
17 from logilab.common.decorators import cached |
|
18 from logilab.common.date import datetime2ticks, ustrftime |
19 from logilab.common.compat import all |
19 from logilab.common.compat import all |
20 |
20 |
21 from rql import parse, nodes |
21 from rql import parse, nodes |
22 |
22 |
23 from cubicweb import Unauthorized, typed_eid |
23 from cubicweb import Unauthorized, typed_eid |
24 from cubicweb.schema import display_name |
24 from cubicweb.schema import display_name |
25 from cubicweb.utils import datetime2ticks, make_uid, ustrftime |
25 from cubicweb.utils import make_uid |
26 from cubicweb.selectors import match_context_prop, partial_relation_possible |
26 from cubicweb.selectors import match_context_prop, partial_relation_possible |
27 from cubicweb.appobject import AppObject |
27 from cubicweb.appobject import AppObject |
28 from cubicweb.web.htmlwidgets import HTMLWidget |
28 from cubicweb.web.htmlwidgets import HTMLWidget |
29 |
29 |
30 ## rqlst manipulation functions used by facets ################################ |
30 ## rqlst manipulation functions used by facets ################################ |