# HG changeset patch # User sylvain.thenault@logilab.fr # Date 1238090420 -3600 # Node ID 1e19b6ef53a18104c2849b95cea86505998d703e # Parent 55a8238f8f7c6dfd3135854d9e60362b96067f41 pylint cleanup diff -r 55a8238f8f7c -r 1e19b6ef53a1 entities/__init__.py --- a/entities/__init__.py Thu Mar 26 18:59:56 2009 +0100 +++ b/entities/__init__.py Thu Mar 26 19:00:20 2009 +0100 @@ -310,6 +310,7 @@ tschema = rschema.subjects(cls.e_schema)[0] wdg = widget(cls.vreg, tschema, rschema, cls, 'object') return wdg + def relations_by_category(self, categories=None, permission=None): if categories is not None: if not isinstance(categories, (list, tuple, set, frozenset)): diff -r 55a8238f8f7c -r 1e19b6ef53a1 vregistry.py --- a/vregistry.py Thu Mar 26 18:59:56 2009 +0100 +++ b/vregistry.py Thu Mar 26 19:00:20 2009 +0100 @@ -303,14 +303,16 @@ winners.append(vobject) if not winners: raise NoSelectableObject('args: %s\nkwargs: %s %s' - % (args, kwargs.keys(), [repr(v) for v in vobjects])) + % (args, kwargs.keys(), + [repr(v) for v in vobjects])) if len(winners) > 1: if self.config.mode == 'installed': self.error('select ambiguity, args: %s\nkwargs: %s %s', args, kwargs.keys(), [repr(v) for v in winners]) else: raise Exception('select ambiguity, args: %s\nkwargs: %s %s' - % (args, kwargs.keys(), [repr(v) for v in winners])) + % (args, kwargs.keys(), + [repr(v) for v in winners])) winner = winners[0] # return the result of the .selected method of the vobject return winner.selected(*args, **kwargs) diff -r 55a8238f8f7c -r 1e19b6ef53a1 web/box.py --- a/web/box.py Thu Mar 26 18:59:56 2009 +0100 +++ b/web/box.py Thu Mar 26 19:00:20 2009 +0100 @@ -6,10 +6,9 @@ """ __docformat__ = "restructuredtext en" -from logilab.common.decorators import cached from logilab.mtconverter import html_escape -from cubicweb import Unauthorized, role as get_role +from cubicweb import Unauthorized, role as get_role, target as get_target from cubicweb.selectors import (one_line_rset, primary_view, match_context_prop, partial_has_related_entities, accepts_compat, has_relation_compat, @@ -179,18 +178,12 @@ def div_id(self): return self.id - - @cached - def xtarget(self): - if self.target == 'subject': - return 'object', 'subject' - return 'subject', 'object' def box_item(self, entity, etarget, rql, label): """builds HTML link to edit relation between `entity` and `etarget` """ - x, target = self.xtarget() - args = {x[0] : entity.eid, target[0] : etarget.eid} + role, target = get_role(self), get_target(self) + args = {role[0] : entity.eid, target[0] : etarget.eid} url = self.user_rql_callback((rql, args)) # for each target, provide a link to edit the relation label = u'[%s] %s' % (url, label, @@ -217,10 +210,9 @@ if etype is not defined on the Box's class, the default behaviour is to use the entity's appropraite vocabulary function """ - x, target = self.xtarget() # use entity.unrelated if we've been asked for a particular etype if hasattr(self, 'etype'): - return entity.unrelated(self.rtype, self.etype, x).entities() + return entity.unrelated(self.rtype, self.etype, get_role(self)).entities() # in other cases, use vocabulary functions entities = [] for _, eid in entity.vocabulary(self.rtype, x): @@ -230,6 +222,5 @@ return entities def related_entities(self, entity): - x, target = self.xtarget() - return entity.related(self.rtype, x, entities=True) + return entity.related(self.rtype, get_role(self), entities=True) diff -r 55a8238f8f7c -r 1e19b6ef53a1 web/facet.py --- a/web/facet.py Thu Mar 26 18:59:56 2009 +0100 +++ b/web/facet.py Thu Mar 26 19:00:20 2009 +0100 @@ -118,12 +118,17 @@ return None def _add_rtype_relation(rqlst, mainvar, rtype, role): + """add a relation relying `mainvar` to entities linked by the `rtype` + relation (where `mainvar` has `role`) + + return the inserted variable for linked entities. + """ newvar = rqlst.make_variable() if role == 'object': - rel = rqlst.add_relation(newvar, rtype, mainvar) + rqlst.add_relation(newvar, rtype, mainvar) else: - rel = rqlst.add_relation(mainvar, rtype, newvar) - return newvar, rel + rqlst.add_relation(mainvar, rtype, newvar) + return newvar def _prepare_vocabulary_rqlst(rqlst, mainvar, rtype, role): """prepare a syntax tree to generate a filter vocabulary rql using the given @@ -133,11 +138,11 @@ * add the new variable to GROUPBY clause if necessary * add the new variable to the selection """ - newvar, rel = _add_rtype_relation(rqlst, mainvar, rtype, role) + newvar = _add_rtype_relation(rqlst, mainvar, rtype, role) if rqlst.groupby: rqlst.add_group_var(newvar) rqlst.add_selected(newvar) - return newvar, rel + return newvar def _remove_relation(rqlst, rel, var): """remove a constraint relation from the syntax tree""" @@ -170,10 +175,10 @@ sortfuncname=None, sortasc=True): """modify a syntax tree to retrieve only relevant attribute `attr` of `var`""" _cleanup_rqlst(rqlst, mainvar) - var, mainrel = _prepare_vocabulary_rqlst(rqlst, mainvar, rtype, role) + var = _prepare_vocabulary_rqlst(rqlst, mainvar, rtype, role) # not found, create one attrvar = rqlst.make_variable() - attrrel = rqlst.add_relation(var, attrname, attrvar) + rqlst.add_relation(var, attrname, attrvar) # if query is grouped, we have to add the attribute variable if rqlst.groupby: if not attrvar in rqlst.groupby: @@ -410,7 +415,7 @@ if not value: return mainvar = self.filtered_variable - restrvar = _add_rtype_relation(self.rqlst, mainvar, self.rtype, self.role)[0] + restrvar = _add_rtype_relation(self.rqlst, mainvar, self.rtype, self.role) if isinstance(value, basestring): # only one value selected self.rqlst.add_eid_restriction(restrvar, value) @@ -424,7 +429,7 @@ # multiple values with AND operator self.rqlst.add_eid_restriction(restrvar, value.pop()) while value: - restrvar = _add_rtype_relation(self.rqlst, mainvar, self.rtype, self.role)[0] + restrvar = _add_rtype_relation(self.rqlst, mainvar, self.rtype, self.role) self.rqlst.add_eid_restriction(restrvar, value.pop()) @@ -442,7 +447,7 @@ try: mainvar = self.filtered_variable _cleanup_rqlst(rqlst, mainvar) - newvar, rel = _prepare_vocabulary_rqlst(rqlst, mainvar, self.rtype, self.role) + newvar = _prepare_vocabulary_rqlst(rqlst, mainvar, self.rtype, self.role) _set_orderby(rqlst, newvar, self.sortasc, self.sortfunc) try: rset = self.rqlexec(rqlst.as_string(), self.rset.args, self.rset.cachekey) diff -r 55a8238f8f7c -r 1e19b6ef53a1 web/httpcache.py --- a/web/httpcache.py Thu Mar 26 18:59:56 2009 +0100 +++ b/web/httpcache.py Thu Mar 26 19:00:20 2009 +0100 @@ -92,11 +92,11 @@ # monkey patching, so view doesn't depends on this module and we have all # http cache related logic here -from cubicweb import view +from cubicweb import view as viewmod def set_http_cache_headers(self): self.http_cache_manager(self).set_headers() -view.View.set_http_cache_headers = set_http_cache_headers +viewmod.View.set_http_cache_headers = set_http_cache_headers def last_modified(self): """return the date/time where this view should be considered as @@ -118,15 +118,15 @@ mtime = ctime # mtime = ctime will force page rerendering return mtime -view.View.last_modified = last_modified +viewmod.View.last_modified = last_modified # configure default caching -view.View.http_cache_manager = NoHTTPCacheManager +viewmod.View.http_cache_manager = NoHTTPCacheManager # max-age=0 to actually force revalidation when needed -view.View.cache_max_age = 0 +viewmod.View.cache_max_age = 0 -view.EntityView.http_cache_manager = EntityHTTPCacheManager +viewmod.EntityView.http_cache_manager = EntityHTTPCacheManager -view.StartupView.http_cache_manager = MaxAgeHTTPCacheManager -view.StartupView.cache_max_age = 60*60*2 # stay in http cache for 2 hours by default +viewmod.StartupView.http_cache_manager = MaxAgeHTTPCacheManager +viewmod.StartupView.cache_max_age = 60*60*2 # stay in http cache for 2 hours by default diff -r 55a8238f8f7c -r 1e19b6ef53a1 web/views/basetemplates.py --- a/web/views/basetemplates.py Thu Mar 26 18:59:56 2009 +0100 +++ b/web/views/basetemplates.py Thu Mar 26 19:00:20 2009 +0100 @@ -23,7 +23,6 @@ self.set_request_content_type() w = self.w self.write_doctype() - lang = self.req.lang self.template_header('text/html', self.req._('login_action')) w(u'
\n') self.content(w) diff -r 55a8238f8f7c -r 1e19b6ef53a1 web/views/calendar.py --- a/web/views/calendar.py Thu Mar 26 18:59:56 2009 +0100 +++ b/web/views/calendar.py Thu Mar 26 19:00:20 2009 +0100 @@ -152,7 +152,6 @@ lastday = last_day_of_month + timedelta(6 - last_day_of_month.weekday()) month_dates = list(date_range(firstday, lastday)) dates = {} - users = [] task_max = 0 for row in xrange(self.rset.rowcount): task = self.rset.get_entity(row, 0) @@ -263,22 +262,22 @@ year=nextdate.year, month=nextdate.month) return prevlink, nextlink - def _build_calendar_cell(self, date, rows, curdate): + def _build_calendar_cell(self, celldate, rows, curdate): curmonth = curdate.month classes = "" - if date.month != curmonth: + if celldate.month != curmonth: classes += " outOfRange" - if date == datetime.today(): + if celldate == date.today(): classes += " today" self.w(u'