summaryrefslogtreecommitdiffstats
path: root/module/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins')
-rw-r--r--module/plugins/accounts/HellshareCz.py4
-rw-r--r--module/plugins/captcha/CircleCaptcha.py14
-rw-r--r--module/plugins/captcha/LinksaveIn.py6
-rw-r--r--module/plugins/hooks/BypassCaptcha.py6
-rw-r--r--module/plugins/hooks/Captcha9Kw.py6
-rw-r--r--module/plugins/hooks/CaptchaBrotherhood.py4
-rw-r--r--module/plugins/hooks/Checksum.py4
-rw-r--r--module/plugins/hooks/DeathByCaptcha.py4
-rw-r--r--module/plugins/hooks/IRC.py4
-rw-r--r--module/plugins/hooks/ImageTyperz.py4
-rw-r--r--module/plugins/hooks/SkipRev.py4
-rw-r--r--module/plugins/hooks/UnSkipOnFail.py6
-rw-r--r--module/plugins/hooks/UpdateManager.py6
-rw-r--r--module/plugins/hoster/TurbobitNet.py4
-rw-r--r--module/plugins/hoster/XDCC.py10
-rw-r--r--module/plugins/hoster/YoutubeCom.py4
-rw-r--r--module/plugins/internal/Base.py4
-rw-r--r--module/plugins/internal/Hoster.py4
-rw-r--r--module/plugins/internal/SimpleHoster.py4
-rw-r--r--module/plugins/internal/misc.py4
20 files changed, 53 insertions, 53 deletions
diff --git a/module/plugins/accounts/HellshareCz.py b/module/plugins/accounts/HellshareCz.py
index aef8232fd..e514455a6 100644
--- a/module/plugins/accounts/HellshareCz.py
+++ b/module/plugins/accounts/HellshareCz.py
@@ -9,7 +9,7 @@ from module.plugins.internal.Account import Account
class HellshareCz(Account):
__name__ = "HellshareCz"
__type__ = "account"
- __version__ = "0.24"
+ __version__ = "0.25"
__status__ = "testing"
__description__ = """Hellshare.cz account plugin"""
@@ -36,7 +36,7 @@ class HellshareCz(Account):
#: Time-based account
vt = [int(x) for x in credit.split('.')[:2]]
lt = time.localtime()
- year = lt.tm_year + int(vt[1] < lt.tm_mon or (vt[1] is lt.tm_mon and vt[0] < lt.tm_mday))
+ year = lt.tm_year + int(vt[1] < lt.tm_mon or (vt[1] == lt.tm_mon and vt[0] < lt.tm_mday))
validuntil = time.mktime(time.strptime("%s%d 23:59:59" % (credit, year), "%d.%m.%Y %H:%M:%S"))
trafficleft = -1
else:
diff --git a/module/plugins/captcha/CircleCaptcha.py b/module/plugins/captcha/CircleCaptcha.py
index 93bacae32..7df986b5e 100644
--- a/module/plugins/captcha/CircleCaptcha.py
+++ b/module/plugins/captcha/CircleCaptcha.py
@@ -31,7 +31,7 @@ class ImageSequence:
class CircleCaptcha(OCR):
__name__ = "CircleCaptcha"
__type__ = "ocr"
- __version__ = "1.07"
+ __version__ = "1.08"
__status__ = "testing"
__description__ = """Circle captcha ocr plugin"""
@@ -138,7 +138,7 @@ class CircleCaptcha(OCR):
jump = False
continue
- if (curpix < self.BACKGROUND and color == -1) or (curpix is color and color > -1):
+ if (curpix < self.BACKGROUND and color == -1) or (curpix == color and color > -1):
if jump is False:
#: Found pixel
curcolor = curpix
@@ -168,7 +168,7 @@ class CircleCaptcha(OCR):
#: Found last pixel and the first white
break
- if (curpix < self.BACKGROUND and color == -1) or (curpix is color and color > -1):
+ if (curpix < self.BACKGROUND and color == -1) or (curpix == color and color > -1):
#: Found pixel
curcolor = curpix
newx = x, curcolor
@@ -199,7 +199,7 @@ class CircleCaptcha(OCR):
#: Found last pixel and the first white
break
- if (curpix < self.BACKGROUND and color == -1) or (curpix is color and color > -1):
+ if (curpix < self.BACKGROUND and color == -1) or (curpix == color and color > -1):
#: Found pixel
curcolor = curpix
newy = y, color
@@ -521,7 +521,7 @@ class CircleCaptcha(OCR):
return result
curpix = pix[x, y]
- if (curpix is color and color > -1) or (curpix < self.BACKGROUND and color == -1):
+ if (curpix == color and color > -1) or (curpix < self.BACKGROUND and color == -1):
if curpix > self.BLACKCOLOR:
result = 1
else:
@@ -531,7 +531,7 @@ class CircleCaptcha(OCR):
if exact is False:
if x + 1 < im.size[0]:
curpix = pix[x+1, y]
- if (curpix is color and color > -1) or (curpix < self.BACKGROUND and color == -1):
+ if (curpix == color and color > -1) or (curpix < self.BACKGROUND and color == -1):
if curpix > self.BLACKCOLOR:
result = 1
if curpix <= self.BLACKCOLOR:
@@ -539,7 +539,7 @@ class CircleCaptcha(OCR):
if x > 0:
curpix = pix[x-1, y]
- if (curpix is color and color > -1) or (curpix < self.BACKGROUND and color == -1):
+ if (curpix == color and color > -1) or (curpix < self.BACKGROUND and color == -1):
if curpix > self.BLACKCOLOR:
result = 1
if curpix <= self.BLACKCOLOR:
diff --git a/module/plugins/captcha/LinksaveIn.py b/module/plugins/captcha/LinksaveIn.py
index 34e32a208..2724af6c7 100644
--- a/module/plugins/captcha/LinksaveIn.py
+++ b/module/plugins/captcha/LinksaveIn.py
@@ -15,7 +15,7 @@ from module.plugins.internal.OCR import OCR
class LinksaveIn(OCR):
__name__ = "LinksaveIn"
__type__ = "ocr"
- __version__ = "0.16"
+ __version__ = "0.17"
__status__ = "testing"
__description__ = """Linksave.in ocr plugin"""
@@ -83,7 +83,7 @@ class LinksaveIn(OCR):
except Exception:
cstat[rgb_c] = 1
- if rgb_bg is rgb_c:
+ if rgb_bg == rgb_c:
stat[bgpath] += 1
max_p = 0
bg = ""
@@ -113,7 +113,7 @@ class LinksaveIn(OCR):
for y in xrange(bg.size[1]):
rgb_bg = bglut[bgpix[x, y]]
rgb_c = lut[pix[x, y]]
- if rgb_c is rgb_bg:
+ if rgb_c == rgb_bg:
orgpix[x, y] = (255, 255, 255)
diff --git a/module/plugins/hooks/BypassCaptcha.py b/module/plugins/hooks/BypassCaptcha.py
index bc28b1469..700eb3b0a 100644
--- a/module/plugins/hooks/BypassCaptcha.py
+++ b/module/plugins/hooks/BypassCaptcha.py
@@ -28,7 +28,7 @@ class BypassCaptchaException(Exception):
class BypassCaptcha(Addon):
__name__ = "BypassCaptcha"
__type__ = "hook"
- __version__ = "0.10"
+ __version__ = "0.11"
__status__ = "testing"
__config__ = [("activated" , "bool" , "Activated" , False),
@@ -115,12 +115,12 @@ class BypassCaptcha(Addon):
def captcha_correct(self, task):
- if task.data['service'] is self.classname and "ticket" in task.data:
+ if task.data['service'] == self.classname and "ticket" in task.data:
self.respond(task.data['ticket'], True)
def captcha_invalid(self, task):
- if task.data['service'] is self.classname and "ticket" in task.data:
+ if task.data['service'] == self.classname and "ticket" in task.data:
self.respond(task.data['ticket'], False)
diff --git a/module/plugins/hooks/Captcha9Kw.py b/module/plugins/hooks/Captcha9Kw.py
index 714be8bc4..438a29165 100644
--- a/module/plugins/hooks/Captcha9Kw.py
+++ b/module/plugins/hooks/Captcha9Kw.py
@@ -13,7 +13,7 @@ from module.plugins.internal.Addon import Addon, threaded
class Captcha9Kw(Addon):
__name__ = "Captcha9Kw"
__type__ = "hook"
- __version__ = "0.32"
+ __version__ = "0.33"
__status__ = "testing"
__config__ = [("activated" , "bool" , "Activated" , False ),
@@ -80,7 +80,7 @@ class Captcha9Kw(Addon):
for opt in str(self.config.get('hoster_options').split('|')):
details = map(str.strip, opt.split(':'))
- if not details or details[0].lower() is not pluginname.lower():
+ if not details or details[0].lower() != pluginname.lower():
continue
for d in details:
@@ -191,7 +191,7 @@ class Captcha9Kw(Addon):
for opt in str(self.config.get('hoster_options').split('|')):
details = map(str.strip, opt.split(':'))
- if not details or details[0].lower() is not pluginname.lower():
+ if not details or details[0].lower() != pluginname.lower():
continue
for d in details:
diff --git a/module/plugins/hooks/CaptchaBrotherhood.py b/module/plugins/hooks/CaptchaBrotherhood.py
index 15546c63f..74f971439 100644
--- a/module/plugins/hooks/CaptchaBrotherhood.py
+++ b/module/plugins/hooks/CaptchaBrotherhood.py
@@ -39,7 +39,7 @@ class CaptchaBrotherhoodException(Exception):
class CaptchaBrotherhood(Addon):
__name__ = "CaptchaBrotherhood"
__type__ = "hook"
- __version__ = "0.12"
+ __version__ = "0.13"
__status__ = "testing"
__config__ = [("activated" , "bool" , "Activated" , False),
@@ -155,7 +155,7 @@ class CaptchaBrotherhood(Addon):
def captcha_invalid(self, task):
- if task.data['service'] is self.classname and "ticket" in task.data:
+ if task.data['service'] == self.classname and "ticket" in task.data:
self.api_response("complainCaptcha", task.data['ticket'])
diff --git a/module/plugins/hooks/Checksum.py b/module/plugins/hooks/Checksum.py
index af6f2f406..cdda86a27 100644
--- a/module/plugins/hooks/Checksum.py
+++ b/module/plugins/hooks/Checksum.py
@@ -38,7 +38,7 @@ def compute_checksum(local_file, algorithm):
class Checksum(Addon):
__name__ = "Checksum"
__type__ = "hook"
- __version__ = "0.24"
+ __version__ = "0.25"
__status__ = "broken"
__config__ = [("activated" , "bool" , "Activated" , False ),
@@ -190,7 +190,7 @@ class Checksum(Addon):
algorithm = self.methods.get(file_type, file_type)
checksum = compute_checksum(local_file, algorithm)
- if checksum is data['HASH']:
+ if checksum == data['HASH']:
self.log_info(_('File integrity of "%s" verified by %s checksum (%s)') %
(data['NAME'], algorithm, checksum))
else:
diff --git a/module/plugins/hooks/DeathByCaptcha.py b/module/plugins/hooks/DeathByCaptcha.py
index 7e50a97f3..f8e637aff 100644
--- a/module/plugins/hooks/DeathByCaptcha.py
+++ b/module/plugins/hooks/DeathByCaptcha.py
@@ -51,7 +51,7 @@ class DeathByCaptchaException(Exception):
class DeathByCaptcha(Addon):
__name__ = "DeathByCaptcha"
__type__ = "hook"
- __version__ = "0.11"
+ __version__ = "0.12"
__status__ = "testing"
__config__ = [("activated" , "bool" , "Activated" , False),
@@ -197,7 +197,7 @@ class DeathByCaptcha(Addon):
def captcha_invalid(self, task):
- if task.data['service'] is self.classname and "ticket" in task.data:
+ if task.data['service'] == self.classname and "ticket" in task.data:
try:
res = self.api_response("captcha/%d/report" % task.data['ticket'], True)
diff --git a/module/plugins/hooks/IRC.py b/module/plugins/hooks/IRC.py
index 65ae2a356..91f9ddf5e 100644
--- a/module/plugins/hooks/IRC.py
+++ b/module/plugins/hooks/IRC.py
@@ -19,7 +19,7 @@ from module.internal.misc import formatSize
class IRC(Thread, Notifier):
__name__ = "IRC"
__type__ = "hook"
- __version__ = "0.19"
+ __version__ = "0.20"
__status__ = "testing"
__config__ = [("activated", "bool", "Activated" , False ),
@@ -155,7 +155,7 @@ class IRC(Thread, Notifier):
if not msg['origin'].split("!", 1)[0] in self.config.get('owner').split():
return
- if msg['target'].split("!", 1)[0] is not self.config.get('nick'):
+ if msg['target'].split("!", 1)[0] != self.config.get('nick'):
return
if msg['action'] != "PRIVMSG":
diff --git a/module/plugins/hooks/ImageTyperz.py b/module/plugins/hooks/ImageTyperz.py
index 4c43c9189..7b9ca3a46 100644
--- a/module/plugins/hooks/ImageTyperz.py
+++ b/module/plugins/hooks/ImageTyperz.py
@@ -32,7 +32,7 @@ class ImageTyperzException(Exception):
class ImageTyperz(Addon):
__name__ = "ImageTyperz"
__type__ = "hook"
- __version__ = "0.11"
+ __version__ = "0.12"
__status__ = "testing"
__config__ = [("activated" , "bool" , "Activated" , False),
@@ -131,7 +131,7 @@ class ImageTyperz(Addon):
def captcha_invalid(self, task):
- if task.data['service'] is self.classname and "ticket" in task.data:
+ if task.data['service'] == self.classname and "ticket" in task.data:
res = self.load(self.RESPOND_URL,
post={'action': "SETBADIMAGE",
'username': self.config.get('username'),
diff --git a/module/plugins/hooks/SkipRev.py b/module/plugins/hooks/SkipRev.py
index c318e3247..24bf610d1 100644
--- a/module/plugins/hooks/SkipRev.py
+++ b/module/plugins/hooks/SkipRev.py
@@ -9,7 +9,7 @@ from module.plugins.internal.Addon import Addon
class SkipRev(Addon):
__name__ = "SkipRev"
__type__ = "hook"
- __version__ = "0.36"
+ __version__ = "0.37"
__status__ = "testing"
__config__ = [("activated", "bool" , "Activated" , False ),
@@ -42,7 +42,7 @@ class SkipRev(Addon):
def download_preparing(self, pyfile):
name = self._name(pyfile)
- if pyfile.statusname is _("unskipped") or not name.endswith(".rev") or not ".part" in name:
+ if pyfile.statusname == "unskipped" or not name.endswith(".rev") or not ".part" in name:
return
revtokeep = -1 if self.config.get('mode') == "Auto" else self.config.get('revtokeep')
diff --git a/module/plugins/hooks/UnSkipOnFail.py b/module/plugins/hooks/UnSkipOnFail.py
index 35ff91672..f31d574cd 100644
--- a/module/plugins/hooks/UnSkipOnFail.py
+++ b/module/plugins/hooks/UnSkipOnFail.py
@@ -7,7 +7,7 @@ from module.plugins.internal.Addon import Addon
class UnSkipOnFail(Addon):
__name__ = "UnSkipOnFail"
__type__ = "hook"
- __version__ = "0.12"
+ __version__ = "0.13"
__status__ = "testing"
__config__ = [("activated", "bool", "Activated", True)]
@@ -55,7 +55,7 @@ class UnSkipOnFail(Addon):
"""
for pinfo in self.pyload.api.getQueue():
#: Check if package-folder equals pyfile's package folder
- if pinfo.folder is not pyfile.package().folder:
+ if pinfo.folder != pyfile.package().folder:
continue
#: Now get packaged data w/ files/links
@@ -67,7 +67,7 @@ class UnSkipOnFail(Addon):
#: Check if link name collides with pdata's name
#: and at last check if it is not pyfile itself
- if link.name is pyfile.name and link.fid is not pyfile.id:
+ if link.name == pyfile.name and link.fid != pyfile.id:
return link
diff --git a/module/plugins/hooks/UpdateManager.py b/module/plugins/hooks/UpdateManager.py
index 28a8ece39..d8635e9c6 100644
--- a/module/plugins/hooks/UpdateManager.py
+++ b/module/plugins/hooks/UpdateManager.py
@@ -15,7 +15,7 @@ from module.plugins.internal.misc import encode, exists, fsjoin
class UpdateManager(Addon):
__name__ = "UpdateManager"
__type__ = "hook"
- __version__ = "1.08"
+ __version__ = "1.09"
__status__ = "testing"
__config__ = [("activated" , "bool", "Activated" , True ),
@@ -252,8 +252,8 @@ class UpdateManager(Addon):
if blacklist:
#@NOTE: Protect UpdateManager from self-removing
- blacklisted_plugins = [(plugin['type'], plugin['name']) for plugin in blacklist \
- if plugin['name'] is not self.classname and plugin['type'] is not self.__type__]
+ blacklisted_plugins = [(plugin['type'], plugin['name']) for plugin in blacklist
+ if plugin['name'] != self.classname and plugin['type'] != self.__type__]
c = 1
l = len(blacklisted_plugins)
diff --git a/module/plugins/hoster/TurbobitNet.py b/module/plugins/hoster/TurbobitNet.py
index 724ac0916..081b5579b 100644
--- a/module/plugins/hoster/TurbobitNet.py
+++ b/module/plugins/hoster/TurbobitNet.py
@@ -17,7 +17,7 @@ from module.plugins.internal.misc import timestamp
class TurbobitNet(SimpleHoster):
__name__ = "TurbobitNet"
__type__ = "hoster"
- __version__ = "0.26"
+ __version__ = "0.27"
__status__ = "broken"
__pattern__ = r'http://(?:www\.)?turbobit\.net/(?:download/free/)?(?P<ID>\w+)'
@@ -103,7 +103,7 @@ class TurbobitNet(SimpleHoster):
if rtUpdate:
return rtUpdate
- if self.db.retrieve("version") is not self.__version__ or \
+ if self.db.retrieve("version") != self.__version__ or \
int(self.db.retrieve("timestamp", 0)) + 86400000 < timestamp():
#: that's right, we are even using jdownloader updates
rtUpdate = self.load("http://update0.jdownloader.org/pluginstuff/tbupdate.js")
diff --git a/module/plugins/hoster/XDCC.py b/module/plugins/hoster/XDCC.py
index 405673fa4..172ba2fbd 100644
--- a/module/plugins/hoster/XDCC.py
+++ b/module/plugins/hoster/XDCC.py
@@ -14,7 +14,7 @@ from module.plugins.internal.misc import fsjoin
class XDCC(Hoster):
__name__ = "XDCC"
__type__ = "hoster"
- __version__ = "0.39"
+ __version__ = "0.40"
__status__ = "testing"
__config__ = [("nick", "str", "Nickname", "pyload"),
@@ -149,7 +149,7 @@ class XDCC(Hoster):
'text': msg[3][1:]
}
- if nick is msg['target'][0:len(nick)] and "PRIVMSG" is msg['action']:
+ if nick == msg['target'][0:len(nick)] and "PRIVMSG" == msg['action']:
if msg['text'] == "\x01VERSION\x01":
self.log_debug("Sending CTCP VERSION")
sock.send("NOTICE %s :%s\r\n" % (msg['origin'], "pyLoad! IRC Interface"))
@@ -159,8 +159,8 @@ class XDCC(Hoster):
elif msg['text'] == "\x01LAG\x01":
pass #: don't know how to answer
- if not (bot is msg['origin'][0:len(bot)]
- and nick is msg['target'][0:len(nick)]
+ if not (bot == msg['origin'][0:len(bot)]
+ and nick == msg['target'][0:len(nick)]
and msg['action'] in ("PRIVMSG", "NOTICE")):
continue
@@ -194,7 +194,7 @@ class XDCC(Hoster):
self.pyfile.setStatus("downloading")
newname = self.req.download(ip, port, filename, sock, self.pyfile.setProgress)
- if newname and newname is not filename:
+ if newname and newname != filename:
self.log_info(_("%(name)s saved as %(newname)s") % {'name': self.pyfile.name, 'newname': newname})
filename = newname
diff --git a/module/plugins/hoster/YoutubeCom.py b/module/plugins/hoster/YoutubeCom.py
index 3f625492f..6c423b84a 100644
--- a/module/plugins/hoster/YoutubeCom.py
+++ b/module/plugins/hoster/YoutubeCom.py
@@ -12,7 +12,7 @@ from module.plugins.internal.misc import html_unescape, replace_patterns, which
class YoutubeCom(Hoster):
__name__ = "YoutubeCom"
__type__ = "hoster"
- __version__ = "0.49"
+ __version__ = "0.50"
__status__ = "testing"
__pattern__ = r'https?://(?:[^/]*\.)?(youtu\.be/|youtube\.com/watch\?(?:.*&)?v=)\w+'
@@ -111,7 +111,7 @@ class YoutubeCom(Hoster):
if not streams:
self.fail(_("No available stream meets your preferences"))
- fmt_dict = dict([x for x in streams if self.formats[x[0]][4] is use3d] or streams)
+ fmt_dict = dict([x for x in streams if self.formats[x[0]][4] == use3d] or streams)
self.log_debug("DESIRED STREAM: ITAG:%d (%s) %sfound, %sallowed" %
(desired_fmt, "%s %dx%d Q:%d 3D:%s" % self.formats[desired_fmt],
diff --git a/module/plugins/internal/Base.py b/module/plugins/internal/Base.py
index 5f766c88f..e6055e454 100644
--- a/module/plugins/internal/Base.py
+++ b/module/plugins/internal/Base.py
@@ -27,7 +27,7 @@ def parse_fileInfo(klass, url="", html=""):
class Base(Plugin):
__name__ = "Base"
__type__ = "base"
- __version__ = "0.22"
+ __version__ = "0.23"
__status__ = "stable"
__pattern__ = r'^unmatchable$'
@@ -185,7 +185,7 @@ class Base(Plugin):
def _update_name(self):
name = self.info.get('name')
- if name and name is not self.info.get('url'):
+ if name and name != self.info.get('url'):
self.pyfile.name = name
else:
name = self.pyfile.name
diff --git a/module/plugins/internal/Hoster.py b/module/plugins/internal/Hoster.py
index 4a1499d5c..69610e8a0 100644
--- a/module/plugins/internal/Hoster.py
+++ b/module/plugins/internal/Hoster.py
@@ -34,7 +34,7 @@ if not hasattr(__builtin__.property, "setter"):
class Hoster(Base):
__name__ = "Hoster"
__type__ = "hoster"
- __version__ = "0.53"
+ __version__ = "0.54"
__status__ = "stable"
__pattern__ = r'^unmatchable$'
@@ -140,7 +140,7 @@ class Hoster(Base):
try:
unfinished = any(fdata.get('status') == 3 for fid, fdata in pypack.getChildren().items()
- if fid is not self.pyfile.id)
+ if fid != self.pyfile.id)
if unfinished:
return
diff --git a/module/plugins/internal/SimpleHoster.py b/module/plugins/internal/SimpleHoster.py
index 5feb96aec..e5cdd5f6c 100644
--- a/module/plugins/internal/SimpleHoster.py
+++ b/module/plugins/internal/SimpleHoster.py
@@ -16,7 +16,7 @@ from module.plugins.internal.misc import (encode, parse_name, parse_size,
class SimpleHoster(Hoster):
__name__ = "SimpleHoster"
__type__ = "hoster"
- __version__ = "2.18"
+ __version__ = "2.19"
__status__ = "stable"
__pattern__ = r'^unmatchable$'
@@ -221,7 +221,7 @@ class SimpleHoster(Hoster):
if self.LEECH_HOSTER:
pattern = self.pyload.pluginManager.hosterPlugins.get(self.classname)['pattern']
- if self.__pattern__ is not pattern and re.match(self.__pattern__, self.pyfile.url) is None:
+ if self.__pattern__ != pattern and re.match(self.__pattern__, self.pyfile.url) is None:
self.leech_dl = True
if self.leech_dl:
diff --git a/module/plugins/internal/misc.py b/module/plugins/internal/misc.py
index f4491acf7..fa5a2e068 100644
--- a/module/plugins/internal/misc.py
+++ b/module/plugins/internal/misc.py
@@ -38,7 +38,7 @@ except ImportError:
class misc(object):
__name__ = "misc"
__type__ = "plugin"
- __version__ = "0.19"
+ __version__ = "0.20"
__status__ = "stable"
__pattern__ = r'^unmatchable$'
@@ -751,7 +751,7 @@ def parse_html_form(attr_str, html, input_names={}):
#: Check input attributes
for key, value in input_names.items():
if key in inputs:
- if isinstance(value, basestring) and inputs[key] is value:
+ if isinstance(value, basestring) and inputs[key] == value:
continue
elif isinstance(value, tuple) and inputs[key] in value:
continue