def get_dupe_prob(self, url):
path, query = _parse_url(url)<EOL>dupestats = []<EOL>extend_ds = lambda x: dupestats.extend(filter(None, (<EOL>ds_dict.get(key) for ds_dict, key in x)))<EOL>if self.urls_by_path.get(path):<EOL><INDENT>extend_ds([(self.path_dupstats, path)])<EOL><DEDENT>for param, value in query.items():<EOL><INDENT>qwp_key = _q_key(_without_key(query, param))<EOL>has_changed = self.urls_by_path_qwp.get((path, param, qwp_key))<EOL>has_removed = self.urls_by_path_q.get((path, qwp_key))<EOL>if has_changed or has_removed:<EOL><INDENT>extend_ds(self._param_dupstats(path, param, qwp_key))<EOL><DEDENT>if has_removed:<EOL><INDENT>extend_ds(self._param_value_dupstats(path, param, value))<EOL><DEDENT><DEDENT>q_key = _q_key(query)<EOL>for param in (self.params_by_path.get(path, set()) - set(query)):<EOL><INDENT>if self.urls_by_path_qwp.get((path, param, q_key)):<EOL><INDENT>extend_ds(self._param_dupstats(path, param, q_key))<EOL>for value in self.param_values.get((path, param), set()):<EOL><INDENT>extend_ds(self._param_value_dupstats(path, param, value))<EOL><DEDENT><DEDENT><DEDENT>return max(ds.get_prob() for ds in dupestats) if dupestats else <NUM_LIT:0.><EOL>
A probability of given url being a duplicate of some content
        that has already been seem.